(command.CommandList
  children: [
    (command.ShAssignment
      left: <Id.Lit_VarLike 'ok='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'ok='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok)
          op: assign_op.Equal
          rhs: {<0>}
        )
      ]
      redirects: []
    )
    (command.ForEach
      keyword: <Id.KW_For for>
      iter_names: [i]
      iterable: 
        (for_iter.Words
          words: [
            {<-x>}
            {<'/lib/ld.so'>}
            {<'/lib/ld-'> <Id.Lit_Star '*'> <.so>}
            {<'/usr/lib/ld.so'>}
            {<'/lib/rld'>}
            {<-f>}
            {<'/usr/shlib/libc.so'>}
            {<'/shlib/libc.so'>}
            {<'/usr/lib/libc.so'>}
            {<-r>}
            {<'/usr/shlib/libc.so'>}
            {<'/shlib/libc.so'>}
          ]
        )
      body: 
        (command.DoGroup
          left: <Id.KW_Do do>
          children: [
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: (case_arg.Word w:{($ Id.VSub_DollarName i)})
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <->
                  pattern: (pat.Words words:[{<-> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'op='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'op='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'op='> name:op)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_DollarName i)}
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Continue continue>
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {($ Id.VSub_DollarName op)} {($ Id.VSub_DollarName i)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'ok='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'ok='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow keyword:<Id.ControlFlow_Break break>)
                  ]
                  spids: [129 138]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [
                {<set>}
                {<x>}
                {($ Id.VSub_DollarName i) <.> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> 
                  <Id.Lit_Star '*'>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Simple
                          blame_tok: <test>
                          more_env: []
                          words: [{<test>} {($ Id.VSub_DollarName op)} {($ Id.VSub_Number 2)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'ok='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'ok='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ok='> name:ok)
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow keyword:<Id.ControlFlow_Break break>)
                  ]
                  spids: [162 171]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          right: <Id.KW_Done done>
        )
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [
                    {<test>}
                    {(DQ <0>)}
                    {<Id.KW_Bang '!'> <Id.Lit_Equals '='>}
                    {(DQ ($ Id.VSub_DollarName ok))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'libpath='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'libpath='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                  op: assign_op.Equal
                  rhs: {<lib> <Id.Lit_Colon ':'> <LD_LIBRARY_PATH>}
                )
              ]
              redirects: []
            )
            (command.Case
              case_kw: <Id.KW_Case case>
              to_match: 
                (case_arg.Word
                  w: 
                    {
                      (CommandSub
                        left_token: <Id.Left_Backtick '`'>
                        child: 
                          (command.Simple
                            blame_tok: <package>
                            more_env: []
                            words: [{<package>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Backtick_Right '`'>
                      )
                    }
                )
              arms_start: <Id.KW_In in>
              arms: [
                (CaseArm
                  left: <sgi.>
                  pattern: (pat.Words words:[{<sgi.> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Simple
                                  blame_tok: <test>
                                  more_env: []
                                  words: [{<test>} {<-d>} {<'/lib32'>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'libpath='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'libpath='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'libpath='>
                                      name: libpath
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'lib32:LD_LIBRARYN32_PATH:sgi.mips3|sgi.*-n32,'> 
                                        ($ Id.VSub_DollarName libpath)
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [222 231]
                        )
                      ]
                      else_action: []
                      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.Simple
                                  blame_tok: <test>
                                  more_env: []
                                  words: [{<test>} {<-d>} {<'/lib64'>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'libpath='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'libpath='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'libpath='>
                                      name: libpath
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'lib64:LD_LIBRARY64_PATH:sgi.mips[4-9]|sgi.*-64,'> 
                                        ($ Id.VSub_DollarName libpath)
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [243 252]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
                (CaseArm
                  left: <sol>
                  pattern: (pat.Words words:[{<sol> <Id.Lit_Star '*'> <.> <Id.Lit_Star '*'>}])
                  middle: <Id.Right_CasePat _>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Simple
                                  blame_tok: <test>
                                  more_env: []
                                  words: [{<test>} {<-d>} {<'/lib/32'>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'libpath='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'libpath='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'libpath='>
                                      name: libpath
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'lib/32:LD_LIBRARY_PATH_32,'> 
                                        ($ Id.VSub_DollarName libpath)
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [273 282]
                        )
                      ]
                      else_action: []
                      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.Simple
                                  blame_tok: <test>
                                  more_env: []
                                  words: [{<test>} {<-d>} {<'/lib/64'>}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'libpath='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'libpath='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'libpath='>
                                      name: libpath
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'lib/64:LD_LIBRARY_PATH_64:sol.*64*,'> 
                                        ($ Id.VSub_DollarName libpath)
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [294 303]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.Op_DSemi _>
                )
              ]
              arms_end: <Id.KW_Esac esac>
              redirects: []
            )
          ]
          spids: [184 199]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-x>} {<'/lib/dld.sl'>}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'libpath='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'libpath='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                  op: assign_op.Equal
                  rhs: {<lib> <Id.Lit_Colon ':'> <SHLIB_PATH>}
                )
              ]
              redirects: []
            )
          ]
          spids: [320 328]
        )
        (IfArm
          keyword: <Id.KW_Elif elif>
          cond: 
            (condition.Shell
              commands: [
                (command.Simple
                  blame_tok: <test>
                  more_env: []
                  words: [{<test>} {<-x>} {<'/usr/lib/dyld'>}]
                  redirects: []
                  do_fork: T
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'libpath='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'libpath='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                  op: assign_op.Equal
                  rhs: {<lib> <Id.Lit_Colon ':'> <DYLD_LIBRARY_PATH>}
                )
              ]
              redirects: []
            )
          ]
          spids: [335 343]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.Case
          case_kw: <Id.KW_Case case>
          to_match: 
            (case_arg.Word
              w: 
                {
                  (CommandSub
                    left_token: <Id.Left_Backtick '`'>
                    child: 
                      (command.Simple
                        blame_tok: <package>
                        more_env: []
                        words: [{<package>}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Backtick_Right '`'>
                  )
                }
            )
          arms_start: <Id.KW_In in>
          arms: [
            (CaseArm
              left: <ibm.>
              pattern: (pat.Words words:[{<ibm.> <Id.Lit_Star '*'>} {<mvs.> <Id.Lit_Star '*'>}])
              middle: <Id.Right_CasePat _>
              action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'libpath='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'libpath='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                      op: assign_op.Equal
                      rhs: {<lib> <Id.Lit_Colon ':'> <LIBPATH>}
                    )
                  ]
                  redirects: []
                )
              ]
              right: <Id.Op_DSemi _>
            )
            (CaseArm
              left: <Id.Lit_Star '*'>
              pattern: (pat.Words words:[{<Id.Lit_Star '*'>}])
              middle: <Id.Right_CasePat _>
              action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'libpath='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'libpath='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                      op: assign_op.Equal
                      rhs: (rhs_word__Empty)
                    )
                  ]
                  redirects: []
                )
              ]
              right: <Id.Op_DSemi _>
            )
          ]
          arms_end: <Id.KW_Esac esac>
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Case
      case_kw: <Id.KW_Case case>
      to_match: (case_arg.Word w:{($ Id.VSub_DollarName libpath)})
      arms_start: <Id.KW_In in>
      arms: [
        (CaseArm
          left: <Id.Left_SingleQuote '\''>
          pattern: (pat.Words words:[{(SQ )}])
          middle: <Id.Right_CasePat _>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'libpath='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'libpath='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libpath='> name:libpath)
                  op: assign_op.Equal
                  rhs: {<bin>}
                )
              ]
              redirects: []
            )
          ]
          right: <Id.Op_DSemi _>
        )
      ]
      arms_end: <Id.KW_Esac esac>
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [
        {<echo>}
        {
          (DQ <'#define CONF_LIBPATH\t'> 
            (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName libpath) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
          )
        }
      ]
      redirects: []
      do_fork: T
    )
  ]
)