(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SCRIPT_DIR)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:53)
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (C {(cd)} 
                              {
                                (DQ 
                                  (command_sub
                                    left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:57)
                                    command_list: 
                                      (command.CommandList
                                        children: [
                                          (C {(dirname)} 
                                            {
                                              (DQ 
                                                (braced_var_sub
                                                  token: 
                                                    (Token
                                                      id: Id.VSub_Name
                                                      val: BASH_SOURCE
                                                      span_id: 62
                                                    )
                                                  bracket_op: 
                                                    (bracket_op.ArrayIndex
                                                      expr: 
                                                        (arith_expr.ArithWord
                                                          w: {(Id.Lit_Digits 0)}
                                                        )
                                                    )
                                                )
                                              )
                                            }
                                          )
                                        ]
                                      )
                                  )
                                )
                              }
                            )
                            (C {(pwd)})
                          ]
                        )
                      ]
                    )
                )
              )
            }
          spids: [51]
        )
      ]
    )
    (C {(source)} {(DQ (${ Id.VSub_Name SCRIPT_DIR) (/build_helper.subr))})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:JOB_COUNT)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:JOB_COUNT span_id:89)
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: 
                        {
                          (command_sub
                            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:91)
                            command_list: (command.CommandList children:[(C {(get_job_count)})])
                          )
                        }
                    )
                )
              )
            }
          spids: [86]
        )
      ]
    )
    (command.ShFunction
      name: less_than_required_version
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {(echo)} {($ Id.VSub_Number '$1')})
                (command.Subshell
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.Simple
                          words: [{(read)} {(-r)} {(major)} {(minor)} {(micro)}]
                          more_env: [(env_pair name:IFS val:{(.)} spids:[114])]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$major')} {(-ne)} 
                                      {($ Id.VSub_Number '$2')} {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:139)
                                )
                              ]
                              action: [
                                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$major')} {(-lt)} 
                                  {($ Id.VSub_Number '$2')} {(Id.Lit_RBracket ']')}
                                )
                              ]
                              spids: [128 141]
                            )
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$minor')} {(-ne)} 
                                      {($ Id.VSub_Number '$3')} {(Id.Lit_RBracket ']')}
                                    )
                                  terminator: (Token id:Id.Op_Semi val:';' span_id:166)
                                )
                              ]
                              action: [
                                (C {(Id.Lit_LBracket '[')} {($ Id.VSub_DollarName '$minor')} {(-lt)} 
                                  {($ Id.VSub_Number '$3')} {(Id.Lit_RBracket ']')}
                                )
                              ]
                              spids: [155 168]
                            )
                          ]
                          else_action: [
                            (C {(Id.Lit_LBracket '[')} 
                              {
                                (braced_var_sub
                                  token: (Token id:Id.VSub_Name val:micro span_id:188)
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op_id: Id.VTest_ColonHyphen
                                      arg_word: {(0)}
                                    )
                                )
                              } {(-lt)} {($ Id.VSub_Number '$4')} {(Id.Lit_RBracket ']')}
                            )
                          ]
                        )
                      ]
                    )
                )
              ]
              negated: F
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: (bool_expr.Unary op_id:Id.BoolUnary_n child:{(MACOSX_DEPLOYMENT_TARGET)})
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:217)
            )
          ]
          action: [
            (C {(export)} 
              {(Id.Lit_VarLike 'MACOSX_DEPLOYMENT_TARGET=') 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:225)
                  command_list: (command.CommandList children:[(C {(sw_vers)} {(-productVersion)})])
                )
              }
            )
          ]
          spids: [208 219]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:ACTUAL_XCODE_VERSION)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:235)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.Pipeline
                        children: [
                          (C {(xcodebuild)} {(-version)})
                          (C {(head)} {(-n)} {(1)})
                          (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s/Xcode //' span_id:253))})
                        ]
                        negated: F
                      )
                    ]
                  )
              )
            }
          spids: [234]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:REQUIRED_XCODE_VERSION)
          op: assign_op.Equal
          rhs: {(7.3.0)}
          spids: [257]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (C {(less_than_required_version)} {($ Id.VSub_DollarName '$ACTUAL_XCODE_VERSION')} {(7)} 
              {(3)} {(0)}
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('error: Xcode ') (${ Id.VSub_Name REQUIRED_XCODE_VERSION) 
                  (' or later is required.')
                )
              }
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:286)
              arg_word: {(1)}
            )
          ]
          spids: [260 272]
        )
      ]
    )
    (command.ShFunction
      name: usage
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Usage: ') 
                  (command_sub
                    left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:304)
                    command_list: 
                      (command.CommandList
                        children: [(C {(basename)} {(DQ ($ Id.VSub_Number '$0'))})]
                      )
                  ) (' [-a]')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ 
                  (
'-a [build_arch] build for specified arch comma separate for multiple archs (eg: x86_64,arm64)'
                  )
                )
              }
            )
            (C {(echo)} {(DQ ('default is [i386, x86_64, armv7, armv7s, arm64]'))})
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:329)
              arg_word: {(1)}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUILD_TARGET)
          op: assign_op.Equal
          rhs: {(DQ ('i386 x86_64 armv7 armv7s arm64'))}
          spids: [336]
        )
      ]
    )
    (command.WhileUntil
      keyword: (Token id:Id.KW_While val:while span_id:341)
      cond: [
        (command.Sentence
          child: (C {(getopts)} {(DQ ('a:f:h:n:'))} {(opt_name)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:350)
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_DollarName '$opt_name'))}
              arms: [
                (case_arm
                  pat_list: [{(a)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:BUILD_TARGET)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                          spids: [367]
                        )
                      ]
                    )
                  ]
                  spids: [364 365 373 -1]
                )
                (case_arm
                  pat_list: [{(f)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:BUILD_OPT)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                          spids: [379]
                        )
                      ]
                    )
                  ]
                  spids: [376 377 385 -1]
                )
                (case_arm
                  pat_list: [{(h)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:NSYNC_HOST)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                          spids: [391]
                        )
                      ]
                    )
                  ]
                  spids: [388 389 397 -1]
                )
                (case_arm
                  pat_list: [{(n)}]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:NSYNC_TARGET)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name OPTARG))}
                          spids: [403]
                        )
                      ]
                    )
                  ]
                  spids: [400 401 409 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [(C {(usage)})]
                  spids: [412 413 416 -1]
                )
              ]
            )
          ]
        )
    )
    (C {(shift)} 
      {
        (word_part.ArithSub
          anode: 
            (arith_expr.Binary
              op_id: Id.Arith_Minus
              left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:OPTIND span_id:426))
              right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)})
            )
        )
      }
    )
    (command.Simple
      words: [{(read)} {(-r)} {(-a)} {(build_targets)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_TLess val:'<<<' span_id:448)
          fd: -1
          arg_word: {(DQ (${ Id.VSub_Name BUILD_TARGET))}
        )
      ]
      more_env: [
        (env_pair
          name: IFS
          val: {(SQ (Token id:Id.Lit_Chars val:' ' span_id:437))}
          spids: [435]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:SCRIPT_DIR)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:458)
                command_list: 
                  (command.CommandList
                    children: [
                      (command.AndOr
                        ops: [Id.Op_DAmp]
                        children: [
                          (C {(cd)} 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_Backtick val:'`' span_id:461)
                                command_list: 
                                  (command.CommandList
                                    children: [(C {(dirname)} {($ Id.VSub_Number '$0')})]
                                  )
                              )
                            }
                          )
                          (C {(pwd)})
                        ]
                      )
                    ]
                  )
              )
            }
          spids: [457]
        )
      ]
    )
    (C {(source)} {(DQ (${ Id.VSub_Name SCRIPT_DIR) (/build_helper.subr))})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENDIR)
          op: assign_op.Equal
          rhs: {(tensorflow/contrib/makefile/gen/)}
          spids: [485]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LIBDIR)
          op: assign_op.Equal
          rhs: {(${ Id.VSub_Name GENDIR) (lib)}
          spids: [488]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:LIB_PREFIX)
          op: assign_op.Equal
          rhs: {(libtensorflow-core)}
          spids: [494]
        )
      ]
    )
    (C {(rm)} {(-rf)} {(${ Id.VSub_Name LIBDIR) (/) (${ Id.VSub_Name LIB_PREFIX) (.a)})
    (command.ShFunction
      name: package_tf_library
      body: 
        (command.BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:CAP_DIR)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: (Token id:Id.Left_Backtick val:'`' span_id:523)
                        command_list: 
                          (command.CommandList
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {(echo)} {($ Id.VSub_Number '$1')})
                                  (C {(tr)} {(SQ (Token id:Id.Lit_Chars val:a-z span_id:535))} 
                                    {(SQ (Token id:Id.Lit_Chars val:A-Z span_id:539))}
                                  )
                                ]
                                negated: F
                              )
                            ]
                          )
                      )
                    }
                  spids: [522]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:tf_libs)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ (${ Id.VSub_Name LIBDIR) (/ios_) (${ Id.VSub_Name CAP_DIR) (/) 
                        (${ Id.VSub_Name LIB_PREFIX) (-) (${ Id.VSub_Number 1) (.a)
                      )
                    }
                  spids: [544]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Id.Lit_LBracket '[')} {(-f)} 
                          {(DQ (${ Id.VSub_Name LIBDIR) (/) (${ Id.VSub_Name LIB_PREFIX) (.a))} {(Id.Lit_RBracket ']')}
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:583)
                    )
                  ]
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:tf_libs)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName '$tf_libs') (' ') (${ Id.VSub_Name LIBDIR) (/) 
                                (${ Id.VSub_Name LIB_PREFIX) (.a)
                              )
                            }
                          spids: [588]
                        )
                      ]
                    )
                  ]
                  spids: [565 585]
                )
              ]
            )
            (C {(lipo)} {($ Id.VSub_DollarName '$tf_libs')} {(-create)} {(-output)} 
              {(${ Id.VSub_Name LIBDIR) (/) (${ Id.VSub_Name LIB_PREFIX) (.a)}
            )
          ]
        )
    )
    (command.ShFunction
      name: build_tf_target
      body: 
        (command.BraceGroup
          children: [
            (command.Case
              to_match: {(DQ ($ Id.VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(armv7)}]
                  action: [
                    (C {(make)} {(-j) (DQ (${ Id.VSub_Name JOB_COUNT))} {(-f)} 
                      {(tensorflow/contrib/makefile/Makefile)} {(Id.Lit_VarLike 'TARGET=') (IOS)} {(Id.Lit_VarLike 'IOS_ARCH=') (ARMV7)} 
                      {(Id.Lit_VarLike 'LIB_NAME=') (${ Id.VSub_Name LIB_PREFIX) (-armv7.a)} {(Id.Lit_VarLike 'OPTFLAGS=') (DQ (${ Id.VSub_Name BUILD_OPT))} 
                      {(Id.Lit_VarLike 'HOST_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_HOST))} {(Id.Lit_VarLike 'TARGET_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_TARGET))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ('armv7 compilation failed.'))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:727)
                              arg_word: {(1)}
                            )
                          ]
                          spids: [704 717]
                        )
                      ]
                    )
                    (C {(package_tf_library)} {(DQ (armv7))})
                  ]
                  spids: [647 648 742 -1]
                )
                (case_arm
                  pat_list: [{(armv7s)}]
                  action: [
                    (C {(make)} {(-j) (DQ (${ Id.VSub_Name JOB_COUNT))} {(-f)} 
                      {(tensorflow/contrib/makefile/Makefile)} {(Id.Lit_VarLike 'TARGET=') (IOS)} {(Id.Lit_VarLike 'IOS_ARCH=') (ARMV7S)} 
                      {(Id.Lit_VarLike 'LIB_NAME=') (${ Id.VSub_Name LIB_PREFIX) (-armv7s.a)} {(Id.Lit_VarLike 'OPTFLAGS=') (DQ (${ Id.VSub_Name BUILD_OPT))} 
                      {(Id.Lit_VarLike 'HOST_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_HOST))} {(Id.Lit_VarLike 'TARGET_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_TARGET))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ('arm7vs compilation failed.'))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:826)
                              arg_word: {(1)}
                            )
                          ]
                          spids: [803 816]
                        )
                      ]
                    )
                    (C {(package_tf_library)} {(DQ (armv7s))})
                  ]
                  spids: [745 746 841 -1]
                )
                (case_arm
                  pat_list: [{(arm64)}]
                  action: [
                    (C {(make)} {(-j) (DQ (${ Id.VSub_Name JOB_COUNT))} {(-f)} 
                      {(tensorflow/contrib/makefile/Makefile)} {(Id.Lit_VarLike 'TARGET=') (IOS)} {(Id.Lit_VarLike 'IOS_ARCH=') (ARM64)} 
                      {(Id.Lit_VarLike 'LIB_NAME=') (${ Id.VSub_Name LIB_PREFIX) (-arm64.a)} {(Id.Lit_VarLike 'OPTFLAGS=') (DQ (${ Id.VSub_Name BUILD_OPT))} 
                      {(Id.Lit_VarLike 'HOST_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_HOST))} {(Id.Lit_VarLike 'TARGET_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_TARGET))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ('arm64 compilation failed.'))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:924)
                              arg_word: {(1)}
                            )
                          ]
                          spids: [901 914]
                        )
                      ]
                    )
                    (C {(package_tf_library)} {(DQ (arm64))})
                  ]
                  spids: [844 845 939 -1]
                )
                (case_arm
                  pat_list: [{(i386)}]
                  action: [
                    (C {(make)} {(-j) (DQ (${ Id.VSub_Name JOB_COUNT))} {(-f)} 
                      {(tensorflow/contrib/makefile/Makefile)} {(Id.Lit_VarLike 'TARGET=') (IOS)} {(Id.Lit_VarLike 'IOS_ARCH=') (I386)} 
                      {(Id.Lit_VarLike 'LIB_NAME=') (${ Id.VSub_Name LIB_PREFIX) (-i386.a)} {(Id.Lit_VarLike 'OPTFLAGS=') (DQ (${ Id.VSub_Name BUILD_OPT))} 
                      {(Id.Lit_VarLike 'HOST_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_HOST))} {(Id.Lit_VarLike 'TARGET_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_TARGET))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ('i386 compilation failed.'))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1022)
                              arg_word: {(1)}
                            )
                          ]
                          spids: [999 1012]
                        )
                      ]
                    )
                    (C {(package_tf_library)} {(DQ (i386))})
                  ]
                  spids: [942 943 1037 -1]
                )
                (case_arm
                  pat_list: [{(x86_64)}]
                  action: [
                    (C {(make)} {(-j) (DQ (${ Id.VSub_Name JOB_COUNT))} {(-f)} 
                      {(tensorflow/contrib/makefile/Makefile)} {(Id.Lit_VarLike 'TARGET=') (IOS)} {(Id.Lit_VarLike 'IOS_ARCH=') (X86_64)} 
                      {(Id.Lit_VarLike 'LIB_NAME=') (${ Id.VSub_Name LIB_PREFIX) (-x86_64.a)} {(Id.Lit_VarLike 'OPTFLAGS=') (DQ (${ Id.VSub_Name BUILD_OPT))} 
                      {(Id.Lit_VarLike 'HOST_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_HOST))} {(Id.Lit_VarLike 'TARGET_NSYNC_LIB=') (DQ (${ Id.VSub_Name NSYNC_TARGET))}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (C {(Id.Lit_LBracket '[')} {($ Id.VSub_QMark '$?')} {(-ne)} {(0)} 
                              {(Id.Lit_RBracket ']')}
                            )
                          ]
                          action: [
                            (C {(echo)} {(DQ ('x86_64 compilation failed.'))})
                            (command.ControlFlow
                              token: (Token id:Id.ControlFlow_Exit val:exit span_id:1120)
                              arg_word: {(1)}
                            )
                          ]
                          spids: [1097 1110]
                        )
                      ]
                    )
                    (C {(package_tf_library)} {(DQ (x86_64))})
                  ]
                  spids: [1040 1041 1135 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (C {(echo)} {(DQ ('Unknown ARCH'))})
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:1149)
                      arg_word: {(1)}
                    )
                  ]
                  spids: [1138 1139 -1 1153]
                )
              ]
            )
          ]
        )
    )
    (command.ForEach
      iter_name: build_tf_element
      iter_words: [
        {
          (DQ 
            (braced_var_sub
              token: (Token id:Id.VSub_Name val:build_targets span_id:1166)
              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
            )
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (C {(echo)} {(DQ ($ Id.VSub_DollarName '$build_tf_element'))})
            (C {(build_tf_target)} {(DQ ($ Id.VSub_DollarName '$build_tf_element'))})
          ]
        )
    )
    (C {(echo)} {(DQ ('Done building and packaging TF'))})
    (C {(file)} {(${ Id.VSub_Name LIBDIR) (/) (${ Id.VSub_Name LIB_PREFIX) (.a)})
  ]
)