(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:script_root)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                  )
                left_token: <Left_Backtick "`">
                spids: [54 62]
              )
            }
          spids: [53]
        )
      ]
      spids: [53]
    )
    (C {(source)} {($ VSub_Name "$script_root") (/env.sh)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CELLS)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name CELLS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ <test>)})
                spids: [74 80]
              )
            }
          spids: [73]
        )
      ]
      spids: [73]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:keyspace)
          op: Equal
          rhs: {(SQ <test_keyspace>)}
          spids: [82]
        )
      ]
      spids: [82]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SHARDS)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name SHARDS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ <0>)})
                spids: [88 94]
              )
            }
          spids: [87]
        )
      ]
      spids: [87]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:TABLETS_PER_SHARD)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TABLETS_PER_SHARD>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(5)})
                spids: [97 101]
              )
            }
          spids: [96]
        )
      ]
      spids: [96]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:port) op:Equal rhs:{(15002)} spids:[103])]
      spids: [103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:grpc_port) op:Equal rhs:{(16002)} spids:[106])]
      spids: [106]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:UID_BASE)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name UID_BASE>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(100)})
                spids: [110 114]
              )
            }
          spids: [109]
        )
      ]
      spids: [109]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:VTTABLET_TEMPLATE)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name VTTABLET_TEMPLATE>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: {(SQ <vttablet-pod-template.yaml>)}
                  )
                spids: [117 123]
              )
            }
          spids: [116]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RDONLY_COUNT)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name RDONLY_COUNT>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(2)})
                spids: [126 130]
              )
            }
          spids: [125]
        )
      ]
      spids: [125]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:uid_base)
          op: Equal
          rhs: {($ VSub_Name "$UID_BASE")}
          spids: [133]
        )
      ]
      spids: [133]
    )
    (ForEach
      iter_name: shard
      iter_words: [
        {
          (CommandSubPart
            command_list: 
              (CommandList
                children: [
                  (Pipeline
                    children: [
                      (C {(echo)} {($ VSub_Name "$SHARDS")})
                      (C {(tr)} {(DQ (","))} {(DQ (" "))})
                    ]
                    negated: False
                  )
                ]
              )
            left_token: <Left_CommandSub "$(">
            spids: [142 158]
          )
        }
      ]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:cell_index) op:Equal rhs:{(0)} spids:[164])]
              spids: [164]
            )
            (ForEach
              iter_name: cell
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(echo)} {($ VSub_Name "$CELLS")})
                              (C {(tr)} {(SQ <",">)} {(SQ <" ">)})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_Backtick "`">
                    spids: [174 190]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(echo)} 
                      {
                        (DQ ("Creating ") ($ VSub_Name "$keyspace") (.shard-) ($ VSub_Name "$shard") 
                          (" pods in cell ") ($ VSub_Name "$CELL") (...)
                        )
                      }
                    )
                    (ForEach
                      iter_name: uid_index
                      iter_words: [
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(seq)} {(0)} 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Minus
                                            left: (ArithWord w:{($ VSub_Name "$TABLETS_PER_SHARD")})
                                            right: (ArithWord w:{(Lit_Digits 1)})
                                          )
                                        spids: [220 225]
                                      )
                                    }
                                  )
                                ]
                              )
                            left_token: <Left_Backtick "`">
                            spids: [215 226]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:uid)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArithSubPart
                                        anode: 
                                          (ArithBinary
                                            op_id: Arith_Plus
                                            left: 
                                              (ArithBinary
                                                op_id: Arith_Plus
                                                left: (ArithWord w:{($ VSub_Name "$uid_base")})
                                                right: (ArithWord w:{($ VSub_Name "$uid_index")})
                                              )
                                            right: (ArithWord w:{($ VSub_Name "$cell_index")})
                                          )
                                        spids: [233 243]
                                      )
                                    }
                                  spids: [232]
                                )
                              ]
                              spids: [232]
                            )
                            (C {(printf)} {(-v)} {(alias)} {(SQ <"%s-%010d">)} {($ VSub_Name "$cell")} 
                              {($ VSub_Name "$uid")}
                            )
                            (C {(printf)} {(-v)} {(tablet_subdir)} {(SQ <"vt_%010d">)} 
                              {($ VSub_Name "$uid")}
                            )
                            (C {(echo)} {(DQ ("Creating pod for tablet ") ($ VSub_Name "$alias") (...))})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:shard_label)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {($ VSub_Name "$shard")})
                                                  (C {(sed)} {(s) (SQ <"/[-]$/-xx/">)})
                                                  (C {(sed)} {(s) (SQ <"/^-/xx-/">)})
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [294 316]
                                      )
                                    }
                                  spids: [293]
                                )
                              ]
                              spids: [293]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tablet_type)
                                  op: Equal
                                  rhs: {(replica)}
                                  spids: [320]
                                )
                              ]
                              spids: [320]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other "[")} {($ VSub_Name "$uid_index")} {(-gt)} 
                                          {
                                            (ArithSubPart
                                              anode: 
                                                (ArithBinary
                                                  op_id: Arith_Minus
                                                  left: 
                                                    (ArithBinary
                                                      op_id: Arith_Minus
                                                      left: 
                                                        (ArithWord
                                                          w: {($ VSub_Name "$TABLETS_PER_SHARD")}
                                                        )
                                                      right: 
                                                        (ArithWord
                                                          w: {($ VSub_Name "$RDONLY_COUNT")}
                                                        )
                                                    )
                                                  right: (ArithWord w:{(Lit_Digits 1)})
                                                )
                                              spids: [332 339]
                                            )
                                          } {(Lit_Other "]")}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:tablet_type)
                                          op: Equal
                                          rhs: {(rdonly)}
                                          spids: [347]
                                        )
                                      ]
                                      spids: [347]
                                    )
                                  ]
                                  spids: [-1 344]
                                )
                              ]
                              spids: [-1 351]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sed_script)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [359]
                                )
                              ]
                              spids: [359]
                            )
                            (ForEach
                              iter_name: var
                              iter_words: [
                                {(alias)}
                                {(cell)}
                                {(uid)}
                                {(keyspace)}
                                {(shard)}
                                {(shard_label)}
                                {(port)}
                                {(grpc_port)}
                                {(tablet_subdir)}
                                {(tablet_type)}
                                {(backup_flags)}
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:sed_script)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (DQ ("s,{{") ($ VSub_Name "$var") ("}},") 
                                                (BracedVarSub
                                                  token: <VSub_Name var>
                                                  prefix_op: VSub_Bang
                                                  spids: [401 404]
                                                ) (",g;")
                                              )
                                            }
                                          spids: [396]
                                        )
                                      ]
                                      spids: [396]
                                    )
                                  ]
                                  spids: [393 409]
                                )
                              spids: [369 391]
                            )
                            (Pipeline
                              children: [
                                (C {(cat)} {($ VSub_Name "$VTTABLET_TEMPLATE")})
                                (C {(sed)} {(-e)} {(DQ ($ VSub_Name "$sed_script"))})
                                (C {($ VSub_Name "$KUBECTL")} {(create)} {(-f)} {(-)})
                              ]
                              negated: False
                            )
                          ]
                          spids: [229 442]
                        )
                      spids: [214 227]
                    )
                    (C {(let)} {(Lit_VarLike "cell_index=") (cell_index) (Lit_Other "+") (100000000)})
                  ]
                  spids: [193 453]
                )
              spids: [173 191]
            )
            (C {(let)} {(Lit_VarLike "uid_base=") (uid_base) (Lit_Other "+") (100)})
          ]
          spids: [161 463]
        )
      spids: [141 159]
    )
  ]
)