(command.CommandList
  children: [
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:BLOCK_SIZE)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (word_part.EscapedLiteral
                        token: (Token id:Id.Lit_EscapedChar val:"\\'" span_id:55)
                      ) (1)
                    }
                  spids: [54]
                )
              ]
            )
          terminator: (Token id:Id.Op_Semi val:';' span_id:57)
        )
        (C {(export)} {(BLOCK_SIZE)})
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:TIME_STYLE)
          op: assign_op.Equal
          rhs: 
            {
              (SQ (Token id:Id.Lit_Chars val:'+%b %e  %Y\n' span_id:81) 
                (Token id:Id.Lit_Chars val:'%b %e %H:%M' span_id:82)
              )
            }
          spids: [79]
        )
      ]
    )
    (C {(export)} {(TIME_STYLE)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C {(echo)} {(DQ ($ Id.VSub_DollarName '$LANG'))})
                    (command.Simple
                      words: [{(grep)} {(-i)} {(DQ ('utf-*8') (Id.Lit_Other '$'))}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:112)
                          fd: -1
                          arg_word: {(/dev/null)}
                        )
                      ]
                    )
                  ]
                  negated: F
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:114)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:SYM_ARROW)
                  op: assign_op.Equal
                  rhs: {(DQ ('\xe2\x96\xaa\xe2\x96\xb6'))}
                  spids: [119]
                )
              ]
            )
          ]
          spids: [93 116]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:SYM_ARROW)
              op: assign_op.Equal
              rhs: {(DQ ('->'))}
              spids: [127]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ESC)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:136)
                command_list: 
                  (command.CommandList
                    children: [(C {(printf)} {(SQ (Token id:Id.Lit_Chars val:'\\033' span_id:144))})]
                  )
              )
            }
          spids: [135]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [{(tput)} {(setaf)} {(1)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:162)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:165)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                      ]
                      negated: T
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          words: [{(tput)} {(AF)} {(1)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:178)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:181)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                      ]
                      negated: T
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:183)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:color_when)
                  op: assign_op.Equal
                  rhs: (word.Empty)
                  spids: [188]
                )
              ]
            )
          ]
          spids: [152 185]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(test)} {(-t)} {(1)})
                    (command.Pipeline
                      children: [
                        (C {(echo)} {(DQ ($ Id.VSub_Star '$*'))})
                        (command.Simple
                          words: [
                            {(grep)}
                            {(-E)}
                            {(--)}
                            {(DQ ('--color( |=always|') (Id.Lit_Other '$') (')'))}
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:223)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:225)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:color_when)
                  op: assign_op.Equal
                  rhs: {(always)}
                  spids: [238]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          words: [{(tput)} {(bold)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:248)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:251)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:253)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:BLD)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:262)
                                command_list: (command.CommandList children:[(C {(tput)} {(bold)})])
                              )
                            }
                          spids: [261]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RST)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:272)
                                command_list: (command.CommandList children:[(C {(tput)} {(sgr0)})])
                              )
                            }
                          spids: [271]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:HLI)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:282)
                                command_list: (command.CommandList children:[(C {(tput)} {(smso)})])
                              )
                            }
                          spids: [281]
                        )
                      ]
                    )
                  ]
                  spids: [242 255]
                )
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          words: [{(tput)} {(md)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:297)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:300)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:302)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:BLD)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:311)
                                command_list: (command.CommandList children:[(C {(tput)} {(md)})])
                              )
                            }
                          spids: [310]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:RST)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:321)
                                command_list: (command.CommandList children:[(C {(tput)} {(me)})])
                              )
                            }
                          spids: [320]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:HLI)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:331)
                                command_list: (command.CommandList children:[(C {(tput)} {(so)})])
                              )
                            }
                          spids: [330]
                        )
                      ]
                    )
                  ]
                  spids: [291 304]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:LS_HLI)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:344)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(echo)} {(DQ ($ Id.VSub_DollarName '$HLI'))})
                                  (C {(sed)} 
                                    {
                                      (DQ (s/) ($ Id.VSub_DollarName '$ESC') (Id.Lit_Other '\\') ('[') 
                                        (Id.Lit_Other '\\') ('(.*') (Id.Lit_Other '\\') (')m/') (Id.Lit_Other '\\') (1/)
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [343]
                )
              ]
            )
          ]
          spids: [193 227]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:color_when)
              op: assign_op.Equal
              rhs: {(auto)}
              spids: [382]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:ls) op:assign_op.Equal rhs:{(ls)} spids:[388])]
    )
    (command.AndOr
      ops: [Id.Op_DPipe Id.Op_DPipe]
      children: [
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{(ls)} {(--color)} {(-d)} {(.)}]
                  redirects: [
                    (redir.Redir
                      op: (Token id:Id.Redir_Great val:'>' span_id:404)
                      fd: -1
                      arg_word: {(/dev/null)}
                    )
                    (redir.Redir
                      op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:407)
                      fd: 2
                      arg_word: {(1)}
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:409)
            )
          ]
        )
        (command.BraceGroup
          children: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (command.Simple
                      words: [{(gls)} {(--color)} {(-d)} {(.)}]
                      redirects: [
                        (redir.Redir
                          op: (Token id:Id.Redir_Great val:'>' span_id:425)
                          fd: -1
                          arg_word: {(/dev/null)}
                        )
                        (redir.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:428)
                          fd: 2
                          arg_word: {(1)}
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:ls)
                          op: assign_op.Equal
                          rhs: {(gls)}
                          spids: [433]
                        )
                      ]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:435)
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:NONGNU)
              op: assign_op.Equal
              rhs: {(1)}
              spids: [441]
            )
          ]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$color_when'))} 
                  {(Id.Lit_RBracket ']')}
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:454)
            )
          ]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$NONGNU'))} 
                          {(Id.Lit_RBracket ']')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:468)
                    )
                  ]
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: (C {(colorls)} {(-d)} {(.)})
                              terminator: (Token id:Id.Op_Semi val:';' span_id:480)
                            )
                          ]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:484)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:487)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:ls)
                              op: assign_op.Equal
                              rhs: {(colorls)}
                              spids: [492]
                            )
                          ]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (command.Simple
                          words: [{($ Id.VSub_DollarName '$ls')} {(-G)} {(-d)} {(.)}]
                          redirects: [
                            (redir.Redir
                              op: (Token id:Id.Redir_Great val:'>' span_id:507)
                              fd: -1
                              arg_word: {(/dev/null)}
                            )
                            (redir.Redir
                              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:510)
                              fd: 2
                              arg_word: {(1)}
                            )
                          ]
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:color_opt)
                              op: assign_op.Equal
                              rhs: {(-G)}
                              spids: [515]
                            )
                          ]
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$color_when'))} 
                          {(Id.Lit_Equals '=')} {(DQ (always))} {(Id.Lit_RBracket ']')}
                        )
                        (command.BraceGroup
                          children: [
                            (command.Sentence
                              child: 
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: (sh_lhs_expr.Name name:CLICOLOR_FORCE)
                                      op: assign_op.Equal
                                      rhs: {(1)}
                                      spids: [540]
                                    )
                                  ]
                                )
                              terminator: (Token id:Id.Op_Semi val:';' span_id:542)
                            )
                            (command.Sentence
                              child: (C {(export)} {(CLICOLOR_FORCE)})
                              terminator: (Token id:Id.Op_Semi val:';' span_id:547)
                            )
                          ]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:color_when)
                          op: assign_op.Equal
                          rhs: (word.Empty)
                          spids: [552]
                        )
                      ]
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:LSCOLORS)
                              op: assign_op.Equal
                              rhs: {(DQ (ExGxcxdxCxegedCxCxExEx))}
                              spids: [568]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:572)
                    )
                    (C {(export)} {(LSCOLORS)})
                  ]
                  spids: [459 470]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:color_opt)
                      op: assign_op.Equal
                      rhs: {(SQ (Token id:Id.Lit_Chars val:'--color=' span_id:584))}
                      spids: [582]
                    )
                  ]
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:color_never)
                      op: assign_op.Equal
                      rhs: {(DQ ('--color=never'))}
                      spids: [588]
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$LS_COLORS'))} 
                      {(Id.Lit_RBracket ']')}
                    )
                    (C {(eval)} 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_Backtick val:'`' span_id:610)
                          command_list: (command.CommandList children:[(C {(dircolors)})])
                        )
                      }
                    )
                  ]
                )
                (command.AndOr
                  ops: [Id.Op_DPipe]
                  children: [
                    (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$LS_COLORS'))} 
                      {(Id.Lit_RBracket ']')}
                    )
                    (C {(eval)} 
                      {
                        (command_sub
                          left_token: (Token id:Id.Left_Backtick val:'`' span_id:633)
                          command_list: 
                            (command.CommandList
                              children: [
                                (command.Simple
                                  words: [{(dircolors)}]
                                  more_env: [(env_pair name:TERM val:{(xterm)} spids:[636])]
                                )
                              ]
                            )
                        )
                      }
                    )
                  ]
                )
                (command.Sentence
                  child: 
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:LS_COLORS)
                          op: assign_op.Equal
                          rhs: {(DQ (':') ($ Id.VSub_DollarName '$LS_COLORS') (':'))}
                          spids: [697]
                        )
                      ]
                    )
                  terminator: (Token id:Id.Op_Semi val:';' span_id:703)
                )
                (C {(export)} {(LS_COLORS)})
                (command.If
                  arms: [
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(dircolors)})
                                (command.Simple
                                  words: [{(grep)} {(-F)} {(DQ (':mh='))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:733)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:735)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hl_no_color)
                              op: assign_op.Equal
                              rhs: {(DQ ('s/:hl=[^:]*:/:mh=:/; s/:mh=[^:]*:/:mh=:/'))}
                              spids: [740]
                            )
                          ]
                        )
                      ]
                      spids: [719 737]
                    )
                    (if_arm
                      cond: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (C {(dircolors)})
                                (command.Simple
                                  words: [{(grep)} {(-F)} {(DQ ('hl='))}]
                                  redirects: [
                                    (redir.Redir
                                      op: (Token id:Id.Redir_Great val:'>' span_id:760)
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                              negated: F
                            )
                          terminator: (Token id:Id.Op_Semi val:';' span_id:762)
                        )
                      ]
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:hl_no_color)
                              op: assign_op.Equal
                              rhs: {(DQ ('s/:mh=[^:]*:/:hl=:/; s/:hl=[^:]*:/:hl=:/'))}
                              spids: [767]
                            )
                          ]
                        )
                      ]
                      spids: [746 764]
                    )
                  ]
                )
                (C {(eval)} 
                  {
                    (DQ 
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:796)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(echo)} 
                                    {(Id.Lit_VarLike 'LS_COLORS=') 
                                      (word_part.EscapedLiteral
                                        token: (Token id:Id.Lit_EscapedChar val:"\\'" span_id:838)
                                      ) (DQ ($ Id.VSub_DollarName '$LS_COLORS')) 
                                      (word_part.EscapedLiteral
                                        token: (Token id:Id.Lit_EscapedChar val:"\\'" span_id:842)
                                      ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\;' span_id:843))
                                    }
                                  )
                                  (C {(sed)} 
                                    {
                                      (DQ ('\n') ('        ') ($ Id.VSub_DollarName '$hl_no_color') 
                                        ('\n') ('        s/:su=[^:]*:/:su=:/\n') ('        s/:sg=[^:]*:/:sg=:/\n') ('        s/:ow=[^:]*:/:ow=:/\n') 
                                        ('        s/:st=[^:]*:/:st=:/\n') ('        s/:tw=[^:]*:/:tw=:/\n') ('\n') ('        s/:ca=[^:]*:/:ca=:/\n') ('\n') ('        s/:mi=[^:]') 
                                        (Id.Lit_Other '\\') ('{1,') (Id.Lit_Other '\\') ('}:/:mi=') ($ Id.VSub_DollarName '$LS_HLI') (':/\n') ('      ')
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                              (C {(echo)} 
                                {(SQ (Token id:Id.Lit_Chars val:'export LS_COLORS' span_id:879))}
                              )
                            ]
                          )
                      )
                    )
                  }
                )
              ]
            )
          ]
          spids: [445 456]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:total)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:895)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {($ Id.VSub_DollarName '$ls')} {(-s)} 
                            {($ Id.VSub_DollarName '$color_never')} {(/)}
                          )
                          (C {(sed)} 
                            {(SQ (Token id:Id.Lit_Chars val:'s/\\([^ ]*\\).*/\\1/;q' span_id:917))}
                          )
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [894]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Simple
          words: [{($ Id.VSub_DollarName '$ls')} {(--group-directories-first)} {(-d)} {(.)}]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:933)
              fd: -1
              arg_word: {(/dev/null)}
            )
            (redir.Redir
              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:936)
              fd: 2
              arg_word: {(1)}
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:gdf)
              op: assign_op.Equal
              rhs: {(--group-directories)}
              spids: [941]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Simple
          words: [{($ Id.VSub_DollarName '$ls')} {(--no-group)} {(-d)} {(.)}]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:952)
              fd: -1
              arg_word: {(/dev/null)}
            )
            (redir.Redir
              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:955)
              fd: 2
              arg_word: {(1)}
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:ng)
              op: assign_op.Equal
              rhs: {(--no-group)}
              spids: [960]
            )
          ]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Simple
          words: [
            {($ Id.VSub_DollarName '$ls')}
            {(--quoting) (Id.Lit_Equals '=') (shell-escape)}
            {(-d)}
            {(.)}
          ]
          redirects: [
            (redir.Redir
              op: (Token id:Id.Redir_Great val:'>' span_id:973)
              fd: -1
              arg_word: {(/dev/null)}
            )
            (redir.Redir
              op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:976)
              fd: 2
              arg_word: {(1)}
            )
          ]
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:quote)
              op: assign_op.Equal
              rhs: {(--quoting) (Id.Lit_Equals '=') (shell-escape)}
              spids: [981]
            )
          ]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:lfmt)
          op: assign_op.Equal
          rhs: {(lfmt)}
          spids: [993]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (command.Pipeline
          children: [
            (C {(echo)} {(DQ ($ Id.VSub_Star '$*'))})
            (command.Simple
              words: [{(grep)} {(-E)} {(--)} {(DQ ('-(m|i|x|s|C|-version|-help)'))}]
              redirects: [
                (redir.Redir
                  op: (Token id:Id.Redir_Great val:'>' span_id:1014)
                  fd: -1
                  arg_word: {(/dev/null)}
                )
              ]
            )
          ]
          negated: F
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:lfmt)
              op: assign_op.Equal
              rhs: {(DQ )}
              spids: [1019]
            )
          ]
        )
      ]
    )
    (command.Simple
      words: [{(exec)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_GreatAnd val:'4>&' span_id:1036)
          fd: 4
          arg_word: {(1)}
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ls_status)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_Backtick val:'`' span_id:1040)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.BraceGroup
                        children: [
                          (command.Sentence
                            child: 
                              (command.Pipeline
                                children: [
                                  (command.BraceGroup
                                    children: [
                                      (command.Sentence
                                        child: 
                                          (C {($ Id.VSub_DollarName '$ls')} {(-lrtq)} 
                                            {($ Id.VSub_DollarName '$color_opt') 
                                              ($ Id.VSub_DollarName '$color_when')
                                            } {($ Id.VSub_DollarName '$ng')} {($ Id.VSub_DollarName '$gdf')} {($ Id.VSub_DollarName '$quote')} 
                                            {(DQ ($ Id.VSub_At '$@'))}
                                          )
                                        terminator: (Token id:Id.Op_Semi val:';' span_id:1278)
                                      )
                                      (command.Sentence
                                        child: 
                                          (command.Simple
                                            words: [{(printf)} {($ Id.VSub_QMark '$?')}]
                                            redirects: [
                                              (redir.Redir
                                                op: 
                                                  (Token
                                                    id: Id.Redir_GreatAnd
                                                    val: '1>&'
                                                    span_id: 1284
                                                  )
                                                fd: 1
                                                arg_word: {(3)}
                                              )
                                            ]
                                          )
                                        terminator: (Token id:Id.Op_Semi val:';' span_id:1286)
                                      )
                                    ]
                                  )
                                  (command.Simple
                                    words: [
                                      {(sed)}
                                      {
                                        (DQ ('\n') ('  # Remove total line(s) I never use\n') ('  /') 
                                          ($ Id.VSub_DollarName '$total') (' [0-9,. ]') (Id.Lit_Other '\\') ('{1,') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '$') ('/d\n') ('\n') 
                                          ('  # prettify symlink arrows\n') ('  s/ -> / ') ($ Id.VSub_DollarName '$BLD') ($ Id.VSub_DollarName '$SYM_ARROW') 
                                          ($ Id.VSub_DollarName '$RST') (' /\n') ('\n') ('  # Conditionally process long format output\n') ('  b ') 
                                          ($ Id.VSub_DollarName '$lfmt') ('\n') ('  :lfmt\n') ('\n') ('  # Ignore directory name headings\n') ('  /^[^ ]') (Id.Lit_Other '\\') 
                                          ('{1,') (Id.Lit_Other '\\') ('}:') (Id.Lit_Other '$') ('/b\n') ('\n') 
                                          ('  # temporarily shrink any prepended reset codes\n') ("  # from older ls' to a single char\n") ('  s/^') ($ Id.VSub_DollarName '$ESC') (Id.Lit_Other '\\') 
                                          ('[0*m/0/\n') ('\n') ('  # highlight ug+s indicators\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') 
                                          ('{0,1') (Id.Lit_Other '\\') ('}.') (Id.Lit_Other '\\') ('{3') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')') 
                                          (Id.Lit_Other '\\') ('([sS]') (Id.Lit_Other '\\') (')/') (Id.Lit_Other '\\') (1) ($ Id.VSub_DollarName '$HLI') 
                                          (Id.Lit_Other '\\') (2) ($ Id.VSub_DollarName '$RST') ('/\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') 
                                          (Id.Lit_Other '\\') ('}.') (Id.Lit_Other '\\') ('{6') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') 
                                          ('([sS]') (Id.Lit_Other '\\') (')/') (Id.Lit_Other '\\') (1) ($ Id.VSub_DollarName '$HLI') (Id.Lit_Other '\\') (2) 
                                          ($ Id.VSub_DollarName '$RST') ('/\n') ('\n') ('  # highlight +t o+w indicators for directories\n') ('  /^0') (Id.Lit_Other '\\') 
                                          ('{0,1') (Id.Lit_Other '\\') ('}d/!b not_dir\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') 
                                          (Id.Lit_Other '\\') ('}.') (Id.Lit_Other '\\') ('{9') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') 
                                          ('([tT]') (Id.Lit_Other '\\') (')/') (Id.Lit_Other '\\') (1) ($ Id.VSub_DollarName '$HLI') (Id.Lit_Other '\\') (2) 
                                          ($ Id.VSub_DollarName '$RST') ('/\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') (Id.Lit_Other '\\') ('}.') 
                                          (Id.Lit_Other '\\') ('{8') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')w/') (Id.Lit_Other '\\') (1) (${ Id.VSub_Name HLI) 
                                          (w) ($ Id.VSub_DollarName '$RST') ('/\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') 
                                          (Id.Lit_Other '\\') ('}.') (Id.Lit_Other '\\') ('{3') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') 
                                          ('([sS]') (Id.Lit_Other '\\') (')/') (Id.Lit_Other '\\') (1) ($ Id.VSub_DollarName '$HLI') (Id.Lit_Other '\\') (2) 
                                          ($ Id.VSub_DollarName '$RST') ('/\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') (Id.Lit_Other '\\') ('}.') 
                                          (Id.Lit_Other '\\') ('{6') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') ('([sS]') (Id.Lit_Other '\\') 
                                          (')/') (Id.Lit_Other '\\') (1) ($ Id.VSub_DollarName '$HLI') (Id.Lit_Other '\\') (2) 
                                          ($ Id.VSub_DollarName '$RST') ('/\n') ('  :not_dir\n') ('\n') ('  # highlight multiply linked files\n') ('  /^0') (Id.Lit_Other '\\') 
                                          ('{0,1') (Id.Lit_Other '\\') ('}[^d]') (Id.Lit_Other '\\') ('{10,') (Id.Lit_Other '\\') ('}/!b not_hl\n') 
                                          ('  /^[^ ]* *1 /b not_hl\n') ('  s/^') (Id.Lit_Other '\\') ('(0') (Id.Lit_Other '\\') ('{0,1') (Id.Lit_Other '\\') ('}[^ ]*') 
                                          (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') ('( *') (Id.Lit_Other '\\') (')') (Id.Lit_Other '\\') ('([0-9]') 
                                          (Id.Lit_Other '\\') ('{1,') (Id.Lit_Other '\\') ('}') (Id.Lit_Other '\\') (')/') (Id.Lit_Other '\\') (1) (Id.Lit_Other '\\') (2) 
                                          ($ Id.VSub_DollarName '$HLI') (Id.Lit_Other '\\') (3) ($ Id.VSub_DollarName '$RST') ('/\n') ('  :not_hl\n') ('\n') 
                                          ('  # restore any reset codes replaced above\n') ('  s/^0/') (${ Id.VSub_Name ESC) ('[0m/\n')
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (redir.Redir
                                        op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:1542)
                                        fd: 1
                                        arg_word: {(4)}
                                      )
                                    ]
                                  )
                                ]
                                negated: F
                              )
                            terminator: (Token id:Id.Op_Semi val:';' span_id:1544)
                          )
                        ]
                        redirects: [
                          (redir.Redir
                            op: (Token id:Id.Redir_GreatAnd val:'3>&' span_id:1548)
                            fd: 3
                            arg_word: {(1)}
                          )
                        ]
                      )
                    ]
                  )
              )
            }
          spids: [1039]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sed_status)
          op: assign_op.Equal
          rhs: {($ Id.VSub_QMark '$?')}
          spids: [1553]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp Id.Op_DPipe]
      children: [
        (C {(test)} {($ Id.VSub_DollarName '$ls_status')} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(0)})
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:1583)
          arg_word: {($ Id.VSub_DollarName '$ls_status')}
        )
        (command.ControlFlow
          token: (Token id:Id.ControlFlow_Exit val:exit span_id:1589)
          arg_word: {($ Id.VSub_DollarName '$sed_status')}
        )
      ]
    )
  ]
)