(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: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [64 72]
              ) (/..)
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (C {(cd)} {(DQ (${ VSub_Name KUBE_ROOT))})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(0)} spids:[84])]
      spids: [84]
    )
    (FuncDef
      name: find_e2e_test_untagged_gcr_images
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(grep)} {(-o)} {(-E)} {(-e)} {(SQ <'gcr.io/[-a-z0-9/_:.]+'>)} 
                  {(test/e2e/) (Lit_Other '*') (.go)}
                )
                (C {(grep)} {(-v)} {(-E)} {(DQ ('gcr.io/.*:'))})
                (C {(cut)} {(-d)} {(DQ (':'))} {(-f)} {(1)})
                (SimpleCommand
                  words: [{(sort)} {(-u)}]
                  more_env: [(env_pair name:LC_ALL val:{(C)} spids:[142])]
                )
              ]
              negated: False
            )
          ]
          spids: [95]
        )
      spids: [91 94]
    )
    (FuncDef
      name: find_e2e_test_latest_gcr_images
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(grep)} {(-o)} {(-E)} {(-e)} {(SQ <'gcr.io/.*:latest'>)} 
                  {(test/e2e/) (Lit_Other '*') (.go)}
                )
                (C {(cut)} {(-d)} {(DQ (':'))} {(-f)} {(1)})
                (SimpleCommand
                  words: [{(sort)} {(-u)}]
                  more_env: [(env_pair name:LC_ALL val:{(C)} spids:[195])]
                )
              ]
              negated: False
            )
          ]
          spids: [160]
        )
      spids: [156 159]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(find_e2e_test_latest_gcr_images)}) terminator:<Op_Semi ';'>)]
          action: [
            (C {(echo)} {(DQ ('!!! Found :latest gcr.io images in the above files'))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[220])]
              spids: [220]
            )
          ]
          spids: [16777215 210]
        )
      ]
      spids: [16777215 223]
    )
    (If
      arms: [
        (if_arm
          cond: [(Sentence child:(C {(find_e2e_test_untagged_gcr_images)}) terminator:<Op_Semi ';'>)]
          action: [
            (C {(echo)} {(DQ ('!!! Found untagged gcr.io images in the above files'))})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:result) op:Equal rhs:{(1)} spids:[241])]
              spids: [241]
            )
          ]
          spids: [16777215 231]
        )
      ]
      spids: [16777215 244]
    )
    (C {(exit)} {(${ VSub_Name result)})
  ]
)