(CommandList
  children: [
    (C {(set)} {(-e)})
    (C {(.)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Number 0)})])
          left_token: <Left_CommandSub "$(">
          spids: [24 30]
        ) (/atexit.sh)
      }
    )
    (C {(.)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Number 0)})])
          left_token: <Left_CommandSub "$(">
          spids: [39 45]
        ) (/colors.sh)
      }
    )
    (AndOr
      children: [
        (C {(test)} {(${ VSub_Pound "#")} {(-eq)} {(2)})
        (BraceGroup
          children: [
            (Sentence
              child: 
                (C {(echo)} 
                  {
                    (DQ ("Usage: ") 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(basename)} {(${ VSub_Number 0)})])
                        left_token: <Left_Backtick "`">
                        spids: [69 75]
                      ) (" [version] [candidate]")
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
            (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">)
          ]
          spids: [63]
        )
      ]
      op_id: Op_DPipe
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(${ VSub_Number 1)} spids:[88])]
      spids: [88]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:CANDIDATE) op:Equal rhs:{(${ VSub_Number 2)} spids:[93])]
      spids: [93]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TAG)
          op: Equal
          rhs: {(DQ (${ VSub_Name VERSION) (-rc) (${ VSub_Name CANDIDATE))}
          spids: [98]
        )
      ]
      spids: [98]
    )
    (C {(echo)} 
      {
        (DQ (${ VSub_Name GREEN) ("Voting for mesos-") (${ VSub_Name VERSION) (" candidate ") 
          (${ VSub_Name CANDIDATE) (${ VSub_Name NORMAL)
        )
      }
    )
    (C {(read)} {(-p)} {(DQ ("Hit enter to continue ... "))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MESOS_GIT_URL)
          op: Equal
          rhs: {(DQ ("https://git-wip-us.apache.org/repos/asf/mesos.git"))}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:WORK_DIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(mktemp)} {(-d)} {(/tmp/mesos-vote-XXXX)})])
                left_token: <Left_Backtick "`">
                spids: [146 152]
              )
            }
          spids: [145]
        )
      ]
      spids: [145]
    )
    (C {(atexit)} {(DQ ("rm -rf ") (${ VSub_Name WORK_DIR))})
    (C {(pushd)} {(${ VSub_Name WORK_DIR)})
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Checking out ") (${ VSub_Name TAG) (${ VSub_Name NORMAL))})
    (C {(git)} {(clone)} {(--depth)} {(1)} {(--branch)} {(${ VSub_Name TAG)} {(${ VSub_Name MESOS_GIT_URL)})
    (C {(pushd)} {(mesos)})
    (C {(grep)} 
      {
        (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (mesos) 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (${ VSub_Name VERSION) 
          (EscapedLiteralPart token:<Lit_EscapedChar "\\]">)
        )
      } {(configure.ac)}
    )
    (C {(./bootstrap)})
    (C {(mkdir)} {(build)})
    (C {(pushd)} {(build)})
    (C {(../configure)} {(--disable-optimize)})
    (C {(pushd)} {(3rdparty)})
    (C {(make)} {(-j3)})
    (C {(popd)})
    (C {(make)} {(-j3)} {(maven-install)})
    (C {(mvn)} {(deploy)} {(-f)} {(src/java/mesos.pom)})
    (C {(echo)} 
      {
        (DQ (${ VSub_Name GREEN) ("Successfully deployed the jar to staging maven repository ...") 
          (${ VSub_Name NORMAL)
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:MAVEN_REPO) op:Equal rhs:{(DQ )} spids:[303])]
      spids: [303]
    )
    (While
      cond: [
        (Sentence
          child: (C {(Lit_Other "[")} {(-z)} {(${ VSub_Name MAVEN_REPO)} {(Lit_Other "]")})
          terminator: <Op_Semi ";">
        )
      ]
      body: 
        (DoGroup
          children: [
            (C {(read)} {(-p)} 
              {(DQ ("Please *close* the staging repository and provide its URL here: "))} {(MAVEN_REPO)}
            )
          ]
          spids: [320 333]
        )
    )
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Building the distribution ...") (${ VSub_Name NORMAL))})
    (C {(make)} {(-j3)} {(dist)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TARBALL)
          op: Equal
          rhs: {(mesos-) (${ VSub_Name VERSION) (.tar.gz)}
          spids: [358]
        )
      ]
      spids: [358]
    )
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Signing the distribution ...") (${ VSub_Name NORMAL))})
    (C {(gpg)} {(--armor)} {(--output)} {(${ VSub_Name TARBALL) (.asc)} {(--detach-sig)} 
      {(${ VSub_Name TARBALL)}
    )
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Creating a MD5 checksum...") (${ VSub_Name NORMAL))})
    (SimpleCommand
      words: [{(gpg)} {(--print-md)} {(MD5)} {(${ VSub_Name TARBALL)}]
      redirects: [
        (Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name TARBALL) (.md5)} spids:[426])
      ]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SVN_DEV_REPO)
          op: Equal
          rhs: {(DQ ("https://dist.apache.org/repos/dist/dev/mesos"))}
          spids: [434]
        )
      ]
      spids: [434]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SVN_DEV_LOCAL)
          op: Equal
          rhs: {(DQ (${ VSub_Name WORK_DIR) (/dev))}
          spids: [439]
        )
      ]
      spids: [439]
    )
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Checking out svn dev repo ...") (${ VSub_Name NORMAL))})
    (C {(svn)} {(co)} {(--depth) (Lit_Other "=") (empty)} {(${ VSub_Name SVN_DEV_REPO)} 
      {(${ VSub_Name SVN_DEV_LOCAL)}
    )
    (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Uploading the artifacts (the distribution,"))} 
      {(DQ ("signature, and MD5) ...") (${ VSub_Name NORMAL))}
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RELEASE_DIRECTORY)
          op: Equal
          rhs: {(DQ (${ VSub_Name SVN_DEV_LOCAL) (/) (${ VSub_Name TAG))}
          spids: [503]
        )
      ]
      spids: [503]
    )
    (C {(mkdir)} {(${ VSub_Name RELEASE_DIRECTORY)})
    (C {(mv)} {(${ VSub_Name TARBALL)} {(${ VSub_Name TARBALL) (.asc)} {(${ VSub_Name TARBALL) (.md5)} 
      {(${ VSub_Name RELEASE_DIRECTORY)}
    )
    (C {(popd)})
    (C {(popd)})
    (C {(pushd)} {(${ VSub_Name SVN_DEV_LOCAL)})
    (C {(svn)} {(add)} {(${ VSub_Name TAG)})
    (C {(svn)} {(commit)} {(-m)} {(DQ ("Adding mesos-") (${ VSub_Name TAG) (.))})
    (C {(popd)})
    (C {(popd)})
    (C {(echo)} 
      {
        (DQ (${ VSub_Name GREEN) ("Success! Now send the following VOTE email ...") 
          (${ VSub_Name NORMAL)
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MESSAGE)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(cat)}]
                        redirects: [
                          (HereDoc
                            op_id: Redir_DLess
                            fd: -1
                            body: 
                              {
                                (DQ ("To: dev@mesos.apache.org, user@mesos.apache.org\n") 
                                  ("Subject: [VOTE] Release Apache Mesos ") (${ VSub_Name VERSION) (" (rc") (${ VSub_Name CANDIDATE) (")\n") ("\n") ("Hi all,\n") ("\n") 
                                  (
"Please vote on releasing the following candidate as Apache Mesos "
                                  ) (${ VSub_Name VERSION) (".\n") ("\n") ("\n") (${ VSub_Name VERSION) (" includes the following:\n") 
                                  (
"--------------------------------------------------------------------------------\n"
                                  ) ("*****Announce major features here*****\n") ("*****Announce major bug fixes here*****\n") ("\n") 
                                  ("The CHANGELOG for the release is available at:\n") ("https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=") 
                                  (${ VSub_Name TAG) ("\n") ("--------------------------------------------------------------------------------\n") ("\n") 
                                  ("The candidate for Mesos ") (${ VSub_Name VERSION) (" release is available at:\n") (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) 
                                  (/) (${ VSub_Name TARBALL) ("\n") ("\n") ("The tag to be voted on is ") (${ VSub_Name TAG) (":\n") 
                                  (
"https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=commit;h="
                                  ) (${ VSub_Name TAG) ("\n") ("\n") ("The MD5 checksum of the tarball can be found at:\n") 
                                  (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) (/) (${ VSub_Name TARBALL) (".md5\n") ("\n") 
                                  ("The signature of the tarball can be found at:\n") (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) (/) (${ VSub_Name TARBALL) (".asc\n") ("\n") 
                                  ("The PGP key used to sign the release is here:\n") ("https://dist.apache.org/repos/dist/release/mesos/KEYS\n") ("\n") 
                                  ("The JAR is up in Maven in a staging repository here:\n") (${ VSub_Name MAVEN_REPO) ("\n") ("\n") ("Please vote on releasing this package as Apache Mesos ") 
                                  (${ VSub_Name VERSION) ("!\n") ("\n") ("The vote is open until ") 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(date)} {(-v) (Lit_Other "+") (3d)})]
                                      )
                                    left_token: <Left_Backtick "`">
                                    spids: [726 732]
                                  ) (" and passes if a majority of at least 3 +1 PMC votes are cast.\n") ("\n") 
                                  ("[ ] +1 Release this package as Apache Mesos ") (${ VSub_Name VERSION) ("\n") ("[ ] -1 Do not release this package because ...\n") ("\n") ("Thanks,\n")
                                )
                              }
                            do_expansion: True
                            here_end: __EOF__
                            was_filled: True
                            spids: [614]
                          )
                        ]
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [611 743]
              )
            }
          spids: [610]
        )
      ]
      spids: [610]
    )
    (C {(echo)} {(DQ (${ VSub_Name MESSAGE))})
    (C {(exit)} {(0)})
  ]
)