(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:E_INVALID_ARG) op:Equal rhs:{(128)} spids:[50])]
      spids: [50]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' [--options]'))})
            (C {(echo)} {(DQ ('Options:'))})
            (C {(echo)} {(DQ ('  --[no-]verbose:           display information about each step'))})
            (C {(echo)} {(DQ ('  --directory base:         base directory of local git repository'))})
            (C {(echo)} {(DQ ('                            (e.g., ~/dartium-roll implies directory'))})
            (C {(echo)} {(DQ ('                            ~/dartium-roll/src and'))})
            (C {(echo)} {(DQ ('                            ~/dartium-roll/src/third_party/WebKit)**'))})
            (C {(echo)} 
              {(DQ ('  --chrome:                 for the Chrome branch (not with --blink)**'))}
            )
            (C {(echo)} 
              {(DQ ('  --blink:                  for the Blink branch (not with --chrome)**'))}
            )
            (C {(echo)} 
              {(DQ ('  --old-branch name:        name of previous true branch (e.g., use 1847'))}
            )
            (C {(echo)} {(DQ ('                            for version 34.0.1847.92) *'))})
            (C {(echo)} 
              {
                (DQ ('  --old-revision revision:  revision of base trunk for ') ($ VSub_Name '$OLD') 
                  (' version *')
                )
              }
            )
            (C {(echo)} {(DQ ('  --new-branch name:        name of new true branch to create *'))})
            (C {(echo)} {(DQ ('  --new-revision revision:  revision of base trunk for new branch *'))})
            (C {(echo)} {(DQ ('  --pre-roll:               display commands to prepare for the roll'))})
            (C {(echo)} 
              {(DQ ('  --roll:                   display Git commands to execute for creating'))}
            )
            (C {(echo)} {(DQ ('                            branches for the roll'))})
            (C {(echo)} 
              {
                (DQ ('  --info:                   display hashes for ') ($ VSub_Name '$BASE') (' and ') 
                  ($ VSub_Name '$LAST') (' on each')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ('                            branch (stripped') ($ VSub_Name '$OLD') 
                  (', trunkdata') ($ VSub_Name '$OLD') (', and')
                )
              }
            )
            (C {(echo)} {(DQ ('                            trunkdata') ($ VSub_Name '$NEW') (')'))})
            (C {(echo)} {(DQ ('  --help:                   this message'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('* - required'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('*  Script will prompt interactively if options not given.'))})
            (C {(echo)} {(DQ ('** Argument must be specified.'))})
            (C {(echo)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [58]
        )
      spids: [54 57]
    )
    (FuncDef
      name: verbose_message
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_verbose'))} {(Lit_Other '=')} {(1)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (${ VSub_Number 1))} {(Lit_Other '=')} {(DQ )} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(echo)})]
                          spids: [16777215 303]
                        )
                      ]
                      else_action: [(C {(echo)} {(-e)} {(DQ (...) (${ VSub_Number 1) (...))})]
                      spids: [309 325]
                    )
                  ]
                  spids: [16777215 282]
                )
              ]
              spids: [16777215 328]
            )
          ]
          spids: [264]
        )
      spids: [260 263]
    )
    (FuncDef
      name: validate_remotes
      body: 
        (BraceGroup
          children: [
            (C {(verbose_message)} {(DQ ('Validating Remotes'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_last)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} {(DQ (remotes/dart) (${ VSub_Name do_old_branch))})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [434 451]
                              )
                            }
                          spids: [433]
                        )
                      ]
                      spids: [433]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} {(DQ (remotes/dart) (${ VSub_Name do_new_branch))})
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [459 476]
                              )
                            }
                          spids: [458]
                        )
                      ]
                      spids: [458]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_last'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing old remotes/dart') 
                                              (${ VSub_Name do_old_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [498 507]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(-1)}
                            )
                          ]
                          spids: [16777215 495]
                        )
                      ]
                      spids: [16777215 515]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_new'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing new remotes/dart') 
                                              (${ VSub_Name do_new_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [537 546]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(-1)}
                            )
                          ]
                          spids: [16777215 534]
                        )
                      ]
                      spids: [16777215 554]
                    )
                  ]
                  spids: [16777215 426]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_last)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} 
                                            {(DQ (remotes/blink-svn/) (${ VSub_Name do_old_branch))}
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [582 599]
                              )
                            }
                          spids: [581]
                        )
                      ]
                      spids: [581]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} 
                                            {
                                              (DQ (remotes/blink-svn/multivm-) 
                                                (${ VSub_Name do_new_branch)
                                              )
                                            }
                                          )
                                        ]
                                        negated: F
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [607 624]
                              )
                            }
                          spids: [606]
                        )
                      ]
                      spids: [606]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_last'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing old remotes/blink-svn/') 
                                              (${ VSub_Name do_old_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [647 656]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(-1)}
                            )
                          ]
                          spids: [16777215 644]
                        )
                      ]
                      spids: [16777215 664]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_new'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing new remotes/blink-svn/multivm-') 
                                              (${ VSub_Name do_new_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [686 695]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(-1)}
                            )
                          ]
                          spids: [16777215 683]
                        )
                      ]
                      spids: [16777215 703]
                    )
                  ]
                  spids: [557 574]
                )
              ]
              else_action: [
                (C 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(display_error)} {(DQ ('--chrome or --blink must be specified'))})
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [709 715]
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
              ]
              spids: [706 723]
            )
          ]
          spids: [398]
        )
      spids: [394 397]
    )
    (FuncDef
      name: stripped_exist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(branch)} {(--no-color)} {(--list)} 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(stripped_name)})])
                                        left_token: <Left_CommandSub '$('>
                                        spids: [747 749]
                                      )
                                    }
                                  )
                                  (C {(sed)} {(SQ <'s/^[ \\t\\*]*//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [738 758]
                      )
                    }
                  spids: [737]
                )
              ]
              spids: [735]
            )
            (C {(echo)} {($ VSub_Name '$branch_name')})
          ]
          spids: [732]
        )
      spids: [728 731]
    )
    (FuncDef
      name: trunk_exist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(branch)} {(--list)} {(--no-color)} 
                                    {(trunkdart) (${ VSub_Number 1)}
                                  )
                                  (C {(sed)} {(SQ <'s/^[ \\t\\*]*//'>)})
                                  (C {(tail)} {(-n)} {(1)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [790 819]
                      )
                    }
                  spids: [789]
                )
              ]
              spids: [787]
            )
            (C {(echo)} {($ VSub_Name '$branch_name')})
          ]
          spids: [784]
        )
      spids: [780 783]
    )
    (FuncDef
      name: validate_repository
      body: 
        (BraceGroup
          children: [
            (C {(verbose_message)} {(DQ ('Validating Repository'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: {(${ VSub_Name stripped_name)}
                  spids: [844]
                )
              ]
              spids: [844]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: {(${ VSub_Name stripped_exist)}
                  spids: [855]
                )
              ]
              spids: [855]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [862 868]
                      )
                    }
                  spids: [861]
                )
              ]
              spids: [861]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [872 878]
                      )
                    }
                  spids: [871]
                )
              ]
              spids: [871]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {(DQ ('branch ') (${ VSub_Name strip_branch) (' already exist'))}
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [902 912]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 899]
                )
              ]
              spids: [16777215 920]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('branch trunkdart') (${ VSub_Name do_old_branch) 
                                      (' already exist')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [944 954]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 941]
                )
              ]
              spids: [16777215 962]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('branch trunkdart') (${ VSub_Name do_new_branch) 
                                      (' already exist')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [986 996]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 983]
                )
              ]
              spids: [16777215 1004]
            )
          ]
          spids: [833]
        )
      spids: [829 832]
    )
    (FuncDef
      name: display_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(echo)}
                {(-e)}
                {
                  (DQ (Lit_Other '\\') (n) (Lit_Other '\\') ('e[1;31mERROR: ') (${ VSub_Number 1) 
                    (Lit_Other '\\') ('e[0m') (Lit_Other '\\') (n)
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1036])]
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [1015]
        )
      spids: [1009 1014]
    )
    (FuncDef
      name: hash_trunk_revision
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_trunk)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(master)} 
                                {(--grep) (Lit_Other '=') (src) (Lit_Other '@') (${ VSub_Number 1)} {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-n)} {(1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1063 1089]
                      )
                    }
                  spids: [1062]
                )
              ]
              spids: [1062]
            )
          ]
          spids: [1055]
        )
      spids: [1051 1054]
    )
    (FuncDef
      name: last_revision
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(git)} {(svn)} {(log)} {(${ VSub_Number 1)} {(--oneline)} {(-1)})
                            (C {(cut)} {(-d)} {(SQ <'|'>)} {(-f1)})
                            (C {(sed)} {(DQ (s/r//))})
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [1112 1146]
                )
              }
            )
          ]
          spids: [1107]
        )
      spids: [1101 1106]
    )
    (FuncDef
      name: stripped_name
      body: 
        (BraceGroup
          children: [(C {(echo)} {(DQ (stripped) (${ VSub_Name do_old_branch))})]
          spids: [1162]
        )
      spids: [1158 1161]
    )
    (FuncDef
      name: trunkdart_name
      body: (BraceGroup children:[(C {(echo)} {(DQ (trunkdart) (${ VSub_Number 1))})] spids:[1185])
      spids: [1181 1184]
    )
    (FuncDef
      name: hash_codes_base_last
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_base)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {(${ VSub_Number 1)} 
                                    {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)}
                                  )
                                  (C {(tail)} {(-n)} {(1)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1219 1243]
                      )
                    }
                  spids: [1218]
                )
              ]
              spids: [1218]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_last)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1252 1270]
                      )
                    }
                  spids: [1251]
                )
              ]
              spids: [1251]
            )
          ]
          spids: [1211]
        )
      spids: [1207 1210]
    )
    (FuncDef
      name: hash_codes_base2_last2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_last2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1294 1312]
                      )
                    }
                  spids: [1293]
                )
              ]
              spids: [1293]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:search) op:Equal spids:[1318])]
              spids: [1316]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:search)
                          op: Equal
                          rhs: {(DQ ('chrome/trunk/src@') (${ VSub_Name do_old_revision))}
                          spids: [1341]
                        )
                      ]
                      spids: [1341]
                    )
                  ]
                  spids: [16777215 1338]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:search)
                      op: Equal
                      rhs: 
                        {
                          (DQ (blink/branches/dart/multivm-) (${ VSub_Name do_new_revision) ('@') 
                            (${ VSub_Name do_old_revision)
                          )
                        }
                      spids: [1353]
                    )
                  ]
                  spids: [1353]
                )
              ]
              spids: [1350 1366]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_base2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                    {(--grep) (Lit_Other '=') (Lit_Other '@') 
                                      (${ VSub_Name do_old_revision)
                                    } {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)}
                                  )
                                  (C {(tail)} {(-1)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1375 1404]
                      )
                    }
                  spids: [1374]
                )
              ]
              spids: [1374]
            )
          ]
          spids: [1286]
        )
      spids: [1282 1285]
    )
    (FuncDef
      name: space_pad
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:spaces)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(printf)} {(SQ <'%0.1s'>)} 
                                {(DQ (' ')) (Lit_LBrace '{') (1..80) (Lit_RBrace '}')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1437 1450]
                      )
                    }
                  spids: [1436]
                )
              ]
              spids: [1434]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:spaces_pad)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name spaces>
                        suffix_op: 
                          (Slice
                            begin: (ArithWord w:{(Lit_Digits 0)})
                            length: (ArithWord w:{($ VSub_Number '$2')})
                          )
                        spids: [1456 1462]
                      )
                    }
                  spids: [1455]
                )
              ]
              spids: [1453]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:padding)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(printf)} {(DQ ('%s'))} 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name spaces_pad>
                                      suffix_op: 
                                        (Slice
                                          begin: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Number 1>
                                                    prefix_op: VSub_Pound
                                                    spids: [1479 1482]
                                                  )
                                                }
                                            )
                                        )
                                      spids: [1476 1483]
                                    )
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1468 1485]
                      )
                    }
                  spids: [1467]
                )
              ]
              spids: [1465]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolBinary op_id:BoolBinary_GlobEqual left:{(DQ ($ VSub_Number '$3'))} right:{(DQ )})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ (${ VSub_Number 1) (${ VSub_Name padding))})]
                  spids: [16777215 1505]
                )
              ]
              else_action: [(C {(echo)} {(DQ (${ VSub_Name padding) (${ VSub_Number 1))})]
              spids: [1524 1543]
            )
          ]
          spids: [1431]
        )
      spids: [1425 1430]
    )
    (FuncDef
      name: display_url
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:format_url)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(space_pad)} {($ VSub_Number '$1')} {(55)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1578 1584]
                      )
                    }
                  spids: [1577]
                )
              ]
              spids: [1575]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:valid_url)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(valid_branch_url)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1590 1594]
                      )
                    }
                  spids: [1589]
                )
              ]
              spids: [1587]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: {(DQ ($ VSub_Name '$valid_url'))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_err)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(space_pad)} {(DQ ('WARNING ON TRUNK - FIX IMMEDIATELY'))} 
                                        {(55)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1623 1631]
                              )
                            }
                          spids: [1622]
                        )
                      ]
                      spids: [1620]
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ('|  URL:  ') (Lit_Other '\\') ('e[1;31m') (${ VSub_Name format_url) 
                          (Lit_Other '\\') ('e[0m|') (Lit_Other '\\') ('n|        ') (Lit_Other '\\') ('e[1;31m') (${ VSub_Name format_err) 
                          (Lit_Other '\\') ('e[0m|')
                        )
                      }
                    )
                  ]
                  spids: [16777215 1613]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('|  URL:  ') (${ VSub_Name format_url) ('|'))})]
              spids: [1663 1681]
            )
          ]
          spids: [1564]
        )
      spids: [1558 1563]
    )
    (FuncDef
      name: display_hashes
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_info_hashes'))} {(Lit_Other '=')} 
                          {(1)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_which)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(space_pad)} {($ VSub_Name '$do_which')} {(6)} {(1)})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1715 1723]
                              )
                            }
                          spids: [1714]
                        )
                      ]
                      spids: [1712]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stripped_branch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_name)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [1727 1729]
                              )
                            }
                          spids: [1726]
                        )
                      ]
                      spids: [1726]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stripped_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_exist)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [1737 1739]
                              )
                            }
                          spids: [1736]
                        )
                      ]
                      spids: [1736]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_codes_base_last)} {(${ VSub_Name stripped_branch)})
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_old_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$stripped_branch')} {(32)} 
                                                {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1794 1802]
                                      )
                                    }
                                  spids: [1793]
                                )
                              ]
                              spids: [1791]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('OLD: ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$stripped_branch')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1832 1836]
                                      )
                                    }
                                  spids: [1831]
                                )
                              ]
                              spids: [1829]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1850 1854]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_hash)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_base')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1868 1874]
                                      )
                                    }
                                  spids: [1867]
                                )
                              ]
                              spids: [1865]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('BASE  | ') (${ VSub_Name format_hash) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_hash)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_last')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1898 1904]
                                      )
                                    }
                                  spids: [1897]
                                )
                              ]
                              spids: [1897]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('LAST  | ') (${ VSub_Name format_hash) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [16777215 1759]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name stripped_branch) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [1930 1946]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1955 1961]
                              )
                            }
                          spids: [1954]
                        )
                      ]
                      spids: [1954]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_branch_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1965 1971]
                              )
                            }
                          spids: [1964]
                        )
                      ]
                      spids: [1964]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_old_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$branch_trunkdart_old')} 
                                                {(32)} {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2026 2034]
                                      )
                                    }
                                  spids: [2025]
                                )
                              ]
                              spids: [2023]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('OLD  ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$branch_trunkdart_old')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2064 2068]
                                      )
                                    }
                                  spids: [2063]
                                )
                              ]
                              spids: [2061]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2074 2078]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_base2)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_base2')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2092 2098]
                                      )
                                    }
                                  spids: [2091]
                                )
                              ]
                              spids: [2089]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('BASE2 | ') (${ VSub_Name format_base2) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_last2)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_last2')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2124 2130]
                                      )
                                    }
                                  spids: [2123]
                                )
                              ]
                              spids: [2121]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('LAST2 | ') (${ VSub_Name format_last2) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [16777215 1991]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name branch_trunkdart_old) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [2156 2172]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2181 2187]
                              )
                            }
                          spids: [2180]
                        )
                      ]
                      spids: [2180]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_branch_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2191 2197]
                              )
                            }
                          spids: [2190]
                        )
                      ]
                      spids: [2190]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_new_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$branch_trunkdart_new')} 
                                                {(32)} {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2241 2249]
                                      )
                                    }
                                  spids: [2240]
                                )
                              ]
                              spids: [2238]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('NEW  ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$branch_trunkdart_new')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2279 2283]
                                      )
                                    }
                                  spids: [2278]
                                )
                              ]
                              spids: [2276]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2289 2293]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:revision)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(last_revision)} 
                                                {($ VSub_Name '$branch_trunkdart_new')}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2307 2311]
                                      )
                                    }
                                  spids: [2306]
                                )
                              ]
                              spids: [2304]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_revision)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$revision')} {(43)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2317 2323]
                                      )
                                    }
                                  spids: [2316]
                                )
                              ]
                              spids: [2314]
                            )
                            (C {(echo)} 
                              {(DQ ('|  last revision  | ') (${ VSub_Name format_revision) (' |'))}
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [16777215 2217]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name branch_trunkdart_new) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [2347 2363]
                    )
                  ]
                  spids: [16777215 1709]
                )
              ]
              spids: [16777215 2366]
            )
          ]
          spids: [1691]
        )
      spids: [1687 1690]
    )
    (FuncDef
      name: switch_branch
      body: 
        (BraceGroup
          children: [
            (C 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(git)} {(checkout)} {(${ VSub_Number 1)} {(--quiet)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [2381 2391]
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2397 2405]
                      )
                    }
                  spids: [2396]
                )
              ]
              spids: [2394]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$curr_branch'))}
                              right: {(DQ ($ VSub_Number '$1'))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Unable to switch to branch ') ($ VSub_Number '$1') 
                                      (' - pending commits/add?')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2428 2436]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 2425]
                )
              ]
              spids: [16777215 2444]
            )
            (C {(echo)} {($ VSub_Name '$curr_branch')})
          ]
          spids: [2378]
        )
      spids: [2372 2377]
    )
    (FuncDef
      name: check_branch
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2488 2496]
                      )
                    }
                  spids: [2487]
                )
              ]
              spids: [2485]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2502 2506]
                      )
                    }
                  spids: [2501]
                )
              ]
              spids: [2499]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:trunk_url) op:Equal spids:[2511])]
                  spids: [2509]
                )
              terminator: <Op_Semi ';'>
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:trunk_url)
                          op: Equal
                          rhs: {(SQ <'Committing to svn://svn.chromium.org/chrome/trunk/src ...'>)}
                          spids: [2540]
                        )
                      ]
                      spids: [2540]
                    )
                  ]
                  spids: [16777215 2533]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:trunk_url)
                          op: Equal
                          rhs: {(SQ <'Committing to svn://svn.chromium.org/blink/trunk ...'>)}
                          spids: [2570]
                        )
                      ]
                      spids: [2570]
                    )
                  ]
                  spids: [2546 2563]
                )
              ]
              else_action: [
                (C 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [(C {(display_error)} {(DQ ('Neither blink or chrome specified'))})]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [2579 2585]
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
              ]
              spids: [2576 2593]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remote_commit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(svn)} {(dcommit)} {(--dry-run)})
                                  (C {(head)} {(-1)})
                                  (C {(grep)} {(DQ (${ VSub_Name trunk_url))})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2600 2624]
                      )
                    }
                  spids: [2599]
                )
              ]
              spids: [2597]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Name '$old_branch')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2629 2633]
                      )
                    }
                  spids: [2628]
                )
              ]
              spids: [2628]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$curr_branch'))}
                              right: {(DQ ($ VSub_Name '$old_branch'))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Unable to switch back to original branch ') 
                                      (${ VSub_Name old_branch)
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2656 2665]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 2653]
                )
              ]
              spids: [16777215 2673]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$remote_commit'))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Branch ') (${ VSub_Number 1) 
                                      (
' is NOT pointing to the Dart branch repository but pointing to trunk.'
                                      )
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2696 2706]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(-1)})
                  ]
                  spids: [16777215 2693]
                )
              ]
              spids: [16777215 2714]
            )
            (C {(echo)} 
              {
                (DQ ("Local branch '") (${ VSub_Number 1) 
                  ("' is based on the remote branch/dart repository.")
                )
              }
            )
          ]
          spids: [2482]
        )
      spids: [2476 2481]
    )
    (FuncDef
      name: valid_branch_url
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:src_dir) op:Equal rhs:{(DQ )} spids:[2776])]
              spids: [2774]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: {(DQ ($ VSub_Name '$do_which'))}
                              right: {(DQ (chrome))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:src_dir)
                          op: Equal
                          rhs: {(DQ (/src))}
                          spids: [2801]
                        )
                      ]
                      spids: [2801]
                    )
                  ]
                  spids: [16777215 2798]
                )
              ]
              spids: [16777215 2807]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_remote)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('svn://svn.chromium.org/') (${ VSub_Name do_which) (/branches/dart/) 
                        (${ VSub_Name do_old_branch) (${ VSub_Name src_dir)
                      )
                    }
                  spids: [2812]
                )
              ]
              spids: [2810]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_remote)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('svn://svn.chromium.org/') (${ VSub_Name do_which) (/branches/dart/) 
                        (${ VSub_Name do_new_branch) (${ VSub_Name src_dir)
                      )
                    }
                  spids: [2830]
                )
              ]
              spids: [2828]
            )
            (C {(echo)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                            (C {(grep)} {(-e)} {(DQ (${ VSub_Name old_remote))} {(-e)} 
                              {(DQ (${ VSub_Name new_remote))}
                            )
                          ]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [2849 2875]
                )
              }
            )
          ]
          spids: [2747]
        )
      spids: [2741 2746]
    )
    (FuncDef
      name: url_branch
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2899 2907]
                      )
                    }
                  spids: [2898]
                )
              ]
              spids: [2896]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2913 2917]
                      )
                    }
                  spids: [2912]
                )
              ]
              spids: [2910]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remote_commit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(svn)} {(dcommit)} {(--dry-run)})
                                  (C {(head)} {(-1)})
                                  (C {(sed)} {(SQ <'s/Committing to //'>)})
                                  (C {(sed)} {(SQ <'s/ ...//'>)})
                                ]
                                negated: F
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2924 2954]
                      )
                    }
                  spids: [2923]
                )
              ]
              spids: [2921]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Name '$old_branch')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2959 2963]
                      )
                    }
                  spids: [2958]
                )
              ]
              spids: [2958]
            )
            (C {(echo)} {(DQ (${ VSub_Name remote_commit))})
          ]
          spids: [2893]
        )
      spids: [2887 2892]
    )
    (FuncDef
      name: validate_branches
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [3001 3003]
                      )
                    }
                  spids: [3000]
                )
              ]
              spids: [2998]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_name)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_name)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [3029 3031]
                              )
                            }
                          spids: [3028]
                        )
                      ]
                      spids: [3026]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(check_branch)} {(${ VSub_Name branch_name)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3037 3043]
                              )
                            }
                          spids: [3036]
                        )
                      ]
                      spids: [3034]
                    )
                    (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$check_result'))})
                  ]
                  spids: [16777215 3023]
                )
              ]
              spids: [16777215 3059]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_trunkdart_old)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3070 3076]
                      )
                    }
                  spids: [3069]
                )
              ]
              spids: [3067]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3082 3088]
                      )
                    }
                  spids: [3081]
                )
              ]
              spids: [3079]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(check_branch)} {($ VSub_Name '$branch_trunkdart_old')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3114 3118]
                              )
                            }
                          spids: [3113]
                        )
                      ]
                      spids: [3111]
                    )
                    (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$check_result'))})
                  ]
                  spids: [16777215 3108]
                )
              ]
              spids: [16777215 3134]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_trunkdart_new)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3145 3151]
                      )
                    }
                  spids: [3144]
                )
              ]
              spids: [3142]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3157 3163]
                      )
                    }
                  spids: [3156]
                )
              ]
              spids: [3154]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(check_branch)} {($ VSub_Name '$branch_trunkdart_new')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3189 3193]
                              )
                            }
                          spids: [3188]
                        )
                      ]
                      spids: [3186]
                    )
                    (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_Name '$check_result'))})
                  ]
                  spids: [16777215 3183]
                )
              ]
              spids: [16777215 3209]
            )
          ]
          spids: [2991]
        )
      spids: [2985 2990]
    )
    (FuncDef
      name: display_roll_commands
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$roll_branches'))} {(Lit_Other '=')} 
                          {(1)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                                  {(DQ (chrome))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(roll_chrome_commands)})]
                          spids: [16777215 3259]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                                  {(DQ (blink))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(roll_blink_commands)})]
                          spids: [3265 3282]
                        )
                      ]
                      spids: [16777215 3288]
                    )
                  ]
                  spids: [16777215 3239]
                )
              ]
              spids: [16777215 3291]
            )
          ]
          spids: [3221]
        )
      spids: [3215 3220]
    )
    (FuncDef
      name: display_remote_repository_creation
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Do the following pre-roll setup'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('  mkdir dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} {(DQ ('  cd dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('  svn mkdir -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Preparing Chrome 35/') (${ VSub_Name do_new_branch) (' branch') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/chrome/branches/dart/') (${ VSub_Name do_new_branch))}
                    )
                    (C {(echo)} 
                      {
                        (DQ ('  svn cp -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Branching for ') (${ VSub_Name do_new_branch) (' @') (${ VSub_Name do_new_revision) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/chrome/trunk/src@') (${ VSub_Name do_new_revision) (' '))} 
                      {
                        (DQ ('svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_new_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} 
                      {(DQ ('  git svn clone -r241107 svn://svn.chromium.org/chrome/trunk/src src'))}
                    )
                    (C {(echo)})
                    (C {(echo)} {(DQ ('  cd src'))})
                    (C {(echo)} {(DQ ('  git cl rebase'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('-----After rebase finishes-----'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 1. Add the below lines to src/.git/config'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_old_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_old_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_old_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_new_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_new_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_new_branch))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 2. Get the code'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('    cd src'))})
                    (C {(echo)} 
                      {
                        (DQ ('    git svn fetch dart') (${ VSub_Name do_old_branch) 
                          (' && git svn fetch dart') (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                  ]
                  spids: [16777215 3348]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('  Directory dartium-') (${ VSub_Name do_new_branch) (' exists.'))}
                    )
                    (C {(echo)} {(DQ ('  cd dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('  svn cp -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Branching ') (${ VSub_Name do_new_branch) (' @') (${ VSub_Name do_new_revision) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/blink/trunk@') (${ VSub_Name do_new_revision) (' '))} 
                      {
                        (DQ ('svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('  git svn clone --trunk=trunk --branches=branches/dart'))} 
                      {(DQ (' --prefix=blink-svn/ -r165883:HEAD '))} {(DQ ('svn://svn.chromium.org/blink src/third_party/WebKit'))}
                    )
                    (C {(echo)})
                    (C {(echo)} {(DQ ('  cd src/third_party/WebKit'))})
                    (C {(echo)} {(DQ ('  git cl rebase'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('-----After rebase finishes-----'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 1. Add the below lines to src/third_party/WebKit/.git/config'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_old_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_old_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_old_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_new_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_new_branch))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 2. Get the code'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('    cd src/third_party/WebKit'))})
                    (C {(echo)} 
                      {
                        (DQ ('    git svn fetch dart') (${ VSub_Name do_old_branch) 
                          (' && git svn fetch dart') (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                  ]
                  spids: [3581 3598]
                )
              ]
              spids: [16777215 3822]
            )
          ]
          spids: [3306]
        )
      spids: [3300 3305]
    )
    (FuncDef
      name: roll_chrome_commands
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4248 4250]
                      )
                    }
                  spids: [4247]
                )
              ]
              spids: [4247]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4254 4260]
                      )
                    }
                  spids: [4253]
                )
              ]
              spids: [4253]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4264 4270]
                      )
                    }
                  spids: [4263]
                )
              ]
              spids: [4263]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('================================================'))})
            (C {(echo)} {(DQ ('|             git commands to run:             |'))})
            (C {(echo)} {(DQ ('================================================'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remoteOld)
                  op: Equal
                  rhs: {(dart) (${ VSub_Name do_old_branch)}
                  spids: [4299]
                )
              ]
              spids: [4299]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_name)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4307 4309]
                      )
                    }
                  spids: [4306]
                )
              ]
              spids: [4306]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 1. ---------------------'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name strip_branch) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(hash_codes_base_last)} {(${ VSub_Name remoteOld)})
                    (C {(echo)} {(DQ ('git rebase -i ') (${ VSub_Name hash_base))})
                    (C {(echo)})
                  ]
                  spids: [16777215 4329]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 2. ---------------------'))})
                    (C {(echo)})
                    (C {(hash_codes_base_last)} {(${ VSub_Name strip_branch)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4442 4448]
                              )
                            }
                          spids: [4441]
                        )
                      ]
                      spids: [4441]
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_old) (' ') 
                          (${ VSub_Name hash_base)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base) (..) (${ VSub_Name hash_last))
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4387 4403]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 3. ---------------------'))})
                    (C {(echo)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4518 4524]
                              )
                            }
                          spids: [4517]
                        )
                      ]
                      spids: [4517]
                    )
                    (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_new) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base2) (..) 
                          (${ VSub_Name hash_last2)
                        )
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4483 4499]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('===== Nothing to do - Roll setup complete. ====='))})]
              spids: [4572 4582]
            )
            (C {(echo)} {(DQ ('================================================'))})
          ]
          spids: [4244]
        )
      spids: [4238 4243]
    )
    (FuncDef
      name: roll_blink_commands
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4606 4608]
                      )
                    }
                  spids: [4605]
                )
              ]
              spids: [4605]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4612 4618]
                      )
                    }
                  spids: [4611]
                )
              ]
              spids: [4611]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4622 4628]
                      )
                    }
                  spids: [4621]
                )
              ]
              spids: [4621]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('================================================'))})
            (C {(echo)} {(DQ ('|             git commands to run:             |'))})
            (C {(echo)} {(DQ ('================================================'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remoteOld)
                  op: Equal
                  rhs: {(dart) (${ VSub_Name do_old_branch)}
                  spids: [4657]
                )
              ]
              spids: [4657]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_name)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4665 4667]
                      )
                    }
                  spids: [4664]
                )
              ]
              spids: [4664]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 1. ---------------------'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name strip_branch) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(hash_codes_base_last)} {(${ VSub_Name remoteOld)})
                    (C {(eho)} {(DQ ('git rebase -i ') (${ VSub_Name hash_base))})
                    (C {(echo)})
                  ]
                  spids: [16777215 4687]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 2. ---------------------'))})
                    (C {(echo)})
                    (C {(hash_codes_base_last)} {(${ VSub_Name strip_branch)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4800 4806]
                              )
                            }
                          spids: [4799]
                        )
                      ]
                      spids: [4799]
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_old) (' ') 
                          (${ VSub_Name hash_base)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base) (..) (${ VSub_Name hash_last))
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4745 4761]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 3. ---------------------'))})
                    (C {(echo)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4877 4883]
                              )
                            }
                          spids: [4876]
                        )
                      ]
                      spids: [4876]
                    )
                    (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_new) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base2) (..) 
                          (${ VSub_Name hash_last2)
                        )
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4841 4857]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('===== Nothing to do - Roll setup complete. ====='))})]
              spids: [4931 4941]
            )
            (C {(echo)} {(DQ ('================================================'))})
          ]
          spids: [4602]
        )
      spids: [4596 4601]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:create_branches) op:Equal rhs:{(0)} spids:[4958])]
      spids: [4958]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_info_hashes) op:Equal rhs:{(0)} spids:[4962])]
      spids: [4962]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:base_dir) op:Equal rhs:{(DQ )} spids:[4966])]
      spids: [4966]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_pre_roll) op:Equal rhs:{(0)} spids:[4974])]
      spids: [4974]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_which) op:Equal rhs:{(DQ )} spids:[4981])]
      spids: [4981]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_verbose) op:Equal rhs:{(0)} spids:[4989])]
      spids: [4989]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_old_branch) op:Equal rhs:{(DQ )} spids:[4996])]
      spids: [4996]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_old_revision) op:Equal rhs:{(DQ )} spids:[5000])]
      spids: [5000]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_new_branch) op:Equal rhs:{(DQ )} spids:[5008])]
      spids: [5008]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_new_revision) op:Equal rhs:{(DQ )} spids:[5012])]
      spids: [5012]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:curr_switch) op:Equal rhs:{(DQ )} spids:[5017])]
      spids: [5017]
    )
    (ForEach
      iter_name: var
      iter_words: [{(DQ ($ VSub_At '$@'))}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name '$var'))}
              arms: [
                (case_arm
                  pat_list: [{(--help)}]
                  action: [(C {(usage)}) (ControlFlow token:<ControlFlow_Exit exit>)]
                  spids: [5043 5044 5053 16777215]
                )
                (case_arm
                  pat_list: [{(--verbose)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_verbose)
                          op: Equal
                          rhs: {(1)}
                          spids: [5060]
                        )
                      ]
                      spids: [5060]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5064]
                        )
                      ]
                      spids: [5064]
                    )
                  ]
                  spids: [5056 5057 5069 16777215]
                )
                (case_arm
                  pat_list: [{(--no-verbose)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_verbose)
                          op: Equal
                          rhs: {(0)}
                          spids: [5076]
                        )
                      ]
                      spids: [5076]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5080]
                        )
                      ]
                      spids: [5080]
                    )
                  ]
                  spids: [5072 5073 5085 16777215]
                )
                (case_arm
                  pat_list: [{(--chrome)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('--chrome can not be specified with --blink'))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5112 5118]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$E_INVALID_ARG')}
                            )
                          ]
                          spids: [16777215 5109]
                        )
                      ]
                      spids: [16777215 5126]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_which)
                          op: Equal
                          rhs: {(DQ (chrome))}
                          spids: [5129]
                        )
                      ]
                      spids: [5129]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5135]
                        )
                      ]
                      spids: [5135]
                    )
                  ]
                  spids: [5088 5089 5140 16777215]
                )
                (case_arm
                  pat_list: [{(--blink)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('--blink can not be specified with --chrome'))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5167 5173]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$E_INVALID_ARG')}
                            )
                          ]
                          spids: [16777215 5164]
                        )
                      ]
                      spids: [16777215 5181]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_which)
                          op: Equal
                          rhs: {(DQ (blink))}
                          spids: [5184]
                        )
                      ]
                      spids: [5184]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5190]
                        )
                      ]
                      spids: [5190]
                    )
                  ]
                  spids: [5143 5144 5195 16777215]
                )
                (case_arm
                  pat_list: [{(--pre-roll)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_pre_roll)
                          op: Equal
                          rhs: {(1)}
                          spids: [5202]
                        )
                      ]
                      spids: [5202]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5206]
                        )
                      ]
                      spids: [5206]
                    )
                  ]
                  spids: [5198 5199 5211 16777215]
                )
                (case_arm
                  pat_list: [{(--roll)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:roll_branches)
                          op: Equal
                          rhs: {(1)}
                          spids: [5218]
                        )
                      ]
                      spids: [5218]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5222]
                        )
                      ]
                      spids: [5222]
                    )
                  ]
                  spids: [5214 5215 5227 16777215]
                )
                (case_arm
                  pat_list: [{(--info)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_info_hashes)
                          op: Equal
                          rhs: {(1)}
                          spids: [5234]
                        )
                      ]
                      spids: [5234]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5238]
                        )
                      ]
                      spids: [5238]
                    )
                  ]
                  spids: [5230 5231 5243 16777215]
                )
                (case_arm
                  pat_list: [{(--directory)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (base-directory))}
                          spids: [5250]
                        )
                      ]
                      spids: [5250]
                    )
                  ]
                  spids: [5246 5247 5259 16777215]
                )
                (case_arm
                  pat_list: [{(--old-branch)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (old-branch))}
                          spids: [5266]
                        )
                      ]
                      spids: [5266]
                    )
                  ]
                  spids: [5262 5263 5275 16777215]
                )
                (case_arm
                  pat_list: [{(--new-branch)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (new-branch))}
                          spids: [5282]
                        )
                      ]
                      spids: [5282]
                    )
                  ]
                  spids: [5278 5279 5291 16777215]
                )
                (case_arm
                  pat_list: [{(--old-revision)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (old-revision))}
                          spids: [5298]
                        )
                      ]
                      spids: [5298]
                    )
                  ]
                  spids: [5294 5295 5307 16777215]
                )
                (case_arm
                  pat_list: [{(--new-revision)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (new-revision))}
                          spids: [5314]
                        )
                      ]
                      spids: [5314]
                    )
                  ]
                  spids: [5310 5311 5323 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prefix)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name var>
                                suffix_op: 
                                  (Slice
                                    begin: (ArithWord w:{(Lit_Digits 0)})
                                    length: (ArithWord w:{(Lit_Digits 2)})
                                  )
                                spids: [5331 5337]
                              )
                            }
                          spids: [5330]
                        )
                      ]
                      spids: [5330]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$prefix'))} {(Lit_Other '=')} 
                                  {(DQ (--))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('unexpected switch ') (${ VSub_Name var))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5360 5369]
                                )
                              }
                            )
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {($ VSub_Name '$E_INVALID_ARG')}
                            )
                          ]
                          spids: [16777215 5357]
                        )
                      ]
                      spids: [16777215 5377]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$curr_switch'))}
                      arms: [
                        (case_arm
                          pat_list: [{(base-directory)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:base_dir)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5393]
                                )
                              ]
                              spids: [5393]
                            )
                          ]
                          spids: [5389 5390 5401 16777215]
                        )
                        (case_arm
                          pat_list: [{(old-branch)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_old_branch)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5408]
                                )
                              ]
                              spids: [5408]
                            )
                          ]
                          spids: [5404 5405 5416 16777215]
                        )
                        (case_arm
                          pat_list: [{(old-revision)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_old_revision)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5423]
                                )
                              ]
                              spids: [5423]
                            )
                          ]
                          spids: [5419 5420 5431 16777215]
                        )
                        (case_arm
                          pat_list: [{(new-branch)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_new_branch)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5438]
                                )
                              ]
                              spids: [5438]
                            )
                          ]
                          spids: [5434 5435 5446 16777215]
                        )
                        (case_arm
                          pat_list: [{(new-revision)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_new_revision)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5453]
                                )
                              ]
                              spids: [5453]
                            )
                          ]
                          spids: [5449 5450 5461 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$curr_switch'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(display_error)} 
                                                  {
                                                    (DQ ('unexpected paramter for ') 
                                                      (${ VSub_Name curr_switch)
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [5488 5497]
                                        )
                                      }
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Exit exit>
                                      arg_word: {($ VSub_Name '$E_INVALID_ARG')}
                                    )
                                  ]
                                  spids: [16777215 5485]
                                )
                              ]
                              else_action: [
                                (C 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(display_error)} 
                                              {(DQ ('unexpected switch ') (${ VSub_Name var))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [5508 5517]
                                    )
                                  }
                                )
                                (ControlFlow
                                  token: <ControlFlow_Exit exit>
                                  arg_word: {($ VSub_Name '$E_INVALID_ARG')}
                                )
                              ]
                              spids: [5505 5525]
                            )
                          ]
                          spids: [5464 5465 5528 16777215]
                        )
                      ]
                      spids: [5380 5386 5531]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5534]
                        )
                      ]
                      spids: [5534]
                    )
                  ]
                  spids: [5326 5327 5539 16777215]
                )
              ]
              spids: [5034 5040 5542]
            )
          ]
          spids: [5031 5544]
        )
      spids: [5026 16777215]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$base_dir'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('--directory switch must be specified.'))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$E_INVALID_ARG')}
            )
          ]
          spids: [16777215 5566]
        )
      ]
      spids: [16777215 5580]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('--chrome or --blink switch must be specified.'))})
            (ControlFlow
              token: <ControlFlow_Exit exit>
              arg_word: {($ VSub_Name '$E_INVALID_ARG')}
            )
          ]
          spids: [16777215 5600]
        )
      ]
      spids: [16777215 5614]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_old_branch'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('Enter LAST ') (${ VSub_Name do_which) 
                  (' true branch (e.g., Chrome version 34.0.1847.92 true branch is 1847)')
                )
              }
            )
            (C {(read)} {(do_old_branch)})
          ]
          spids: [16777215 5633]
        )
      ]
      spids: [16777215 5651]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_old_revision'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Enter LAST ') (${ VSub_Name do_which) (' base trunk revision #'))})
            (C {(read)} {(do_old_revision)})
          ]
          spids: [16777215 5670]
        )
      ]
      spids: [16777215 5688]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_new_branch'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('Enter NEW ') (${ VSub_Name do_which) 
                  (' true branch (e.g., Chrome version 35.0.1908.4 true branch is 1908)')
                )
              }
            )
            (C {(read)} {(do_new_branch)})
          ]
          spids: [16777215 5707]
        )
      ]
      spids: [16777215 5725]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_new_revision'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Enter NEW ') (${ VSub_Name do_which) (' base trunk revision #'))})
            (C {(read)} {(do_new_revision)})
          ]
          spids: [16777215 5744]
        )
      ]
      spids: [16777215 5762]
    )
    (C {(echo)})
    (C {(echo)} 
      {
        (DQ ('Rolling new branch ') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision))
      }
    )
    (C {(verbose_message)})
    (C {(verbose_message)} 
      {(DQ ('Previous branch ') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision))}
    )
    (C {(verbose_message)} 
      {(DQ ('New branch ') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision))}
    )
    (C {(verbose_message)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobEqual
                      left: {(DQ ($ VSub_Name '$do_pre_roll'))}
                      right: {(DQ (1))}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(display_remote_repository_creation)})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 5829]
        )
      ]
      spids: [16777215 5839]
    )
    (SimpleCommand
      words: [{(pushd)} {(.)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5846])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$base_dir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cd)} {(${ VSub_Name base_dir)})]
          spids: [16777215 5868]
        )
      ]
      spids: [16777215 5877]
    )
    (C {(cd)} {(src)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} {(DQ (blink))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cd)} {(third_party/WebKit)})]
          spids: [16777215 5902]
        )
      ]
      spids: [16777215 5909]
    )
    (C {(trap)} {(SQ )} {(INT)})
    (C {(trap)} {(SQ )} {(TSTP)})
    (C {(validate_remotes)})
    (C {(display_roll_commands)})
    (C {(display_hashes)})
    (C {(validate_branches)})
    (C {(trap)} {(-)} {(INT)})
    (C {(trap)} {(-)} {(TSTP)})
    (SimpleCommand
      words: [{(popd)}]
      redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[5966])]
    )
  ]
)