(CommandList
  children: [
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:RELEASE_STAGE)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-stage))}
          spids: [72]
        )
      ]
      spids: [70]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:RELEASE_TARS)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-tars))}
          spids: [82]
        )
      ]
      spids: [80]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:RELEASE_IMAGES)
          op: Equal
          rhs: {(DQ (${ VSub_Name LOCAL_OUTPUT_ROOT) (/release-images))}
          spids: [92]
        )
      ]
      spids: [90]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BUILD_HYPERKUBE)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name KUBE_BUILD_HYPERKUBE>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)})
                spids: [102 106]
              )
            }
          spids: [101]
        )
      ]
      spids: [101]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (LogicalAnd
                      left: 
                        (BoolUnary
                          op_id: BoolUnary_n
                          child: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_DOCKER_IMAGE_TAG>
                                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                  spids: [115 118]
                                )
                              )
                            }
                        )
                      right: 
                        (BoolUnary
                          op_id: BoolUnary_n
                          child: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_DOCKER_REGISTRY>
                                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                  spids: [126 129]
                                )
                              )
                            }
                        )
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BUILD_HYPERKUBE)
                  op: Equal
                  rhs: {(y)}
                  spids: [142]
                )
              ]
              spids: [142]
            )
          ]
          spids: [16777215 135]
        )
      ]
      spids: [16777215 145]
    )
    (FuncDef
      name: 'kube::release::parse_and_validate_ci_version'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version_regex)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('^v(0|[1-9][0-9]*)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) 
                        ('.(0|[1-9][0-9]*)') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)-([a-zA-Z0-9]+)') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)(') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('.(0|[1-9][0-9]*)') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('+[0-9a-f]{7,40})?') (Lit_Other '$')
                      )
                    }
                  spids: [219]
                )
              ]
              spids: [215]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [242 245]
                        )
                      )
                    }
                  spids: [240]
                )
              ]
              spids: [236]
            )
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_EqualTilde
                      left: {(DQ (${ VSub_Name version))}
                      right: {(${ VSub_Name version_regex)}
                    )
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error)
                      } 
                      {
                        (DQ ("Invalid ci version: '") (${ VSub_Name version) ("', must match regex ") 
                          (${ VSub_Name version_regex)
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [267]
                )
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_MAJOR)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)}))
                          spids: [300 305]
                        )
                      )
                    }
                  spids: [298]
                )
              ]
              spids: [298]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_MINOR)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                          spids: [311 316]
                        )
                      )
                    }
                  spids: [309]
                )
              ]
              spids: [309]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_PATCH)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 3)}))
                          spids: [322 327]
                        )
                      )
                    }
                  spids: [320]
                )
              ]
              spids: [320]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_PRERELEASE)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 4)}))
                          spids: [333 338]
                        )
                      )
                    }
                  spids: [331]
                )
              ]
              spids: [331]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_PRERELEASE_REV)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 5)}))
                          spids: [344 349]
                        )
                      )
                    }
                  spids: [342]
                )
              ]
              spids: [342]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_BUILD_INFO)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 6)}))
                          spids: [355 360]
                        )
                      )
                    }
                  spids: [353]
                )
              ]
              spids: [353]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_COMMITS)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_REMATCH>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 7)}))
                          spids: [366 371]
                        )
                      )
                    }
                  spids: [364]
                )
              ]
              spids: [364]
            )
          ]
          spids: [208]
        )
      spids: [196 207]
    )
    (FuncDef
      name: 'kube::release::clean_cruft'
      body: 
        (BraceGroup
          children: [
            (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'*~'>)} {(-exec)} {(rm)} 
              {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)}
            )
            (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'#*#'>)} {(-exec)} {(rm)} 
              {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)}
            )
            (C {(find)} {(${ VSub_Name RELEASE_STAGE)} {(-name)} {(SQ <'.DS*'>)} {(-exec)} {(rm)} 
              {(Lit_LBrace '{') (Lit_RBrace '}')} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)}
            )
          ]
          spids: [395]
        )
      spids: [383 394]
    )
    (FuncDef
      name: 'kube::release::package_tarballs'
      body: 
        (BraceGroup
          children: [
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name RELEASE_STAGE))} {(DQ (${ VSub_Name RELEASE_TARS))} 
              {(DQ (${ VSub_Name RELEASE_IMAGES))}
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name RELEASE_TARS))})
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_src_tarball)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_client_tarballs)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_salt_tarball)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_kube_manifests_tarball)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                    (wait-for-jobs)
                  }
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                            (error)
                          } {(DQ ('previous tarball phase failed'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [577]
                )
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_node_tarballs)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_server_tarballs)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                    (wait-for-jobs)
                  }
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                            (error)
                          } {(DQ ('previous tarball phase failed'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [637]
                )
              ]
              op_id: Op_DPipe
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_final_tarball)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                    (package_test_tarball)
                  }
                )
              terminator: <Op_Amp '&'>
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                    (wait-for-jobs)
                  }
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                            (error)
                          } {(DQ ('previous tarball phase failed'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [699]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [482]
        )
      spids: [470 481]
    )
    (FuncDef
      name: 'kube::release::package_src_tarball'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building tarball: src'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:source_files)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT))})
                                        (C {(find)} {(.)} {(-mindepth)} {(1)} {(-maxdepth)} {(1)} {(-not)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-path)} 
                                          {(./_) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} {(-o)} {(-path)} {(./.git) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} {(-o)} {(-path)} 
                                          {(./.config) 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\*'>
                                            )
                                          } {(-o)} {(-path)} {(./.gsutil) (EscapedLiteralPart token:<Lit_EscapedChar '\\*'>)} 
                                          {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)} {(-prune)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [761 835]
                            )
                          }
                        ]
                      )
                    }
                  spids: [757]
                )
              ]
              spids: [755]
            )
            (C {(DQ (${ VSub_Name TAR))} {(czf)} 
              {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name source_files>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [865 870]
                  )
                )
              }
            )
          ]
          spids: [739]
        )
      spids: [727 738]
    )
    (FuncDef
      name: 'kube::release::package_client_tarballs'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:platform) op:Equal spids:[903])
                (assign_pair lhs:(LhsName name:platforms) op:Equal spids:[905])
              ]
              spids: [901]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platforms)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Sentence
                                      child: (C {(cd)} {(DQ (${ VSub_Name LOCAL_OUTPUT_BINPATH))})
                                      terminator: <Op_Semi ';'>
                                    )
                                    (C {(echo)} {(Lit_Other '*') (/) (Lit_Other '*')})
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [910 926]
                            )
                          }
                        ]
                      )
                    }
                  spids: [908]
                )
              ]
              spids: [908]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name platforms>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [937 942]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platform_tag)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name platform>
                                suffix_op: 
                                  (PatSub
                                    pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)}
                                    replace: {(-)}
                                    do_all: False
                                    do_prefix: False
                                    do_suffix: False
                                  )
                                spids: [952 958]
                              )
                            }
                          spids: [951]
                        )
                      ]
                      spids: [949]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Starting tarball: client ') ($ VSub_Name '$platform_tag'))}
                    )
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:release_stage)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (${ VSub_Name RELEASE_STAGE) (/client/) 
                                            (${ VSub_Name platform_tag) (/kubernetes)
                                          )
                                        }
                                      spids: [984]
                                    )
                                  ]
                                  spids: [982]
                                )
                                (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
                                (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/client/bin))})
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:client_bins)
                                      op: Equal
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name KUBE_CLIENT_BINARIES>
                                                    bracket_op: (WholeArray op_id:Lit_At)
                                                    spids: [1026 1031]
                                                  )
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [1023]
                                    )
                                  ]
                                  spids: [1021]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobDEqual
                                                  left: 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name platform>
                                                          suffix_op: 
                                                            (StringUnary
                                                              op_id: VOp1_Percent
                                                              arg_word: {(Lit_Slash /) ('*')}
                                                            )
                                                          spids: [1041 1046]
                                                        )
                                                      )
                                                    }
                                                  right: {(DQ (windows))}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:client_bins)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: 
                                                              <VSub_Name KUBE_CLIENT_BINARIES_WIN>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [1064 1069]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [1061]
                                            )
                                          ]
                                          spids: [1061]
                                        )
                                      ]
                                      spids: [16777215 1058]
                                    )
                                  ]
                                  spids: [16777215 1074]
                                )
                                (C {(cp)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name client_bins>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        suffix_op: 
                                          (PatSub
                                            pat: {}
                                            replace: 
                                              {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                                (${ VSub_Name platform) (Lit_Slash /)
                                              }
                                            do_all: False
                                            do_prefix: True
                                            do_suffix: False
                                          )
                                        spids: [1093 1109]
                                      )
                                    )
                                  } {(DQ (${ VSub_Name release_stage) (/client/bin/))}
                                )
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') 
                                    (Lit_Other ':') (clean_cruft)
                                  }
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:package_name)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-client-) 
                                            (${ VSub_Name platform_tag) (.tar.gz)
                                          )
                                        }
                                      spids: [1135]
                                    )
                                  ]
                                  spids: [1133]
                                )
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') 
                                    (Lit_Other ':') (create_tarball)
                                  } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
                                )
                              ]
                            )
                          spids: [979 1170]
                        )
                      terminator: <Op_Amp '&'>
                    )
                  ]
                  spids: [946 1175]
                )
              spids: [935 944]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Waiting on tarballs'))}
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                    (wait-for-jobs)
                  }
                )
                (BraceGroup
                  children: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                            (error)
                          } {(DQ ('client tarball creation failed'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ';'>)
                  ]
                  spids: [1202]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [894]
        )
      spids: [882 893]
    )
    (FuncDef
      name: 'kube::release::package_node_tarballs'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[1247])]
              spids: [1245]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_NODE_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [1257 1262]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platform_tag)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name platform>
                                suffix_op: 
                                  (PatSub
                                    pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)}
                                    replace: {(-)}
                                    do_all: False
                                    do_prefix: False
                                    do_suffix: False
                                  )
                                spids: [1272 1278]
                              )
                            }
                          spids: [1271]
                        )
                      ]
                      spids: [1269]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(${ VSub_Name platform)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1287 1293]
                              )
                            }
                          spids: [1286]
                        )
                      ]
                      spids: [1284]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Building tarball: node ') ($ VSub_Name '$platform_tag'))}
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:release_stage)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name RELEASE_STAGE) (/node/) (${ VSub_Name platform_tag) 
                                (/kubernetes)
                              )
                            }
                          spids: [1313]
                        )
                      ]
                      spids: [1311]
                    )
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/node/bin))})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:node_bins)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name KUBE_NODE_BINARIES>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [1355 1360]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [1352]
                        )
                      ]
                      spids: [1350]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name platform>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Percent
                                                  arg_word: {(Lit_Slash /) ('*')}
                                                )
                                              spids: [1370 1375]
                                            )
                                          )
                                        }
                                      right: {(DQ (windows))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:node_bins)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_NODE_BINARIES_WIN>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [1393 1398]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [1390]
                                )
                              ]
                              spids: [1390]
                            )
                          ]
                          spids: [16777215 1387]
                        )
                      ]
                      spids: [16777215 1403]
                    )
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name node_bins>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [1421 1437]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/node/bin/))}
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:client_bins)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name KUBE_CLIENT_BINARIES>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [1469 1474]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [1466]
                        )
                      ]
                      spids: [1464]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name platform>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Percent
                                                  arg_word: {(Lit_Slash /) ('*')}
                                                )
                                              spids: [1484 1489]
                                            )
                                          )
                                        }
                                      right: {(DQ (windows))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:client_bins)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_CLIENT_BINARIES_WIN>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [1507 1512]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [1504]
                                )
                              ]
                              spids: [1504]
                            )
                          ]
                          spids: [16777215 1501]
                        )
                      ]
                      spids: [16777215 1517]
                    )
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name client_bins>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [1523 1539]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/node/bin/))}
                    )
                    (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} 
                      {(DQ (${ VSub_Name release_stage) (/))}
                    )
                    (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} 
                      {(DQ (${ VSub_Name release_stage) (/))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                        (clean_cruft)
                      }
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:package_name)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-node-) 
                                (${ VSub_Name platform_tag) (.tar.gz)
                              )
                            }
                          spids: [1601]
                        )
                      ]
                      spids: [1599]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                        (create_tarball)
                      } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
                    )
                  ]
                  spids: [1266 1636]
                )
              spids: [1255 1264]
            )
          ]
          spids: [1242]
        )
      spids: [1230 1241]
    )
    (FuncDef
      name: 'kube::release::package_server_tarballs'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[1661])]
              spids: [1659]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_SERVER_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [1671 1676]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platform_tag)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name platform>
                                suffix_op: 
                                  (PatSub
                                    pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)}
                                    replace: {(-)}
                                    do_all: False
                                    do_prefix: False
                                    do_suffix: False
                                  )
                                spids: [1686 1692]
                              )
                            }
                          spids: [1685]
                        )
                      ]
                      spids: [1683]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(${ VSub_Name platform)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1701 1707]
                              )
                            }
                          spids: [1700]
                        )
                      ]
                      spids: [1698]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Building tarball: server ') ($ VSub_Name '$platform_tag'))}
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:release_stage)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name RELEASE_STAGE) (/server/) (${ VSub_Name platform_tag) 
                                (/kubernetes)
                              )
                            }
                          spids: [1727]
                        )
                      ]
                      spids: [1725]
                    )
                    (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/server/bin))})
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/addons))})
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name KUBE_SERVER_BINARIES>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [1791 1807]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/server/bin/))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                        (create_docker_images_for_server)
                      } {(DQ (${ VSub_Name release_stage) (/server/bin))} {(DQ (${ VSub_Name arch))}
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:client_bins)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name KUBE_CLIENT_BINARIES>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [1853 1858]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [1850]
                        )
                      ]
                      spids: [1848]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name platform>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Percent
                                                  arg_word: {(Lit_Slash /) ('*')}
                                                )
                                              spids: [1868 1873]
                                            )
                                          )
                                        }
                                      right: {(DQ (windows))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:client_bins)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_CLIENT_BINARIES_WIN>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [1891 1896]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [1888]
                                )
                              ]
                              spids: [1888]
                            )
                          ]
                          spids: [16777215 1885]
                        )
                      ]
                      spids: [16777215 1901]
                    )
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name client_bins>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [1907 1923]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/server/bin/))}
                    )
                    (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} 
                      {(DQ (${ VSub_Name release_stage) (/))}
                    )
                    (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-src.tar.gz))} 
                      {(DQ (${ VSub_Name release_stage) (/))}
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                        (clean_cruft)
                      }
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:package_name)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-server-) 
                                (${ VSub_Name platform_tag) (.tar.gz)
                              )
                            }
                          spids: [1985]
                        )
                      ]
                      spids: [1983]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                        (create_tarball)
                      } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
                    )
                  ]
                  spids: [1680 2020]
                )
              spids: [1669 1678]
            )
          ]
          spids: [1656]
        )
      spids: [1644 1655]
    )
    (FuncDef
      name: 'kube::release::md5'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(md5)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [2046]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [2049]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(md5)} {(-q)} {(DQ ($ VSub_Number '$1'))})]
                  spids: [16777215 2053]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (C {(md5sum)} {(DQ ($ VSub_Number '$1'))})
                    (C {(awk)} {(SQ <'{ print $1 }'>)})
                  ]
                  negated: False
                )
              ]
              spids: [2065 2083]
            )
          ]
          spids: [2037]
        )
      spids: [2025 2036]
    )
    (FuncDef
      name: 'kube::release::sha1'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(sha1sum)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [2109]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [2112]
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(sha1sum)} {(DQ ($ VSub_Number '$1'))})
                        (C {(awk)} {(SQ <'{ print $1 }'>)})
                      ]
                      negated: False
                    )
                  ]
                  spids: [16777215 2116]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (C {(shasum)} {(-a1)} {(DQ ($ VSub_Number '$1'))})
                    (C {(awk)} {(SQ <'{ print $1 }'>)})
                  ]
                  negated: False
                )
              ]
              spids: [2134 2154]
            )
          ]
          spids: [2100]
        )
      spids: [2088 2099]
    )
    (FuncDef
      name: 'kube::release::build_hyperkube_image'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arch)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [2178]
                )
              ]
              spids: [2174]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:registry)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$2'))}
                  spids: [2188]
                )
              ]
              spids: [2184]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$3'))}
                  spids: [2198]
                )
              ]
              spids: [2194]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-r]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:save_dir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 4>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [2210 2213]
                        )
                      )
                    }
                  spids: [2208]
                )
              ]
              spids: [2204]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building hyperkube image for arch: ') (${ VSub_Name arch))}
            )
            (SimpleCommand
              words: [{(make)} {(-C)} {(cluster/images/hyperkube/)} {(build)}]
              redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[2264])]
              more_env: [
                (env_pair name:ARCH val:{(DQ (${ VSub_Name arch))} spids:[2233])
                (env_pair
                  name: REGISTRY
                  val: {(DQ (${ VSub_Name registry))}
                  spids: [2240]
                )
                (env_pair
                  name: VERSION
                  val: {(DQ (${ VSub_Name version))}
                  spids: [2247]
                )
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hyperkube_tag)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name registry) (/hyperkube-) (${ VSub_Name arch) (':') 
                        (${ VSub_Name version)
                      )
                    }
                  spids: [2271]
                )
              ]
              spids: [2269]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name save_dir))})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name DOCKER>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2306 2311]
                            )
                          )
                        }
                        {(save)}
                        {(DQ (${ VSub_Name hyperkube_tag))}
                      ]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: 
                            {(DQ (${ VSub_Name save_dir) (/hyperkube-) (${ VSub_Name arch) (.tar))}
                          spids: [2322]
                        )
                      ]
                    )
                  ]
                  spids: [16777215 2302]
                )
              ]
              spids: [16777215 2336]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_DOCKER_IMAGE_TAG>
                                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                          spids: [2346 2349]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_DOCKER_REGISTRY>
                                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                          spids: [2357 2360]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Deleting hyperkube image ') (${ VSub_Name hyperkube_tag))}
                    )
                    (Sentence
                      child: 
                        (C 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [2390 2395]
                              )
                            )
                          } {(rmi)} {(DQ (${ VSub_Name hyperkube_tag))}
                        )
                      terminator: <Op_Amp '&'>
                    )
                    (AndOr
                      children: [
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(/dev/null)}
                              spids: [2407]
                            )
                          ]
                        )
                        (C {(true)})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [16777215 2366]
                )
              ]
              spids: [16777215 2415]
            )
          ]
          spids: [2171]
        )
      spids: [2159 2170]
    )
    (FuncDef
      name: 'kube::release::create_docker_images_for_server'
      body: 
        (BraceGroup
          children: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:binary_dir)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [2459]
                        )
                      ]
                      spids: [2457]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$2'))}
                          spids: [2467]
                        )
                      ]
                      spids: [2465]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:binary_name) op:Equal spids:[2475])]
                      spids: [2473]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:binaries)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C 
                                              {(kube) (Lit_Other ':') (Lit_Other ':') (build) 
                                                (Lit_Other ':') (Lit_Other ':') (get_docker_wrapped_binaries)
                                              } {(${ VSub_Name arch)}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2482 2494]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [2480]
                        )
                      ]
                      spids: [2478]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:images_dir)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RELEASE_IMAGES) (/) (${ VSub_Name arch))}
                          spids: [2500]
                        )
                      ]
                      spids: [2498]
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name images_dir))})
                    (Assignment
                      keyword: Assign_Local
                      flags: [-r]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_registry)
                          op: Equal
                          rhs: {(DQ (gcr.io/google_containers))}
                          spids: [2528]
                        )
                      ]
                      spids: [2524]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_tag)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_GIT_VERSION>
                                  suffix_op: 
                                    (PatSub
                                      pat: {('+')}
                                      replace: {(_)}
                                      do_all: False
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2542 2548]
                                )
                              )
                            }
                          spids: [2540]
                        )
                      ]
                      spids: [2538]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: {(DQ (${ VSub_Name docker_tag))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (error)
                              } {(DQ ('git version information missing; cannot create Docker tag'))}
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 2567]
                        )
                      ]
                      spids: [16777215 2588]
                    )
                    (ForEach
                      iter_name: wrappable
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name binaries>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2599 2604]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:oldifs)
                                  op: Equal
                                  rhs: {($ VSub_Name '$IFS')}
                                  spids: [2614]
                                )
                              ]
                              spids: [2612]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {(DQ (','))}
                                  spids: [2618]
                                )
                              ]
                              spids: [2618]
                            )
                            (C {(set)} {($ VSub_Name '$wrappable')})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:IFS)
                                  op: Equal
                                  rhs: {($ VSub_Name '$oldifs')}
                                  spids: [2629]
                                )
                              ]
                              spids: [2629]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:binary_name)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$1'))}
                                  spids: [2636]
                                )
                              ]
                              spids: [2634]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:base_image)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Number '$2'))}
                                  spids: [2644]
                                )
                              ]
                              spids: [2642]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:docker_build_path)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name) 
                                        (.dockerbuild)
                                      )
                                    }
                                  spids: [2652]
                                )
                              ]
                              spids: [2650]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:docker_file_path)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name docker_build_path) (/Dockerfile))}
                                  spids: [2667]
                                )
                              ]
                              spids: [2665]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:binary_file_path)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name))}
                                  spids: [2678]
                                )
                              ]
                              spids: [2676]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:docker_image_tag)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name docker_registry))}
                                  spids: [2692]
                                )
                              ]
                              spids: [2690]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(${ VSub_Name arch)}
                                              right: {(DQ (amd64))}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:docker_image_tag)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (DQ (/) (${ VSub_Name binary_name) (':') 
                                                (${ VSub_Name docker_tag)
                                              )
                                            }
                                          spids: [2728]
                                        )
                                      ]
                                      spids: [2728]
                                    )
                                  ]
                                  spids: [16777215 2717]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:docker_image_tag)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (DQ (/) (${ VSub_Name binary_name) (-) (${ VSub_Name arch) 
                                            (':') (${ VSub_Name docker_tag)
                                          )
                                        }
                                      spids: [2752]
                                    )
                                  ]
                                  spids: [2752]
                                )
                              ]
                              spids: [2741 2769]
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } {(DQ ('Starting docker build for image: ') (${ VSub_Name binary_name) (-) (${ VSub_Name arch))}
                            )
                            (Sentence
                              child: 
                                (Subshell
                                  child: 
                                    (CommandList
                                      children: [
                                        (C {(rm)} {(-rf)} {(${ VSub_Name docker_build_path)})
                                        (C {(mkdir)} {(-p)} {(${ VSub_Name docker_build_path)})
                                        (C {(ln)} 
                                          {(${ VSub_Name binary_dir) (/) (${ VSub_Name binary_name)} {(${ VSub_Name docker_build_path) (/) (${ VSub_Name binary_name)}
                                        )
                                        (SimpleCommand
                                          words: [
                                            {(printf)}
                                            {
                                              (DQ (' FROM ') (${ VSub_Name base_image) (' ') 
                                                (Lit_Other '\\') ('n ADD ') (${ VSub_Name binary_name) (' /usr/local/bin/') (${ VSub_Name binary_name) (Lit_Other '\\') (n)
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(${ VSub_Name docker_file_path)}
                                              spids: [2855]
                                            )
                                          ]
                                        )
                                        (SimpleCommand
                                          words: [
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name DOCKER>
                                                  bracket_op: (WholeArray op_id:Lit_At)
                                                  spids: [2864 2869]
                                                )
                                              )
                                            }
                                            {(build)}
                                            {(--pull)}
                                            {(-q)}
                                            {(-t)}
                                            {(DQ (${ VSub_Name docker_image_tag))}
                                            {(${ VSub_Name docker_build_path)}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: {(/dev/null)}
                                              spids: [2890]
                                            )
                                          ]
                                        )
                                        (SimpleCommand
                                          words: [
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name DOCKER>
                                                  bracket_op: (WholeArray op_id:Lit_At)
                                                  spids: [2895 2900]
                                                )
                                              )
                                            }
                                            {(save)}
                                            {(DQ (${ VSub_Name docker_image_tag))}
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ (${ VSub_Name binary_dir) (/) 
                                                    (${ VSub_Name binary_name) (.tar)
                                                  )
                                                }
                                              spids: [2911]
                                            )
                                          ]
                                        )
                                        (SimpleCommand
                                          words: [{(echo)} {(DQ (${ VSub_Name docker_tag))}]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: 
                                                {(${ VSub_Name binary_dir) (/) 
                                                  (${ VSub_Name binary_name) (.docker_tag)
                                                }
                                              spids: [2933]
                                            )
                                          ]
                                        )
                                        (C {(rm)} {(-rf)} {(${ VSub_Name docker_build_path)})
                                        (C {(ln)} 
                                          {
                                            (DQ (${ VSub_Name binary_dir) (/) 
                                              (${ VSub_Name binary_name) (.tar)
                                            )
                                          } {(DQ (${ VSub_Name images_dir) (/))}
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DBracket
                                                      expr: 
                                                        (LogicalAnd
                                                          left: 
                                                            (BoolUnary
                                                              op_id: BoolUnary_n
                                                              child: 
                                                                {
                                                                  (DQ 
                                                                    (BracedVarSub
                                                                      token: 
                                                                        <VSub_Name 
KUBE_DOCKER_IMAGE_TAG
                                                                        >
                                                                      suffix_op: 
                                                                        (StringUnary
                                                                          op_id: VTest_Hyphen
                                                                          arg_word: {(SQ )}
                                                                        )
                                                                      spids: [2991 2994]
                                                                    )
                                                                  )
                                                                }
                                                            )
                                                          right: 
                                                            (BoolUnary
                                                              op_id: BoolUnary_n
                                                              child: 
                                                                {
                                                                  (DQ 
                                                                    (BracedVarSub
                                                                      token: 
                                                                        <VSub_Name 
KUBE_DOCKER_REGISTRY
                                                                        >
                                                                      suffix_op: 
                                                                        (StringUnary
                                                                          op_id: VTest_Hyphen
                                                                          arg_word: {(SQ )}
                                                                        )
                                                                      spids: [3002 3005]
                                                                    )
                                                                  )
                                                                }
                                                            )
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_Local
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:release_docker_image_tag)
                                                      op: Equal
                                                      rhs: 
                                                        {
                                                          (DQ (${ VSub_Name KUBE_DOCKER_REGISTRY) (/) 
                                                            (${ VSub_Name binary_name) (-) (${ VSub_Name arch) (':') (${ VSub_Name KUBE_DOCKER_IMAGE_TAG)
                                                          )
                                                        }
                                                      spids: [3016]
                                                    )
                                                  ]
                                                  spids: [3014]
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (DBracket
                                                              expr: 
                                                                (BoolBinary
                                                                  op_id: BoolBinary_GlobNEqual
                                                                  left: 
                                                                    {
                                                                      ($ VSub_Name 
'$docker_image_tag'
                                                                      )
                                                                    }
                                                                  right: 
                                                                    {
                                                                      ($ VSub_Name 
'$release_docker_image_tag'
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (C 
                                                          {(kube) (Lit_Other ':') (Lit_Other ':') 
                                                            (log) (Lit_Other ':') (Lit_Other ':') (status)
                                                          } 
                                                          {
                                                            (DQ ('Tagging docker image ') 
                                                              (${ VSub_Name docker_image_tag) (' as ') (${ VSub_Name release_docker_image_tag)
                                                            )
                                                          }
                                                        )
                                                        (AndOr
                                                          children: [
                                                            (SimpleCommand
                                                              words: [
                                                                {
                                                                  (DQ 
                                                                    (BracedVarSub
                                                                      token: <VSub_Name DOCKER>
                                                                      bracket_op: 
                                                                        (WholeArray
                                                                          op_id: Lit_At
                                                                        )
                                                                      spids: [3077 3082]
                                                                    )
                                                                  )
                                                                }
                                                                {(rmi)}
                                                                {
                                                                  (DQ 
                                                                    (${ VSub_Name 
release_docker_image_tag
                                                                    )
                                                                  )
                                                                }
                                                              ]
                                                              redirects: [
                                                                (Redir
                                                                  op_id: Redir_Great
                                                                  fd: 2
                                                                  arg_word: {(/dev/null)}
                                                                  spids: [3093]
                                                                )
                                                              ]
                                                            )
                                                            (C {(true)})
                                                          ]
                                                          op_id: Op_DPipe
                                                        )
                                                        (SimpleCommand
                                                          words: [
                                                            {
                                                              (DQ 
                                                                (BracedVarSub
                                                                  token: <VSub_Name DOCKER>
                                                                  bracket_op: 
                                                                    (WholeArray
                                                                      op_id: Lit_At
                                                                    )
                                                                  spids: [3102 3107]
                                                                )
                                                              )
                                                            }
                                                            {(tag)}
                                                            {(DQ (${ VSub_Name docker_image_tag))}
                                                            {
                                                              (DQ 
                                                                (${ VSub_Name 
release_docker_image_tag
                                                                )
                                                              )
                                                            }
                                                          ]
                                                          redirects: [
                                                            (Redir
                                                              op_id: Redir_Great
                                                              fd: 2
                                                              arg_word: {(/dev/null)}
                                                              spids: [3124]
                                                            )
                                                          ]
                                                        )
                                                      ]
                                                      spids: [16777215 3053]
                                                    )
                                                  ]
                                                  spids: [16777215 3128]
                                                )
                                              ]
                                              spids: [16777215 3011]
                                            )
                                          ]
                                          else_action: [
                                            (C 
                                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) 
                                                (Lit_Other ':') (Lit_Other ':') (status)
                                              } {(DQ ('Deleting docker image ') (${ VSub_Name docker_image_tag))}
                                            )
                                            (Sentence
                                              child: 
                                                (C 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name DOCKER>
                                                        bracket_op: (WholeArray op_id:Lit_At)
                                                        spids: [3155 3160]
                                                      )
                                                    )
                                                  } {(rmi)} {(${ VSub_Name docker_image_tag)}
                                                )
                                              terminator: <Op_Amp '&'>
                                            )
                                            (AndOr
                                              children: [
                                                (SimpleCommand
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [3170]
                                                    )
                                                  ]
                                                )
                                                (C {(true)})
                                              ]
                                              op_id: Op_DPipe
                                            )
                                          ]
                                          spids: [3131 3178]
                                        )
                                      ]
                                    )
                                  spids: [2794 3181]
                                )
                              terminator: <Op_Amp '&'>
                            )
                          ]
                          spids: [2608 3186]
                        )
                      spids: [2597 2606]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(DQ (${ VSub_Name KUBE_BUILD_HYPERKUBE))}
                                      right: {(Lit_Other '[') (yY) (Lit_Other ']')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') 
                                    (Lit_Other ':') (build_hyperkube_image)
                                  } {(DQ (${ VSub_Name arch))} {(DQ (${ VSub_Name docker_registry))} {(DQ (${ VSub_Name docker_tag))} 
                                  {(DQ (${ VSub_Name images_dir))}
                                )
                              terminator: <Op_Amp '&'>
                            )
                          ]
                          spids: [16777215 3209]
                        )
                      ]
                      spids: [16777215 3249]
                    )
                    (AndOr
                      children: [
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                            (wait-for-jobs)
                          }
                        )
                        (BraceGroup
                          children: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                    (Lit_Other ':') (error)
                                  } {(DQ ('previous Docker build failed'))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                            (Sentence
                              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          spids: [3263]
                        )
                      ]
                      op_id: Op_DPipe
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Docker builds done'))}
                    )
                  ]
                )
              spids: [2454 3299]
            )
          ]
          spids: [2447]
        )
      spids: [2435 2446]
    )
    (FuncDef
      name: 'kube::release::package_salt_tarball'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building tarball: salt'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release_stage)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/salt/kubernetes))}
                  spids: [3342]
                )
              ]
              spids: [3340]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))})
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/saltbase))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:objects) op:Equal spids:[3412])]
              spids: [3410]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objects)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))})
                                  (Pipeline
                                    children: [
                                      (C {(find)} {(.)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                                          (.yaml.in)
                                        } {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)}
                                      )
                                      (C {(grep)} {(-v)} {(demo)})
                                    ]
                                    negated: False
                                  )
                                ]
                                op_id: Op_DAmp
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3416 3462]
                      )
                    }
                  spids: [3415]
                )
              ]
              spids: [3415]
            )
            (Pipeline
              children: [
                (C {(tar)} {(c)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))} 
                  {(${ VSub_Name objects)}
                )
                (C {(tar)} {(x)} {(-C)} {(DQ (${ VSub_Name release_stage) (/saltbase/salt/kube-addons))})
              ]
              negated: False
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (clean_cruft)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-salt.tar.gz))}
                  spids: [3511]
                )
              ]
              spids: [3509]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (create_tarball)
              } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
            )
          ]
          spids: [3323]
        )
      spids: [3311 3322]
    )
    (FuncDef
      name: 'kube::release::package_kube_manifests_tarball'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building tarball: manifests'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:salt_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/saltbase/salt))}
                  spids: [3587]
                )
              ]
              spids: [3585]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release_stage)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/manifests/kubernetes))}
                  spids: [3599]
                )
              ]
              spids: [3597]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))})
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-registry-proxy/kube-registry-proxy.yaml))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-proxy/kube-proxy.manifest))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gci_dst_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name release_stage) (/gci-trusty))}
                  spids: [3668]
                )
              ]
              spids: [3666]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name gci_dst_dir))})
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/cluster-autoscaler/cluster-autoscaler.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/etcd/etcd.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-scheduler/kube-scheduler.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-apiserver/kube-apiserver.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-apiserver/abac-authz-policy.jsonl))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} 
              {
                (DQ (${ VSub_Name salt_dir) 
                  (/kube-controller-manager/kube-controller-manager.manifest)
                )
              } {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/kube-addons/kube-addon-manager.yaml))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/l7-gcp/glbc.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/rescheduler/rescheduler.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name salt_dir) (/e2e-image-puller/e2e-image-puller.manifest))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/configure-helper.sh))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/gci-configure-helper.sh))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/mounter/mounter))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/gci-mounter))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/gci/health-monitor.sh))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/health-monitor.sh))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/container-linux/configure-helper.sh))} 
              {(DQ (${ VSub_Name gci_dst_dir) (/container-linux-configure-helper.sh))}
            )
            (C {(cp)} {(-r)} {(DQ (${ VSub_Name salt_dir) (/kube-admission-controls/limit-range))} 
              {(DQ (${ VSub_Name gci_dst_dir))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:objects) op:Equal spids:[3939])]
              spids: [3937]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:objects)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))})
                                  (Pipeline
                                    children: [
                                      (C {(find)} {(.)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\('>)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.yaml)} {(-or)} {(-name)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) 
                                          (.yaml.in)
                                        } {(-or)} {(-name)} {(EscapedLiteralPart token:<Lit_EscapedChar '\\*'>) (.json)} 
                                        {(EscapedLiteralPart token:<Lit_EscapedChar '\\)'>)}
                                      )
                                      (C {(grep)} {(-v)} {(demo)})
                                    ]
                                    negated: False
                                  )
                                ]
                                op_id: Op_DAmp
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3943 3989]
                      )
                    }
                  spids: [3942]
                )
              ]
              spids: [3942]
            )
            (Pipeline
              children: [
                (C {(tar)} {(c)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/addons))} 
                  {(${ VSub_Name objects)}
                )
                (C {(tar)} {(x)} {(-C)} {(DQ (${ VSub_Name gci_dst_dir))})
              ]
              negated: False
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (clean_cruft)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-manifests.tar.gz))}
                  spids: [4037]
                )
              ]
              spids: [4035]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (create_tarball)
              } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
            )
          ]
          spids: [3568]
        )
      spids: [3556 3567]
    )
    (FuncDef
      name: 'kube::release::package_test_tarball'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building tarball: test'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release_stage)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/test/kubernetes))}
                  spids: [4104]
                )
              ]
              spids: [4102]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4138])]
              spids: [4136]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_TEST_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [4148 4153]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:test_bins)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name KUBE_TEST_BINARIES>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [4165 4170]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [4162]
                        )
                      ]
                      spids: [4160]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name platform>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VOp1_Percent
                                                  arg_word: {(Lit_Slash /) ('*')}
                                                )
                                              spids: [4180 4185]
                                            )
                                          )
                                        }
                                      right: {(DQ (windows))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:test_bins)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_TEST_BINARIES_WIN>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [4203 4208]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [4200]
                                )
                              ]
                              spids: [4200]
                            )
                          ]
                          spids: [16777215 4197]
                        )
                      ]
                      spids: [16777215 4213]
                    )
                    (C {(mkdir)} {(-p)} 
                      {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))}
                    )
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name test_bins>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [4234 4250]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))}
                    )
                  ]
                  spids: [4157 4266]
                )
              spids: [4146 4155]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_TEST_SERVER_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [4276 4281]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(mkdir)} {(-p)} 
                      {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))}
                    )
                    (C {(cp)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name KUBE_TEST_SERVER_BINARIES>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (PatSub
                                pat: {}
                                replace: 
                                  {(${ VSub_Name LOCAL_OUTPUT_BINPATH) (Lit_Slash /) 
                                    (${ VSub_Name platform) (Lit_Slash /)
                                  }
                                do_all: False
                                do_prefix: True
                                do_suffix: False
                              )
                            spids: [4306 4322]
                          )
                        )
                      } {(DQ (${ VSub_Name release_stage) (/platforms/) (${ VSub_Name platform))}
                    )
                  ]
                  spids: [4285 4338]
                )
              spids: [4274 4283]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/test/images))})
            (C {(cp)} {(-fR)} {(DQ (${ VSub_Name KUBE_ROOT) (/test/images))} 
              {(DQ (${ VSub_Name release_stage) (/test/))}
            )
            (Pipeline
              children: [
                (C {(tar)} {(c)} 
                  {
                    (BracedVarSub
                      token: <VSub_Name KUBE_TEST_PORTABLE>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [4381 4386]
                    )
                  }
                )
                (C {(tar)} {(x)} {(-C)} {(${ VSub_Name release_stage)})
              ]
              negated: False
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (clean_cruft)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-test.tar.gz))}
                  spids: [4414]
                )
              ]
              spids: [4412]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (create_tarball)
              } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
            )
          ]
          spids: [4085]
        )
      spids: [4073 4084]
    )
    (FuncDef
      name: 'kube::release::package_final_tarball'
      body: 
        (BraceGroup
          children: [
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building tarball: final'))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:release_stage)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_STAGE) (/full/kubernetes))}
                  spids: [4513]
                )
              ]
              spids: [4511]
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/client))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ 
                        (
'Client binaries are no longer included in the Kubernetes final tarball.\n'
                        ) ('\n') ('Run cluster/get-kube-binaries.sh to download client and server binaries.\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4559]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name release_stage) (/client/README))}
                  spids: [4562]
                )
              ]
            )
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name release_stage) (/cluster/saltbase))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/server))})
            (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-salt.tar.gz))} 
              {(DQ (${ VSub_Name release_stage) (/server/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes-manifests.tar.gz))} 
              {(DQ (${ VSub_Name release_stage) (/server/))}
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ 
                        (
'Server binary tarballs are no longer included in the Kubernetes final tarball.\n'
                        ) ('\n') ('Run cluster/get-kube-binaries.sh to download client and server binaries.\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4665]
                )
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name release_stage) (/server/README))}
                  spids: [4668]
                )
              ]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/third_party))})
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/third_party/htpasswd))} 
              {(DQ (${ VSub_Name release_stage) (/third_party/htpasswd))}
            )
            (C {(mkdir)} {(DQ (${ VSub_Name release_stage) (/federation))})
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/federation/cluster))} 
              {(DQ (${ VSub_Name release_stage) (/federation/))}
            )
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/federation/deploy))} 
              {(DQ (${ VSub_Name release_stage) (/federation/))}
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name release_stage) (/hack))})
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib))} 
              {(DQ (${ VSub_Name release_stage) (/hack/))}
            )
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/examples))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(cp)} {(-R)} {(DQ (${ VSub_Name KUBE_ROOT) (/docs))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/README.md))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (C {(cp)} {(DQ (${ VSub_Name KUBE_ROOT) (/Vagrantfile))} 
              {(DQ (${ VSub_Name release_stage) (/))}
            )
            (SimpleCommand
              words: [{(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name release_stage) (/version))}
                  spids: [4902]
                )
              ]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (clean_cruft)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:package_name)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RELEASE_TARS) (/kubernetes.tar.gz))}
                  spids: [4925]
                )
              ]
              spids: [4923]
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (release) (Lit_Other ':') (Lit_Other ':') 
                (create_tarball)
              } {(DQ (${ VSub_Name package_name))} {(DQ (${ VSub_Name release_stage) (/..))}
            )
          ]
          spids: [4486]
        )
      spids: [4474 4485]
    )
    (FuncDef
      name: 'kube::release::create_tarball'
      body: 
        (BraceGroup
          children: [
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') 
                (ensure_tar)
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tarfile)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [4994]
                )
              ]
              spids: [4992]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stagingdir)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [5000]
                )
              ]
              spids: [4998]
            )
            (C {(DQ (${ VSub_Name TAR))} {(czf)} {(DQ (${ VSub_Name tarfile))} {(-C)} 
              {(DQ (${ VSub_Name stagingdir))} {(kubernetes)} {(--owner) (Lit_Other '=') (0)} {(--group) (Lit_Other '=') (0)}
            )
          ]
          spids: [4979]
        )
      spids: [4967 4978]
    )
  ]
)