(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LANGUAGE>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [134 138]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LANGUAGE) op:Equal rhs:{(C)} spids:[148])]
                  spids: [148]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LANGUAGE)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 146]
        )
      ]
      spids: [16777215 157]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LANG>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [164 168]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LANG) op:Equal rhs:{(C)} spids:[178])]
                  spids: [178]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LANG)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 176]
        )
      ]
      spids: [16777215 187]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LC_ALL>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [194 198]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LC_ALL) op:Equal rhs:{(C)} spids:[208])]
                  spids: [208]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LC_ALL)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 206]
        )
      ]
      spids: [16777215 217]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LC_MESSAGES>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [224 228]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LC_MESSAGES) op:Equal rhs:{(C)} spids:[238])]
                  spids: [238]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LC_MESSAGES)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 236]
        )
      ]
      spids: [16777215 247]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LC_CTYPE>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [254 258]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LC_CTYPE) op:Equal rhs:{(C)} spids:[268])]
                  spids: [268]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LC_CTYPE)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 266]
        )
      ]
      spids: [16777215 277]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(test)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name LC_COLLATE>
                        suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(set)})
                        spids: [284 288]
                      )
                    )
                  } {(Lit_Other '=')} {(set)}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:LC_COLLATE) op:Equal rhs:{(C)} spids:[298])]
                  spids: [298]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence child:(C {(export)} {(LC_COLLATE)}) terminator:<Op_Semi ';'>)
          ]
          spids: [16777215 296]
        )
      ]
      spids: [16777215 307]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:head) op:Equal rhs:{($ VSub_Number '$1')} spids:[313])]
      spids: [313]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:caps) op:Equal rhs:{($ VSub_Number '$2')} spids:[316])]
      spids: [316]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tail) op:Equal rhs:{($ VSub_Number '$3')} spids:[319])]
      spids: [319]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {('\'\\" t\n') ('.\\" DO NOT EDIT THIS FILE BY HAND!\n') 
              ('.\\" It is generated from terminfo.head, Caps, and terminfo.tail.\n') ('.\\"\n') ('.\\" Note: this must be run through tbl before nroff.\n') 
              ('.\\" The magic cookie on the first line triggers this under some man programs.\n')
            }
          do_expansion: False
          here_end: EOF
          was_filled: T
          spids: [324]
        )
      ]
    )
    (C {(cat)} {($ VSub_Name '$head')})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:temp)
          op: Equal
          rhs: {(temp) ($ VSub_Dollar '$$')}
          spids: [334]
        )
      ]
      spids: [334]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sorted)
          op: Equal
          rhs: {(sorted) ($ VSub_Dollar '$$')}
          spids: [338]
        )
      ]
      spids: [338]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:unsorted)
          op: Equal
          rhs: {(unsorted) ($ VSub_Dollar '$$')}
          spids: [342]
        )
      ]
      spids: [342]
    )
    (C {(trap)} 
      {
        (DQ ('rm -f ') ($ VSub_Name '$sorted') (' ') ($ VSub_Name '$temp') (' ') ($ VSub_Name '$unsorted') 
          ('; exit 99')
        )
      } {(1)} {(2)} {(5)} {(15)}
    )
    (Pipeline
      children: [
        (SimpleCommand
          words: [
            {(sed)}
            {(-n)}
            {
              (DQ ('/%%-STOP-HERE-%%/q\n') ('/^#%/s/#%//p\n') ('/^#/d\n') ('s/[\t][\t]*/\t/g\n') (s/) 
                (Lit_Other '$') ('/\x05T}/\n') ('s/\t[A-Z0-9_()') (Lit_Other '\\') ('-][A-Z0-9_()') (Lit_Other '\\') ('-]*\t[0-9') 
                (Lit_Other '\\') ('-][0-9') (Lit_Other '\\') ('-]*\t[Y') (Lit_Other '\\') ('-][B') (Lit_Other '\\') ('-][C') (Lit_Other '\\') 
                ('-][G') (Lit_Other '\\') ('-][EK') (Lit_Other '\\') ('-]') (Lit_Other '\\') ('**\t/\tT{\x05/\n') 
                ('s/\tbool\t/\t/p\n') ('s/\tnum\t/\t/p\n') ('s/\tstr\t/\t/p\n')
              )
            }
          ]
          redirects: [
            (Redir
              op_id: Redir_Less
              fd: 16777215
              arg_word: {($ VSub_Name '$caps')}
              spids: [371]
            )
          ]
        )
        (C {(sed)} {(-e)} {(SQ <'s/^$/../'>)})
        (SimpleCommand
          words: [{(tr)} {(DQ (Lit_Other '\\') (134))} {(DQ (Lit_Other '\\') (006))}]
          redirects: [
            (Redir
              op_id: Redir_Great
              fd: 16777215
              arg_word: {($ VSub_Name '$unsorted')}
              spids: [432]
            )
          ]
        )
      ]
      negated: F
    )
    (C {(rm)} {(-f)} {($ VSub_Name '$sorted')})
    (C {(rm)} {(-f)} {($ VSub_Name '$temp')})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:saved) op:Equal rhs:{(no)} spids:[448])]
      spids: [448]
    )
    (While
      cond: [(C {(true)})]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:data) op:Equal rhs:{(EmptyPart)} spids:[458])]
              spids: [458]
            )
            (C {(read)} {(data)})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-z)} {(DQ ($ VSub_Name '$data'))})
                (ControlFlow token:<ControlFlow_Break break>)
              ]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$data'))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other '*') (Lit_Other '\x05') (Lit_Other '*')}]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$data'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {($ VSub_Name '$temp')}
                          spids: [506]
                        )
                      ]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:saved) op:Equal rhs:{(yes)} spids:[510])]
                      spids: [510]
                    )
                  ]
                  spids: [491 494 514 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: (C {(test)} {($ VSub_Name '$saved')} {(Lit_Other '=')} {(yes)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:saved)
                                  op: Equal
                                  rhs: {(no)}
                                  spids: [536]
                                )
                              ]
                              spids: [536]
                            )
                            (SimpleCommand
                              words: [{(sort)} {($ VSub_Name '$temp')}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: 16777215
                                  arg_word: {($ VSub_Name '$sorted')}
                                  spids: [544]
                                )
                              ]
                            )
                            (C {(rm)} {(-f)} {($ VSub_Name '$temp')})
                          ]
                          spids: [16777215 533]
                        )
                      ]
                      spids: [16777215 555]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ($ VSub_Name '$data'))}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: 16777215
                          arg_word: {($ VSub_Name '$sorted')}
                          spids: [564]
                        )
                      ]
                    )
                  ]
                  spids: [517 518 568 16777215]
                )
              ]
              spids: [479 485 571]
            )
          ]
          spids: [455 573]
        )
      redirects: [
        (Redir op_id:Redir_Less fd:16777215 arg_word:{($ VSub_Name '$unsorted')} spids:[575])
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(test)} {($ VSub_Name '$saved')} {(Lit_Other '=')} {(yes)})
        (SimpleCommand
          words: [{(sort)} {($ VSub_Name '$temp')}]
          redirects: [
            (Redir
              op_id: Redir_DGreat
              fd: 16777215
              arg_word: {($ VSub_Name '$sorted')}
              spids: [592]
            )
          ]
        )
      ]
    )
    (Pipeline
      children: [
        (C {(sed)} {(-e)} {(SQ <'s/^\\.\\.$//'>)} {($ VSub_Name '$sorted')})
        (C {(tr)} {(DQ (Lit_Other '\\') (005) (Lit_Other '\\') (006))} 
          {(DQ (Lit_Other '\\') (012) (Lit_Other '\\') (134))}
        )
      ]
      negated: F
    )
    (C {(cat)} {($ VSub_Name '$tail')})
    (C {(rm)} {(-f)} {($ VSub_Name '$sorted')} {($ VSub_Name '$temp')} {($ VSub_Name '$unsorted')})
  ]
)