(CommandList
  children: [
    (C {(set)} {(-eu)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OUTPUT)
          op: Equal
          rhs: {(DQ (${ VSub_Name PWD) (/) ($ VSub_Number "$1"))}
          spids: [59]
        )
      ]
      spids: [59]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP_DIR)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TMPDIR>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(Lit_Slash /) (tmp)})
                spids: [72 77]
              )
            }
          spids: [71]
        )
      ]
      spids: [71]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PACKAGE_DIR)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(mktemp)} {(-d)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name TMP_DIR>
                              suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(Lit_Slash /)})
                              spids: [86 90]
                            ) (/bazel.XXXXXXXX)
                          }
                        )
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [81 92]
                )
              )
            }
          spids: [79]
        )
      ]
      spids: [79]
    )
    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name PACKAGE_DIR))})
    (C {(trap)} 
      {
        (DQ ("rm -fr ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name PACKAGE_DIR) 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
        )
      } {(EXIT)}
    )
    (ForEach
      iter_name: i
      iter_words: [{($ VSub_Star "$*")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$i"))} {(Lit_Other "=")} 
                          {(DQ (tools/objc/xcrunwrapper.sh))} {(Lit_Other "]")}
                        )
                        (AndOr
                          children: [
                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$i"))} {(Lit_Other "=")} 
                              {(DQ (tools/objc/libtool.sh))} {(Lit_Other "]")}
                            )
                            (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$i"))} {(Lit_Other "=")} 
                              {(DQ (tools/objc/make_hashed_objlist.py))} {(Lit_Other "]")}
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [-1 193]
                )
              ]
              spids: [-1 199]
            )
            (Case
              to_match: {(DQ ($ VSub_Name "$i"))}
              arms: [
                (case_arm
                  pat_list: [{(Lit_Other "*") (tools/jdk/BUILD) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/BUILD)}
                          spids: [217]
                        )
                      ]
                      spids: [217]
                    )
                  ]
                  spids: [212 215 220 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (JavaBuilder) (Lit_Other "*") (_deploy.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/JavaBuilder_deploy.jar)}
                          spids: [229]
                        )
                      ]
                      spids: [229]
                    )
                  ]
                  spids: [223 227 232 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (turbine_deploy.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/turbine_deploy.jar)}
                          spids: [239]
                        )
                      ]
                      spids: [239]
                    )
                  ]
                  spids: [235 237 242 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (javac.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(third_party/java/jdk/langtools/javac.jar)}
                          spids: [249]
                        )
                      ]
                      spids: [249]
                    )
                  ]
                  spids: [245 247 252 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (javac7.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(third_party/java/jdk/langtools/javac7.jar)}
                          spids: [259]
                        )
                      ]
                      spids: [259]
                    )
                  ]
                  spids: [255 257 262 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (SingleJar_deploy.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/SingleJar_deploy.jar)}
                          spids: [269]
                        )
                      ]
                      spids: [269]
                    )
                  ]
                  spids: [265 267 272 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (GenClass_deploy.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/GenClass_deploy.jar)}
                          spids: [279]
                        )
                      ]
                      spids: [279]
                    )
                  ]
                  spids: [275 277 282 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (Runner_deploy.jar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/TestRunner_deploy.jar)}
                          spids: [289]
                        )
                      ]
                      spids: [289]
                    )
                  ]
                  spids: [285 287 292 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (ijar.exe)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/ijar/ijar.exe)}
                          spids: [299]
                        )
                      ]
                      spids: [299]
                    )
                  ]
                  spids: [295 297 302 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (ijar)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/jdk/ijar/ijar)}
                          spids: [309]
                        )
                      ]
                      spids: [309]
                    )
                  ]
                  spids: [305 307 312 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (zipper.exe)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/zip/zipper/zipper.exe)}
                          spids: [319]
                        )
                      ]
                      spids: [319]
                    )
                  ]
                  spids: [315 317 322 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (zipper)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/zip/zipper/zipper)}
                          spids: [329]
                        )
                      ]
                      spids: [329]
                    )
                  ]
                  spids: [325 327 332 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (src/objc_tools/) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: 
                            {(tools/objc/precomp_) 
                              (BracedVarSub
                                token: <VSub_Name i>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_DPound
                                    arg_word: {("*") (Lit_Slash /)}
                                  )
                                spids: [342 347]
                              )
                            }
                          spids: [340]
                        )
                      ]
                      spids: [340]
                    )
                  ]
                  spids: [335 338 349 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (xcode) (Lit_Other "*") (StdRedirect.dylib)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/objc/StdRedirect.dylib)}
                          spids: [358]
                        )
                      ]
                      spids: [358]
                    )
                  ]
                  spids: [352 356 361 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (xcode) (Lit_Other "*") (make_hashed_objlist.py)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/objc/make_hashed_objlist.py)}
                          spids: [370]
                        )
                      ]
                      spids: [370]
                    )
                  ]
                  spids: [364 368 373 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (xcode) (Lit_Other "*") (realpath)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/objc/realpath)}
                          spids: [382]
                        )
                      ]
                      spids: [382]
                    )
                  ]
                  spids: [376 380 385 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (xcode) (Lit_Other "*") (xcode-locator)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: {(tools/objc/xcode-locator)}
                          spids: [394]
                        )
                      ]
                      spids: [394]
                    )
                  ]
                  spids: [388 392 397 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (src/tools/xcode/) (Lit_Other "*") (.sh)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: 
                            {(tools/objc/) 
                              (BracedVarSub
                                token: <VSub_Name i>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_DPound
                                    arg_word: {("*") (Lit_Slash /)}
                                  )
                                spids: [408 413]
                              )
                            }
                          spids: [406]
                        )
                      ]
                      spids: [406]
                    )
                  ]
                  spids: [400 404 415 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*") (src/tools/xcode/) (Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: 
                            {(tools/objc/) 
                              (BracedVarSub
                                token: <VSub_Name i>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VOp1_DPound
                                    arg_word: {("*") (Lit_Slash /)}
                                  )
                                spids: [425 430]
                              ) (.sh)
                            }
                          spids: [423]
                        )
                      ]
                      spids: [423]
                    )
                  ]
                  spids: [418 421 433 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:OUTPUT_PATH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {($ VSub_Name "$i")})
                                          (C {(sed)} {(SQ <"s_^.*bazel-out/[^/]*/bin/__">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [440 452]
                              )
                            }
                          spids: [439]
                        )
                      ]
                      spids: [439]
                    )
                  ]
                  spids: [436 437 454 -1]
                )
              ]
              spids: [203 209 457]
            )
            (C {(mkdir)} {(-p)} 
              {
                (DQ (${ VSub_Name PACKAGE_DIR) (/) 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [(C {(dirname)} {(DQ (${ VSub_Name OUTPUT_PATH))})]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [470 478]
                  )
                )
              }
            )
            (C {(cp)} {(DQ ($ VSub_Name "$i"))} 
              {(DQ (${ VSub_Name PACKAGE_DIR) (/) (${ VSub_Name OUTPUT_PATH))}
            )
          ]
          spids: [128 498]
        )
      spids: [124 126]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other "[")} {(KW_Bang "!")} {(-f)} 
                  {(${ VSub_Name PACKAGE_DIR) (/third_party/java/jdk/langtools/javac.jar)} {(Lit_Other "]")}
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(cp)} {(${ VSub_Name PACKAGE_DIR) (/third_party/java/jdk/langtools/javac7.jar)} 
              {(${ VSub_Name PACKAGE_DIR) (/third_party/java/jdk/langtools/javac.jar)}
            )
          ]
          spids: [-1 517]
        )
      ]
      spids: [-1 534]
    )
    (SimpleCommand
      words: [{(cat)}]
      redirects: [
        (Redir
          op_id: Redir_Great
          fd: -1
          arg_word: {(DQ (${ VSub_Name PACKAGE_DIR) (/WORKSPACE))}
          spids: [539]
        )
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("workspace(name = ") (Right_DoubleQuote "\"") (bazel_tools) (Right_DoubleQuote "\"") 
                (")\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [548]
        )
      ]
    )
    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name PACKAGE_DIR) (/tools/defaults))})
    (C {(touch)} {(DQ (${ VSub_Name PACKAGE_DIR) (/tools/defaults/BUILD))})
    (ForEach
      iter_name: i
      iter_words: [
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [(C {(find)} {(DQ (${ VSub_Name PACKAGE_DIR))} {(-name)} {(BUILD.tools)})]
              )
            left_token: <Left_CommandSub "$(">
            spids: [582 594]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(mv)} {(DQ ($ VSub_Name "$i"))} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Name "$i"))})])
                    left_token: <Left_CommandSub "$(">
                    spids: [607 613]
                  ) (/BUILD)
                )
              }
            )
          ]
          spids: [597 617]
        )
      spids: [581 595]
    )
    (C {(find)} {(DQ (${ VSub_Name PACKAGE_DIR))} {(-exec)} {(touch)} {(-t)} {(198001010000.00)} 
      {(SQ <"{}">)} {(SQ <"+">)}
    )
    (Subshell
      child: 
        (AndOr
          children: [
            (C {(cd)} {(DQ (${ VSub_Name PACKAGE_DIR))})
            (Pipeline
              children: [
                (C {(find)} {(.)} {(-type)} {(f)})
                (C {(sort)})
                (C {(zip)} {(-qDX) (Lit_Other "@")} {(DQ (${ VSub_Name OUTPUT))})
              ]
              negated: False
            )
          ]
          op_id: Op_DAmp
        )
      spids: [643 678]
    )
  ]
)