(CommandList
  children: [
    (C {(set)} {(-e)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  children: [
                    (DBracket
                      expr: 
                        (LogicalNot
                          child: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: {($ VSub_Name "$BOOTSTRAP_HTTP_PROXY")}
                            )
                        )
                    )
                    (DBracket
                      expr: 
                        (LogicalNot
                          child: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: {($ VSub_Name "$BOOTSTRAP_HTTPS_PROXY")}
                            )
                        )
                    )
                  ]
                  op_id: Op_DPipe
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(DQ ("Testing configured proxies..."))})
            (C {(source)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/shared/shared_proxy_setup.sh)})
          ]
          spids: [-1 37]
        )
      ]
      spids: [-1 52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:REQUIRED_VARS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(BOOTSTRAP_CACHE_DIR)}{(REPO_ROOT)}])}
          spids: [55]
        )
      ]
      spids: [55]
    )
    (C {(check_for_envvars)} 
      {
        (BracedVarSub
          token: <VSub_Name REQUIRED_VARS>
          bracket_op: (WholeArray op_id:Lit_At)
          spids: [66 71]
        )
      }
    )
    (C {(source)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/config/build_bins_versions.sh)})
    (C {(mkdir)} {(-p)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR")})
    (FuncDef
      name: download_file
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:FILE)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [103]
                )
              ]
              spids: [103]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:URL)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [107]
                )
              ]
              spids: [107]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_f
                                  child: 
                                    {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$FILE")}
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_f
                                      child: 
                                        {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name FILE) 
                                          (_downloaded)
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(rm)} {(-f)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$FILE")})
                  ]
                  spids: [-1 142]
                )
              ]
              spids: [-1 154]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_f
                                      child: 
                                        {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) 
                                          ($ VSub_Name "$FILE")
                                        }
                                    )
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_f
                                      child: 
                                        {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name FILE) 
                                          (_downloaded)
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {($ VSub_Name "$FILE")})
                    (C {(rm)} {(-f)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$FILE")})
                    (C {(curl)} {(-L)} {(--progress-bar)} {(-o)} 
                      {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$FILE")} {($ VSub_Name "$URL")}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: {($ VSub_QMark "$?")}
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(echo)} 
                              {
                                (DQ ("Received error when attempting to download from ") 
                                  (${ VSub_Name URL) (.)
                                )
                              }
                            )
                          ]
                          spids: [-1 231]
                        )
                      ]
                      spids: [-1 245]
                    )
                    (C {(touch)} 
                      {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name FILE) (_downloaded)}
                    )
                  ]
                  spids: [-1 186]
                )
              ]
              spids: [-1 258]
            )
          ]
          spids: [100]
        )
      spids: [96 99]
    )
    (FuncDef
      name: cleanup_cookbook
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COOKBOOK)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [276]
                )
              ]
              spids: [276]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_TO_KEEP)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [280]
                )
              ]
              spids: [280]
            )
            (AndOr
              children: [
                (C {(find)} {(${ VSub_Name BOOTSTRAP_CACHE_DIR) (/cookbooks/)} {(-name)} 
                  {(${ VSub_Name COOKBOOK) (-) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
                    (.tar.gz)
                  } {(-and)} {(-not)} {(-name)} {(${ VSub_Name COOKBOOK) (-) (${ VSub_Name VERSION_TO_KEEP) (.tar.gz)} 
                  {(-delete)}
                )
                (C {(true)})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(find)} {(${ VSub_Name BOOTSTRAP_CACHE_DIR) (/cookbooks/)} {(-name)} 
                  {(${ VSub_Name COOKBOOK) (-) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) 
                    (.tar.gz_downloaded)
                  } {(-and)} {(-not)} {(-name)} 
                  {(${ VSub_Name COOKBOOK) (-) (${ VSub_Name VERSION_TO_KEEP) (.tar.gz_downloaded)} {(-delete)}
                )
                (C {(true)})
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [273]
        )
      spids: [269 272]
    )
    (FuncDef
      name: download_cookbook
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COOKBOOK)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [377]
                )
              ]
              spids: [377]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VERSION_TO_GET)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [381]
                )
              ]
              spids: [381]
            )
            (C {(download_file)} 
              {(cookbooks/) (${ VSub_Name COOKBOOK) (-) (${ VSub_Name VERSION_TO_GET) (.tar.gz)} 
              {(http) (Lit_Other ":") (//cookbooks.opscode.com/api/v1/cookbooks/) 
                (${ VSub_Name COOKBOOK) (/versions/) (${ VSub_Name VERSION_TO_GET) (/download)
              }
            )
          ]
          spids: [374]
        )
      spids: [370 373]
    )
    (FuncDef
      name: cleanup_and_download_cookbook
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COOKBOOK)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [423]
                )
              ]
              spids: [423]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:TARGET_VERSION)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [427]
                )
              ]
              spids: [427]
            )
            (C {(cleanup_cookbook)} {(${ VSub_Name COOKBOOK)} {(${ VSub_Name TARGET_VERSION)})
            (C {(download_cookbook)} {(${ VSub_Name COOKBOOK)} {(${ VSub_Name TARGET_VERSION)})
          ]
          spids: [420]
        )
      spids: [416 419]
    )
    (FuncDef
      name: clone_repo
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:URL)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [466]
                )
              ]
              spids: [466]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DIR)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [470]
                )
              ]
              spids: [470]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:VER)
                  op: Equal
                  rhs: {($ VSub_Number "$3")}
                  spids: [474]
                )
              ]
              spids: [474]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_d
                              child: 
                                {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$DIR") (/.git)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (AndOr
                      children: [
                        (Pipeline
                          children: [
                            (C {(git)} {(-C)} 
                              {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$DIR")} {(log)} {(--pretty) (Lit_Other "=") (format) (Lit_Other ":") (SQ <"%H">)}
                            )
                            (C {(grep)} {(-q)} {($ VSub_Name "$VER")})
                          ]
                          negated: False
                        )
                        (C {(git)} {(-C)} 
                          {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$DIR")} {(pull)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [-1 493]
                )
              ]
              else_action: [
                (C {(git)} {(clone)} {($ VSub_Name "$URL")} 
                  {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$DIR")}
                )
              ]
              spids: [539 553]
            )
          ]
          spids: [463]
        )
      spids: [459 462]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ROM)
          op: Equal
          rhs: {(gpxe-1.0.1-80861004.rom)}
          spids: [564]
        )
      ]
      spids: [564]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (LogicalAnd
                      left: 
                        (BoolUnary
                          op_id: BoolUnary_f
                          child: {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$ROM")}
                        )
                      right: 
                        (LogicalNot
                          child: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: 
                                {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name ROM) 
                                  (_downloaded)
                                }
                            )
                        )
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(rm)} {(-f)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$ROM")})]
          spids: [-1 593]
        )
      ]
      spids: [-1 604]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (LogicalAnd
                      left: 
                        (LogicalNot
                          child: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$ROM")}
                            )
                        )
                      right: 
                        (LogicalNot
                          child: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: 
                                {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name ROM) 
                                  (_downloaded)
                                }
                            )
                        )
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {($ VSub_Name "$ROM")})
            (C {(rm)} {(-f)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$ROM")})
            (C {(curl)} {(-L)} {(--progress-bar)} {(-o)} 
              {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) ($ VSub_Name "$ROM")} {(DQ ("http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php"))} {(-H)} 
              {(DQ ("Origin: http://rom-o-matic.net"))} {(-H)} {(DQ ("Host: rom-o-matic.net"))} {(-H)} {(DQ ("Content-Type: application/x-www-form-urlencoded"))} 
              {(-H)} {(DQ ("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"))} {(-H)} 
              {
                (DQ ("Referer: http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php"))
              } {(-H)} {(DQ ("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3"))} {(--data)} 
              {
                (DQ 
                  (
"version=1.0.1&use_flags=1&ofmt=ROM+binary+%28flashable%29+image+%28.rom%29&nic=all-drivers&pci_vendor_code=8086&pci_device_code=1004&PRODUCT_NAME=&PRODUCT_SHORT_NAME=gPXE&CONSOLE_PCBIOS=on&BANNER_TIMEOUT=20&NET_PROTO_IPV4=on&COMCONSOLE=0x3F8&COMSPEED=115200&COMDATA=8&COMPARITY=0&COMSTOP=1&DOWNLOAD_PROTO_TFTP=on&DNS_RESOLVER=on&NMB_RESOLVER=off&IMAGE_ELF=on&IMAGE_NBI=on&IMAGE_MULTIBOOT=on&IMAGE_PXE=on&IMAGE_SCRIPT=on&IMAGE_BZIMAGE=on&IMAGE_COMBOOT=on&AUTOBOOT_CMD=on&NVO_CMD=on&CONFIG_CMD=on&IFMGMT_CMD=on&IWMGMT_CMD=on&ROUTE_CMD=on&IMAGE_CMD=on&DHCP_CMD=on&SANBOOT_CMD=on&LOGIN_CMD=on&embedded_script=&A=Get+Image"
                  )
                )
              }
            )
            (C {(touch)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/) (${ VSub_Name ROM) (_downloaded)})
          ]
          spids: [-1 634]
        )
      ]
      spids: [-1 719]
    )
    (C {(download_file)} {(ubuntu-14.04-mini.iso)} 
      {(http) (Lit_Other ":") 
        (
//archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VBOX_VERSION) op:Equal rhs:{(5.0.10)} spids:[737])]
      spids: [737]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VBOX_ADDITIONS)
          op: Equal
          rhs: {(VBoxGuestAdditions_) ($ VSub_Name "$VBOX_VERSION") (.iso)}
          spids: [740]
        )
      ]
      spids: [740]
    )
    (C {(download_file)} {($ VSub_Name "$VBOX_ADDITIONS")} 
      {(http) (Lit_Other ":") (//download.virtualbox.org/virtualbox/) ($ VSub_Name "$VBOX_VERSION") (/) 
        ($ VSub_Name "$VBOX_ADDITIONS")
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:BOX)
          op: Equal
          rhs: {(trusty-server-cloudimg-amd64-vagrant-disk1.box)}
          spids: [760]
        )
      ]
      spids: [760]
    )
    (C {(download_file)} {($ VSub_Name "$BOX")} 
      {(http) (Lit_Other ":") (//cloud-images.ubuntu.com/vagrant/trusty/current/) ($ VSub_Name "$BOX")}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHEF_CLIENT_DEB)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name CHEF_CLIENT_DEB>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(chef_12.9.41-1_amd64.deb)})
                spids: [777 781]
              )
            }
          spids: [776]
        )
      ]
      spids: [776]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CHEF_SERVER_DEB)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name CHEF_SERVER_DEB>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(chef-server-core_12.6.0-1_amd64.deb)}
                  )
                spids: [784 788]
              )
            }
          spids: [783]
        )
      ]
      spids: [783]
    )
    (C {(download_file)} {($ VSub_Name "$CHEF_CLIENT_DEB")} 
      {(https) (Lit_Other ":") (//packages.chef.io/stable/ubuntu/10.04/) 
        ($ VSub_Name "$CHEF_CLIENT_DEB")
      }
    )
    (C {(download_file)} {($ VSub_Name "$CHEF_SERVER_DEB")} 
      {(https) (Lit_Other ":") (//packages.chef.io/stable/ubuntu/14.04/) 
        ($ VSub_Name "$CHEF_SERVER_DEB")
      }
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/cookbooks)})
    (C {(cleanup_and_download_cookbook)} {(apt)} {(${ VSub_Name VER_APT_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(chef-client)} {(${ VSub_Name VER_CHEF_CLIENT_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(chef_handler)} {(${ VSub_Name VER_CHEF_HANDLER_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(concat)} {(${ VSub_Name VER_CONCAT_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(cron)} {(${ VSub_Name VER_CRON_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(hostsfile)} {(${ VSub_Name VER_HOSTSFILE_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(logrotate)} {(${ VSub_Name VER_LOGROTATE_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(ntp)} {(${ VSub_Name VER_NTP_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(ubuntu)} {(${ VSub_Name VER_UBUNTU_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(windows)} {(${ VSub_Name VER_WINDOWS_COOKBOOK)})
    (C {(cleanup_and_download_cookbook)} {(yum)} {(${ VSub_Name VER_YUM_COOKBOOK)})
    (C {(download_file)} {(knife-acl-1.0.2.gem)} 
      {(https) (Lit_Other ":") (//rubygems.global.ssl.fastly.net/gems/knife-acl-1.0.2.gem)}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GEMS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(arr-pm-0.0.10)}
                  {(backports-3.6.4)}
                  {(cabin-0.7.1)}
                  {(childprocess-0.5.6)}
                  {(clamp-0.6.5)}
                  {(ffi-1.9.8)}
                  {(fpm-1.3.3)}
                  {(json-1.8.2)}
                ]
              )
            }
          spids: [926]
        )
      ]
      spids: [926]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/fpm_gems)})
    (ForEach
      iter_name: GEM
      iter_words: [
        {(BracedVarSub token:<VSub_Name GEMS> bracket_op:(WholeArray op_id:Lit_At) spids:[961966])}
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(download_file)} {(fpm_gems/) ($ VSub_Name "$GEM") (.gem)} 
              {(https) (Lit_Other ":") (//rubygems.global.ssl.fastly.net/gems/) ($ VSub_Name "$GEM") 
                (.gem)
              }
            )
          ]
          spids: [969 984]
        )
      spids: [960 967]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:GEMS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(excon-0.45.3)}
                  {(multi_json-1.11.2)}
                  {(multipart-post-2.0.0)}
                  {(faraday-0.9.1)}
                  {(elasticsearch-api-1.0.12)}
                  {(elasticsearch-transport-1.0.12)}
                  {(elasticsearch-1.0.12)}
                  {(fluent-plugin-elasticsearch-0.9.0)}
                ]
              )
            }
          spids: [990]
        )
      ]
      spids: [990]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/fluentd_gems)})
    (ForEach
      iter_name: GEM
      iter_words: [
        {
          (BracedVarSub
            token: <VSub_Name GEMS>
            bracket_op: (WholeArray op_id:Lit_At)
            spids: [1027 1032]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(download_file)} {(fluentd_gems/) ($ VSub_Name "$GEM") (.gem)} 
              {(https) (Lit_Other ":") (//rubygems.global.ssl.fastly.net/gems/) ($ VSub_Name "$GEM") 
                (.gem)
              }
            )
          ]
          spids: [1035 1050]
        )
      spids: [1026 1033]
    )
    (C {(download_file)} {(cirros-0.3.4-x86_64-disk.img)} 
      {(http) (Lit_Other ":") (//download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img)}
    )
    (C {(rm)} {(-f)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/kibana-4.0.2-linux-x64.tar.gz_downloaded)} 
      {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/kibana-4.0.2-linux-x64.tar.gz)}
    )
    (C {(rm)} {(-rf)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/diamond_downloaded)} 
      {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/diamond)}
    )
    (C {(clone_repo)} {(https) (Lit_Other ":") (//github.com/python-diamond/Diamond)} {(python-diamond)} 
      {($ VSub_Name "$VER_DIAMOND")}
    )
    (C {(clone_repo)} {(https) (Lit_Other ":") (//github.com/mobz/elasticsearch-head)} 
      {(elasticsearch-head)} {($ VSub_Name "$VER_ESPLUGIN")}
    )
    (C {(download_file)} {(pyrabbit-1.0.1.tar.gz)} 
      {(https) (Lit_Other ":") (//pypi.python.org/packages/source/p/pyrabbit/pyrabbit-1.0.1.tar.gz)}
    )
    (C {(download_file)} {(requests-aws-0.1.6.tar.gz)} 
      {(https) (Lit_Other ":") 
        (//pypi.python.org/packages/source/r/requests-aws/requests-aws-0.1.6.tar.gz)
      }
    )
    (C {(download_file)} {(pyzabbix-0.7.3.tar.gz)} 
      {(https) (Lit_Other ":") (//pypi.python.org/packages/source/p/pyzabbix/pyzabbix-0.7.3.tar.gz)}
    )
    (C {(download_file)} {(pagerduty-zabbix-proxy.py)} 
      {(https) (Lit_Other ":") 
        (
//gist.githubusercontent.com/ryanhoskin/202a1497c97b0072a83a/raw/96e54cecdd78e7990bb2a6cc8f84070599bdaf06/pd-zabbix-proxy.py
        )
      }
    )
    (C {(download_file)} {(carbon-) (${ VSub_Name VER_GRAPHITE_CARBON) (.tar.gz)} 
      {(http) (Lit_Other ":") (//pypi.python.org/packages/source/c/carbon/carbon-) 
        (${ VSub_Name VER_GRAPHITE_CARBON) (.tar.gz)
      }
    )
    (C {(download_file)} {(whisper-) (${ VSub_Name VER_GRAPHITE_WHISPER) (.tar.gz)} 
      {(http) (Lit_Other ":") (//pypi.python.org/packages/source/w/whisper/whisper-) 
        (${ VSub_Name VER_GRAPHITE_WHISPER) (.tar.gz)
      }
    )
    (C {(download_file)} {(graphite-web-) (${ VSub_Name VER_GRAPHITE_WEB) (.tar.gz)} 
      {(http) (Lit_Other ":") (//pypi.python.org/packages/source/g/graphite-web/graphite-web-) 
        (${ VSub_Name VER_GRAPHITE_WEB) (.tar.gz)
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RALLY_PACKAGES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(Babel-1.3.tar.gz)}
                  {(Jinja2-2.7.3.tar.gz)}
                  {(Mako-1.0.1.tar.gz)}
                  {(MarkupSafe-0.23.tar.gz)}
                  {(PyYAML-3.11.tar.gz)}
                  {(Pygments-2.0.2.tar.gz)}
                  {(SQLAlchemy-0.9.9.tar.gz)}
                  {(Sphinx-1.2.3.tar.gz)}
                  {(Tempita-0.5.2.tar.gz)}
                  {(alembic-0.7.6.tar.gz)}
                  {(anyjson-0.3.3.tar.gz)}
                  {(appdirs-1.4.0.tar.gz)}
                  {(argparse-1.3.0.tar.gz)}
                  {(boto-2.38.0.tar.gz)}
                  {(cffi-1.1.0.tar.gz)}
                  {(cliff-1.12.0.tar.gz)}
                  {(cliff-tablib-1.1.tar.gz)}
                  {(cmd2-0.6.8.tar.gz)}
                  {(cryptography-0.9.tar.gz)}
                  {(debtcollector-0.4.0.tar.gz)}
                  {(decorator-3.4.2.tar.gz)}
                  {(docutils-0.12.tar.gz)}
                  {(ecdsa-0.13.tar.gz)}
                  {(enum34-1.0.4.tar.gz)}
                  {(extras-0.0.3.tar.gz)}
                  {(fixtures-1.2.0.tar.gz)}
                  {(futures-3.0.2.tar.gz)}
                  {(httplib2-0.9.1.tar.gz)}
                  {(idna-2.0.tar.gz)}
                  {(ipaddress-1.0.7.tar.gz)}
                  {(iso8601-0.1.10.tar.gz)}
                  {(jsonpatch-1.11.tar.gz)}
                  {(jsonpointer-1.9.tar.gz)}
                  {(jsonschema-2.4.0.tar.gz)}
                  {(linecache2-1.0.0.tar.gz)}
                  {(lxml-3.4.4.tar.gz)}
                  {(msgpack-python-0.4.6.tar.gz)}
                  {(netaddr-0.7.14.tar.gz)}
                  {(netifaces-0.10.4.tar.gz)}
                  {(ordereddict-1.1.tar.gz)}
                  {(os-client-config-1.2.0.tar.gz)}
                  {(oslo.config-1.11.0.tar.gz)}
                  {(oslo.context-0.3.0.tar.gz)}
                  {(oslo.db-1.9.0.tar.gz)}
                  {(oslo.i18n-1.6.0.tar.gz)}
                  {(oslo.log-1.2.0.tar.gz)}
                  {(oslo.serialization-1.5.0.tar.gz)}
                  {(oslo.utils-1.5.0.tar.gz)}
                  {(paramiko-1.15.2.tar.gz)}
                  {(pbr-1.0.1.tar.gz)}
                  {(pip-7.0.3.tar.gz)}
                  {(psycopg2-2.6.tar.gz)}
                  {(pyOpenSSL-0.15.1.tar.gz)}
                  {(pyasn1-0.1.7.tar.gz)}
                  {(pycparser-2.13.tar.gz)}
                  {(pycrypto-2.6.1.tar.gz)}
                  {(pyparsing-2.0.3.tar.gz)}
                  {(python-ceilometerclient-1.2.0.tar.gz)}
                  {(python-cinderclient-1.2.1.tar.gz)}
                  {(python-designateclient-1.2.0.tar.gz)}
                  {(python-glanceclient-0.18.0.tar.gz)}
                  {(python-heatclient-0.6.0.tar.gz)}
                  {(python-ironicclient-0.6.0.tar.gz)}
                  {(python-keystoneclient-1.5.0.tar.gz)}
                  {(python-mimeparse-0.1.4.tar.gz)}
                  {(python-neutronclient-2.5.0.tar.gz)}
                  {(python-novaclient-2.25.0.tar.gz)}
                  {(python-openstackclient-1.3.0.tar.gz)}
                  {(python-saharaclient-0.9.0.tar.gz)}
                  {(python-subunit-1.1.0.tar.gz)}
                  {(python-swiftclient-2.4.0.tar.gz)}
                  {(python-troveclient-1.1.0.tar.gz)}
                  {(python-zaqarclient-0.1.1.tar.gz)}
                  {(pytz-2015.4.tar.gz)}
                  {(rally-0.0.4.tar.gz)}
                  {(requests-2.7.0.tar.gz)}
                  {(setuptools-17.0.tar.gz)}
                  {(simplejson-3.7.2.tar.gz)}
                  {(six-1.9.0.tar.gz)}
                  {(sqlalchemy-migrate-0.9.6.tar.gz)}
                  {(sqlparse-0.1.15.tar.gz)}
                  {(stevedore-1.4.0.tar.gz)}
                  {(tablib-0.10.0.tar.gz)}
                  {(testresources-0.2.7.tar.gz)}
                  {(testscenarios-0.5.0.tar.gz)}
                  {(testtools-1.8.0.tar.gz)}
                  {(traceback2-1.4.0.tar.gz)}
                  {(unittest2-1.0.1.tar.gz)}
                  {(warlock-1.1.0.tar.gz)}
                  {(wrapt-1.10.4.tar.gz)}
                ]
              )
            }
          spids: [1205]
        )
      ]
      spids: [1205]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(uname)})])
                            left_token: <Left_CommandSub "$(">
                            spids: [1398 1400]
                          )
                        }
                      right: {(DQ (Darwin))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SED)
                      op: Equal
                      rhs: {(DQ ("sed -E"))}
                      spids: [1413]
                    )
                  ]
                  spids: [1413]
                )
              terminator: <Op_Semi ";">
            )
          ]
          spids: [-1 1411]
        )
      ]
      else_action: [
        (Sentence
          child: 
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SED)
                  op: Equal
                  rhs: {(DQ ("sed -r"))}
                  spids: [1421]
                )
              ]
              spids: [1421]
            )
          terminator: <Op_Semi ";">
        )
      ]
      spids: [1419 1427]
    )
    (C {(mkdir)} {(-p)} {($ VSub_Name "$BOOTSTRAP_CACHE_DIR") (/rally)})
    (ForEach
      iter_name: RALLY_PACKAGE
      iter_words: [
        {
          (BracedVarSub
            token: <VSub_Name RALLY_PACKAGES>
            bracket_op: (WholeArray op_id:Lit_At)
            spids: [1442 1447]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:BARE_PACKAGE_NAME)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} {($ VSub_Name "$RALLY_PACKAGE")})
                                  (C {($ VSub_Name "$SED")} {(SQ <"s/^(.+)-.+$/\\1/">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1454 1466]
                      )
                    }
                  spids: [1453]
                )
              ]
              spids: [1453]
            )
            (C {(download_file)} {(rally/) ($ VSub_Name "$RALLY_PACKAGE")} 
              {(https) (Lit_Other ":") (//pypi.python.org/packages/source/) 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {($ VSub_Name "$RALLY_PACKAGE")})
                            (C {(cut)} {(-c1)} {(-)})
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub "$(">
                  spids: [1477 1489]
                ) (/) ($ VSub_Name "$BARE_PACKAGE_NAME") (/) ($ VSub_Name "$RALLY_PACKAGE")
              }
            )
          ]
          spids: [1450 1495]
        )
      spids: [1441 1448]
    )
    (C {(download_file)} {(rally/prettytable-0.7.2.tar.gz)} 
      {(https) (Lit_Other ":") 
        (//pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.gz)
      }
    )
  ]
)