(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (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 op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
              do_fork: T
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [27 38]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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 '$('> child:(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: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} 
                      {
                        (command_sub
                          left_token: <Id.Left_Backtick '`'>
                          child: 
                            (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: 
            (condition.Shell
              commands: [
                (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 '$('> child:(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 '$('>
                  child: 
                    (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (C {<Id.Lit_LBracket '['>} {<-f>} {<diamond.deb>} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} 
                              {
                                (command_sub
                                  left_token: <Id.Left_Backtick '`'>
                                  child: 
                                    (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: 
            (condition.Shell
              commands: [
                (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 '`'> child:(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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
            (condition.Shell
              commands: [
                (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: 
                    (condition.Shell
                      commands: [
                        (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_BadBackslash '\\'> <'nallow_hosts = \'\''> 
                    <Id.Lit_BadBackslash '\\'> <'nfind_links = file://'> ($ Id.VSub_DollarName '$FILECACHE_MOUNT_POINT') <'/rally/'>
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {($ Id.VSub_DollarName '$HOME') <'/.pydistutils.cfg'>}
                )
              ]
              do_fork: T
            )
            (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 '$('> child:(C {<pwd>} {<-P>})) <'/'> 
            <Id.Lit_Star '*'>
          } {($ Id.VSub_DollarName '$BUILD_CACHE_DIR')}
        )
      ]
    )
    (C {<popd>})
  ]
)