(command.CommandList
  children: [
    (C {<Id.KW_Set set>} {<-e>})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Unary
                      op_id: Id.BoolUnary_z
                      child: {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT')}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Simple
              words: [{<echo>} {(DQ <'FILECACHE_MOUNT_POINT must be set to proceed! Exiting.'>)}]
              redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})]
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [27 38]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Unary
                      op_id: Id.BoolUnary_z
                      child: {($ Id.VSub_DollarName '$BUILD_DEST')}
                    )
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.Sentence
              child: 
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:BUILD_DEST)
                      op: assign_op.Equal
                      rhs: {<cookbooks/bcpc-binary-files/files/default>}
                      spids: [70]
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [57 68]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUILD_CACHE_DIR)
          op: assign_op.Equal
          rhs: {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </build_bins_cache>}
          spids: [80]
        )
      ]
    )
    (C {<source>} {<bootstrap/config/build_bins_versions.sh>})
    (C {<pushd>} {($ Id.VSub_DollarName '$BUILD_DEST')})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<-d>} {($ Id.VSub_DollarName '$BUILD_CACHE_DIR')} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {(DQ <'Copying cached build products...'>)})
            (C {<rsync>} {<-avxSH>} {($ Id.VSub_DollarName '$BUILD_CACHE_DIR') </> <Id.Lit_Star '*'>} 
              {
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  command_list: (command.CommandList children:[(C {<pwd>} {<-P>})])
                )
              }
            )
          ]
          spids: [104 115]
        )
      ]
    )
    (C {<apt-get>} {<-y>} {<install>} {<git>} {<ruby-dev>} {<make>} {<pbuilder>} {<python-mock>} 
      {<python-configobj>} {<python-support>} {<cdbs>} {<python-all-dev>} {<python-stdeb>} {<libmysqlclient-dev>} {<libldap2-dev>} 
      {<libxml2-dev>} {<libxslt1-dev>} {<libpq-dev>} {<build-essential>} {<libssl-dev>} {<libffi-dev>} {<python-dev>} 
      {<python-pip>}
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<-z>} 
                  {
                    (command_sub
                      left_token: <Id.Left_Backtick '`'>
                      command_list: 
                        (command.CommandList
                          children: [
                            (command.Pipeline
                              children: [
                                (C {<gem>} {<list>} {<--local>} {<fpm>})
                                (C {<grep>} {<fpm>})
                                (C {<cut>} {<-f1>} {<-d> (DQ <' '>)})
                              ]
                              negated: F
                            )
                          ]
                        )
                    )
                  } {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<pushd>} {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </fpm_gems/>})
            (C {<gem>} {<install>} {<-l>} {<--no-ri>} {<--no-rdoc>} {<arr-pm-0.0.10.gem>} 
              {<backports-3.6.4.gem>} {<cabin-0.7.1.gem>} {<childprocess-0.5.6.gem>} {<clamp-0.6.5.gem>} {<ffi-1.9.8.gem>} {<fpm-1.3.3.gem>} 
              {<json-1.8.2.gem>}
            )
            (C {<popd>})
          ]
          spids: [195 233]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<-f>} {<kibana_> (${ Id.VSub_Name VER_KIBANA) <_amd64.deb>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<rm>} {<-f>} {<kibana_> (${ Id.VSub_Name VER_KIBANA) <_amd64.deb>} 
              {<kibana_> (${ Id.VSub_Name VER_KIBANA) <.tar.gz>}
            )
          ]
          spids: [277 292]
        )
      ]
    )
    (C {<rsync>} {<-avxSH>} 
      {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </fluentd_gems/> <Id.Lit_Star '*'>} 
      {
        (command_sub
          left_token: <Id.Left_DollarParen '$('>
          command_list: (command.CommandList children:[(C {<pwd>} {<-P>})])
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.Pipeline
                          children: [
                            (C {<ls>} {<-1>} 
                              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </fluentd_gems/> 
                                <Id.Lit_Star '*'> <.gem>
                              }
                            )
                            (C {<xargs>})
                          ]
                          negated: F
                        )
                      ]
                    )
                ) <' '> ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [334]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<cirros-0.3.4-x86_64-disk.img>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </cirros-0.3.4-x86_64-disk.img>} {<.>}
            )
          ]
          spids: [358 371]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'cirros-0.3.4-x86_64-disk.img '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [385]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<ubuntu-14.04-mini.iso>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </ubuntu-14.04-mini.iso>} 
              {<ubuntu-14.04-mini.iso>}
            )
          ]
          spids: [395 408]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'ubuntu-14.04-mini.iso '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [422]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: (C {<Id.Lit_LBracket '['>} {<-f>} {<diamond.deb>} {<Id.Lit_RBracket ']'>})
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (command_sub
                              left_token: <Id.Left_Backtick '`'>
                              command_list: 
                                (command.CommandList
                                  children: [
                                    (command.Pipeline
                                      children: [
                                        (C {<dpkg-deb>} {<-f>} {<diamond.deb>} {<Version>})
                                        (C {<cut>} {<-b1>})
                                      ]
                                      negated: F
                                    )
                                  ]
                                )
                            )
                          } {<-le>} {<3>} {<Id.Lit_RBracket ']'>}
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [(C {<rm>} {<-f>} {<diamond.deb>})]
                  spids: [446 475]
                )
              ]
            )
          ]
          spids: [432 443]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<diamond.deb>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<git>} {<clone>} {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </python-diamond>} 
              {<Diamond>}
            )
            (C {<cd>} {<Diamond>})
            (C {<git>} {<checkout>} {($ Id.VSub_DollarName '$VER_DIAMOND')})
            (C {<make>} {<builddeb>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:VERSION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_Backtick '`'>
                        command_list: (command.CommandList children:[(C {<cat>} {<version.txt>})])
                      )
                    }
                  spids: [535]
                )
              ]
            )
            (C {<cd>} {<..>})
            (C {<mv>} {<Diamond/build/diamond_> (${ Id.VSub_Name VERSION) <_all.deb>} {<diamond.deb>})
            (C {<rm>} {<-rf>} {<Diamond>})
          ]
          spids: [492 505]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'diamond.deb '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [569]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<elasticsearch-plugins.tgz>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-r>} {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </elasticsearch-head>} 
              {<.>}
            )
            (C {<cd>} {<elasticsearch-head>})
            (C {<git>} {<archive>} {<--output>} {<../elasticsearch-plugins.tgz>} {<--prefix>} 
              {<head/_site/>} {($ Id.VSub_DollarName '$VER_ESPLUGIN')}
            )
            (C {<cd>} {<..>})
            (C {<rm>} {<-rf>} {<elasticsearch-head>})
          ]
          spids: [576 589]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'elasticsearch-plugins.tgz '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [635]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<pyrabbit-1.0.1.tar.gz>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </pyrabbit-1.0.1.tar.gz>} 
              {<.>}
            )
          ]
          spids: [645 658]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'pyrabbit-1.0.1.tar.gz '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [672]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<python-requests-aws_> (${ Id.VSub_Name VER_REQUESTS_AWS) <_all.deb>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </requests-aws-> 
                (${ Id.VSub_Name VER_REQUESTS_AWS) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<zxf>} {<requests-aws-> (${ Id.VSub_Name VER_REQUESTS_AWS) <.tar.gz>})
            (C {<fpm>} {<-s>} {<python>} {<-t>} {<deb>} {<-f>} 
              {<requests-aws-> (${ Id.VSub_Name VER_REQUESTS_AWS) </setup.py>}
            )
            (C {<rm>} {<-rf>} {<requests-aws-> (${ Id.VSub_Name VER_REQUESTS_AWS) <.tar.gz>} 
              {<requests-aws-> (${ Id.VSub_Name VER_REQUESTS_AWS)}
            )
          ]
          spids: [682 699]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <python-requests-aws_> (${ Id.VSub_Name VER_REQUESTS_AWS) <'_all.deb '> 
                ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [763]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<python-pyzabbix_> (${ Id.VSub_Name VER_PYZABBIX) <_all.deb>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </pyzabbix-> 
                (${ Id.VSub_Name VER_PYZABBIX) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<zxf>} {<pyzabbix-> (${ Id.VSub_Name VER_PYZABBIX) <.tar.gz>})
            (C {<fpm>} {<-s>} {<python>} {<-t>} {<deb>} {<-f>} 
              {<pyzabbix-> (${ Id.VSub_Name VER_PYZABBIX) </setup.py>}
            )
            (C {<rm>} {<-rf>} {<pyzabbix-> (${ Id.VSub_Name VER_PYZABBIX) <.tar.gz>} 
              {<pyzabbix-> (${ Id.VSub_Name VER_PYZABBIX)}
            )
          ]
          spids: [777 794]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <python-pyzabbix_> (${ Id.VSub_Name VER_PYZABBIX) <'_all.deb '> 
                ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [858]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<pagerduty-zabbix-proxy.py>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </pagerduty-zabbix-proxy.py>} {<.>}
            )
          ]
          spids: [872 885]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: {(DQ <'pagerduty-zabbix-proxy.py '> ($ Id.VSub_DollarName '$FILES'))}
          spids: [899]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<python-carbon_> (${ Id.VSub_Name VER_GRAPHITE_CARBON) <_all.deb>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </carbon-> 
                (${ Id.VSub_Name VER_GRAPHITE_CARBON) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<zxf>} {<carbon-> (${ Id.VSub_Name VER_GRAPHITE_CARBON) <.tar.gz>})
            (C {<fpm>} {<--python-install-bin>} {</opt/graphite/bin>} {<-s>} {<python>} {<-t>} {<deb>} {<-f>} 
              {<carbon-> (${ Id.VSub_Name VER_GRAPHITE_CARBON) </setup.py>}
            )
            (C {<rm>} {<-rf>} {<carbon-> (${ Id.VSub_Name VER_GRAPHITE_CARBON)} 
              {<carbon-> (${ Id.VSub_Name VER_GRAPHITE_CARBON) <.tar.gz>}
            )
          ]
          spids: [909 926]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <python-carbon_> (${ Id.VSub_Name VER_GRAPHITE_CARBON) <'_all.deb '> 
                ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [994]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<python-whisper_> (${ Id.VSub_Name VER_GRAPHITE_WHISPER) <_all.deb>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </whisper-> 
                (${ Id.VSub_Name VER_GRAPHITE_WHISPER) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<zxf>} {<whisper-> (${ Id.VSub_Name VER_GRAPHITE_WHISPER) <.tar.gz>})
            (C {<fpm>} {<--python-install-bin>} {</opt/graphite/bin>} {<-s>} {<python>} {<-t>} {<deb>} {<-f>} 
              {<whisper-> (${ Id.VSub_Name VER_GRAPHITE_WHISPER) </setup.py>}
            )
            (C {<rm>} {<-rf>} {<whisper-> (${ Id.VSub_Name VER_GRAPHITE_WHISPER)} 
              {<whisper-> (${ Id.VSub_Name VER_GRAPHITE_WHISPER) <.tar.gz>}
            )
          ]
          spids: [1005 1022]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <python-whisper_> (${ Id.VSub_Name VER_GRAPHITE_WHISPER) <'_all.deb '> 
                ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [1090]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                  {<python-graphite-web_> (${ Id.VSub_Name VER_GRAPHITE_WEB) <_all.deb>} {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} {<-v>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </graphite-web-> 
                (${ Id.VSub_Name VER_GRAPHITE_WEB) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<zxf>} {<graphite-web-> (${ Id.VSub_Name VER_GRAPHITE_WEB) <.tar.gz>})
            (C {<fpm>} {<--python-install-lib>} {</opt/graphite/webapp>} {<-s>} {<python>} {<-t>} {<deb>} 
              {<-f>} {<graphite-web-> (${ Id.VSub_Name VER_GRAPHITE_WEB) </setup.py>}
            )
            (C {<rm>} {<-rf>} {<graphite-web-> (${ Id.VSub_Name VER_GRAPHITE_WEB)} 
              {<graphite-web-> (${ Id.VSub_Name VER_GRAPHITE_WEB) <.tar.gz>}
            )
          ]
          spids: [1101 1118]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <python-graphite-web_> (${ Id.VSub_Name VER_GRAPHITE_WEB) <'_all.deb '> 
                ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [1186]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<rally.tar.gz>} 
                  {<Id.Lit_RBracket ']'>}
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<cp>} 
              {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </rally/rally-> 
                (${ Id.VSub_Name VER_RALLY) <.tar.gz>
              } {<.>}
            )
            (C {<tar>} {<xvf>} {<rally-> (${ Id.VSub_Name VER_RALLY) <.tar.gz>})
            (C {<tar>} {<zcf>} {<rally.tar.gz>} {<-C>} {<rally-> (${ Id.VSub_Name VER_RALLY) </>} {<.>})
            (C {<rm>} {<-rf>} {<rally-> (${ Id.VSub_Name VER_RALLY) <.tar.gz>} 
              {<rally-> (${ Id.VSub_Name VER_RALLY)}
            )
          ]
          spids: [1211 1224]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DPipe Id.Op_DPipe]
                  children: [
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<rally-pip.tar.gz>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<rally-bin.tar.gz>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                      {<python-pip_> (${ Id.VSub_Name VER_PIP) <_all.deb>} {<Id.Lit_RBracket ']'>}
                    )
                  ]
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          action: [
            (C {<echo>} {(DQ <'Processing Rally setup...'>)})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          expr: 
                            (bool_expr.LogicalNot
                              child: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_f
                                  child: {<python-pip_> (${ Id.VSub_Name VER_PIP) <_all.deb>}
                                )
                            )
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  action: [
                    (C {<cp>} 
                      {($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </rally/pip-> 
                        (${ Id.VSub_Name VER_PIP) <.tar.gz>
                      } {<.>}
                    )
                    (C {<tar>} {<xvzf>} {<pip-> (${ Id.VSub_Name VER_PIP) <.tar.gz>})
                    (C {<fpm>} {<-s>} {<python>} {<-t>} {<deb>} 
                      {<pip-> (${ Id.VSub_Name VER_PIP) </setup.py>}
                    )
                    (C {<dpkg>} {<-i>} {<python-pip_> (${ Id.VSub_Name VER_PIP) <_all.deb>})
                    (C {<rm>} {<-rf>} {<pip-> (${ Id.VSub_Name VER_PIP)} 
                      {<pip-> (${ Id.VSub_Name VER_PIP) <.tar.gz>}
                    )
                  ]
                  spids: [1368 1385]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:PIP_INSTALL)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'pip install --no-cache-dir --disable-pip-version-check --no-index -f '> 
                        ($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </rally>
                      )
                    }
                  spids: [1467]
                )
              ]
            )
            (command.Simple
              words: [
                {<echo>}
                {<-e>}
                {
                  (DQ <'[easy_install]'> <Id.Lit_Other '\\'> <"nallow_hosts = ''"> <Id.Lit_Other '\\'> 
                    <'nfind_links = file://'> ($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') </rally/>
                  )
                }
              ]
              redirects: [
                (redir.Redir
                  op: <Id.Redir_Great '>'>
                  fd: -1
                  arg_word: {($ Id.VSub_DollarName '$HOME') </.pydistutils.cfg>}
                )
              ]
            )
            (C {($ Id.VSub_DollarName '$PIP_INSTALL')} {<--default-timeout>} {<60>} {<-I>} {<rally>})
            (C {($ Id.VSub_DollarName '$PIP_INSTALL')} {<--default-timeout>} {<60>} 
              {<python-openstackclient>}
            )
            (C {($ Id.VSub_DollarName '$PIP_INSTALL')} {<-U>} {<argparse>})
            (C {($ Id.VSub_DollarName '$PIP_INSTALL')} {<-U>} {<setuptools>})
            (C {<tar>} {<zcf>} {<rally-pip.tar.gz>} {<-C>} {</usr/local/lib/python2.7/dist-packages>} {<.>})
            (C {<tar>} {<zcf>} {<rally-bin.tar.gz>} {<--exclude> <Id.Lit_Equals '='> (DQ <fpm>)} 
              {<--exclude> <Id.Lit_Equals '='> (DQ <'ruby*'>)} {<-C>} {</usr/local/bin>} {<.>}
            )
          ]
          spids: [1292 1333]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:FILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'rally.tar.gz rally-pip.tar.gz rally-bin.tar.gz python-pip_'> 
                (${ Id.VSub_Name VER_PIP) <'_all.deb '> ($ Id.VSub_DollarName '$FILES')
              )
            }
          spids: [1585]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$BUILD_CACHE_DIR')})
        (C {<rsync>} {<-avxSH>} 
          {
            (command_sub
              left_token: <Id.Left_DollarParen '$('>
              command_list: (command.CommandList children:[(C {<pwd>} {<-P>})])
            ) </> <Id.Lit_Star '*'>
          } {($ Id.VSub_DollarName '$BUILD_CACHE_DIR')}
        )
      ]
    )
    (C {<popd>})
  ]
)