(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [87 95]
                ) (/..)
              )
            }
          spids: [85]
        )
      ]
      spids: [85]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/build/common.sh))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_z
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name REGISTRY>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)})
                              spids: [116 119]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('REGISTRY must be set'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
          ]
          spids: [16777215 125]
        )
      ]
      spids: [16777215 139]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_z
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name VERSION>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)})
                              spids: [148 151]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('VERSION must be set'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
          ]
          spids: [16777215 157]
        )
      ]
      spids: [16777215 171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:IMAGE)
          op: Equal
          rhs: {(DQ (${ VSub_Name REGISTRY) ('/hyperkube-amd64:') (${ VSub_Name VERSION))}
          spids: [174]
        )
      ]
      spids: [174]
    )
    (C 
      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (verify_prereqs)}
    )
    (C {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (build_image)})
    (C 
      {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (run_build_command)} {(make)} {(Lit_VarLike 'WHAT=') (cmd/hyperkube)}
    )
    (C {(kube) (Lit_Other ':') (Lit_Other ':') (build) (Lit_Other ':') (Lit_Other ':') (copy_output)})
    (C {(make)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/images/hyperkube))} {(build)})
    (C {(docker)} {(push)} {(DQ (${ VSub_Name IMAGE))})
  ]
)