(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:e)
          op: assign_op.Equal
          rhs: {(DQ (Id.Lit_Other '\\') ('033['))}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:vline)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:40)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (command.Simple
                            words: [{(tput)} {(smacs)}]
                            redirects: [
                              (redir.Redir
                                op: (Token id:Id.Redir_Great val:'2>' span_id:45)
                                fd: 2
                                arg_word: {(/dev/null)}
                              )
                            ]
                          )
                        terminator: (Token id:Id.Op_Semi val:';' span_id:47)
                      )
                      (command.Sentence
                        child: (C {(printf)} {(SQ (Token id:Id.Lit_Chars val:x span_id:52))})
                        terminator: (Token id:Id.Op_Semi val:';' span_id:54)
                      )
                      (command.Simple
                        words: [{(tput)} {(rmacs)}]
                        redirects: [
                          (redir.Redir
                            op: (Token id:Id.Redir_Great val:'2>' span_id:60)
                            fd: 2
                            arg_word: {(/dev/null)}
                          )
                        ]
                      )
                    ]
                  )
              )
            }
          spids: [39]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_DollarName '$vline'))} {(Id.Lit_Equals '=')} {(DQ (x))} 
          {(Id.Lit_RBracket ']')}
        )
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:vline)
              op: assign_op.Equal
              rhs: {(DQ ('|'))}
              spids: [80]
            )
          ]
        )
      ]
    )
    (C {(printf)} 
      {
        (DQ (${ Id.VSub_Name e) ('1;4mf') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:96)
          ) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\\\' span_id:97)) (b) 
          (${ Id.VSub_Name e) (0m) (${ Id.VSub_Name e) ('4m none  white    black     red     ') 
          ('green    yellow   blue    magenta    cyan  ') (${ Id.VSub_Name e) (0m) 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\\\' span_id:113)
          ) (n)
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:rows)
          op: assign_op.Equal
          rhs: {(SQ (Token id:Id.Lit_Chars val:brgybmcw span_id:120))}
          spids: [118]
        )
      ]
    )
    (command.ForEach
      iter_name: f
      iter_words: [
        {(0)}
        {(7)}
        {
          (command_sub
            left_token: (Token id:Id.Left_Backtick val:'`' span_id:134)
            command_list: (command.CommandList children:[(C {(seq)} {(6)})])
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:no)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [146]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:149)
            )
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:bo)
                      op: assign_op.Equal
                      rhs: {(DQ )}
                      spids: [151]
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:154)
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:p)
                  op: assign_op.Equal
                  rhs: {(DQ )}
                  spids: [156]
                )
              ]
            )
            (command.ForEach
              iter_name: b
              iter_words: [
                {(n)}
                {(7)}
                {(0)}
                {
                  (command_sub
                    left_token: (Token id:Id.Left_Backtick val:'`' span_id:173)
                    command_list: (command.CommandList children:[(C {(seq)} {(6)})])
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:co)
                              op: assign_op.Equal
                              rhs: {(DQ (3) ($ Id.VSub_DollarName '$f'))}
                              spids: [185]
                            )
                          ]
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:190)
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$b')} {(Id.Lit_Equals '=')} 
                          {(n)} {(Id.Lit_RBracket ']')}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name name:co)
                              op: assign_op.Equal
                              rhs: 
                                {(DQ ($ Id.VSub_DollarName '$co') (';4') ($ Id.VSub_DollarName '$b'))}
                              spids: [204]
                            )
                          ]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:no)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name no) (${ Id.VSub_Name e) (${ Id.VSub_Name co) ('m  ') 
                                (${ Id.VSub_Name p) (${ Id.VSub_Name co) (' ') (${ Id.VSub_Name e) (0m)
                              )
                            }
                          spids: [212]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:bo)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name bo) (${ Id.VSub_Name e) ('1;') (${ Id.VSub_Name co) 
                                (m) (${ Id.VSub_Name p) ('1;') (${ Id.VSub_Name co) (' ') (${ Id.VSub_Name e) (0m)
                              )
                            }
                          spids: [238]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:p)
                          op: assign_op.Equal
                          rhs: {(DQ (' '))}
                          spids: [266]
                        )
                      ]
                    )
                  ]
                )
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:fc)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:276)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(echo)} {($ Id.VSub_DollarName '$rows')})
                                  (C {(cut)} 
                                    {(-c) 
                                      (word_part.ArithSub
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: 
                                              (arith_expr.VarRef
                                                token: 
                                                  (Token
                                                    id: Id.Lit_ArithVarLike
                                                    val: f
                                                    span_id: 287
                                                  )
                                              )
                                            right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
                                          )
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [275]
                )
              ]
            )
            (C {(printf)} 
              {
                (DQ ($ Id.VSub_DollarName '$fc') (' ') ($ Id.VSub_DollarName '$vline') 
                  ($ Id.VSub_DollarName '$no') (Id.Lit_Other '\\') (nb) ($ Id.VSub_DollarName '$fc') ($ Id.VSub_DollarName '$vline') 
                  ($ Id.VSub_DollarName '$bo') (Id.Lit_Other '\\') (n)
                )
              }
            )
          ]
        )
    )
  ]
)