(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgname spids:[6])
          op: Equal
          rhs: {(py-blockdiag)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_pkgname spids:[9])
          op: Equal
          rhs: {(blockdiag)}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgver spids:[12])
          op: Equal
          rhs: {(1.5.3)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgrel spids:[15])
          op: Equal
          rhs: {(1)}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgdesc spids:[18])
          op: Equal
          rhs: {(DQ ('A python tool to generate block-diagram'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:url spids:[23])
          op: Equal
          rhs: {(DQ ('http://blockdiag.com'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:arch spids:[28])
          op: Equal
          rhs: {(DQ (noarch))}
          spids: [28]
        )
      ]
      spids: [28]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:license spids:[33])
          op: Equal
          rhs: {(DQ ('ASL 2.0'))}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:depends spids:[38])
          op: Equal
          rhs: {(DQ ('py-pillow py-funcparserlib py-webcolors'))}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:makedepends spids:[43])
          op: Equal
          rhs: {(DQ ('python2-dev python3-dev py-setuptools'))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:subpackages spids:[48])
          op: Equal
          rhs: 
            {
              (DQ (py2-) 
                (word_part.BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(py-)})
                  spids: [51 55]
                ) (':_py2 py3-') 
                (word_part.BracedVarSub
                  token: <VSub_Name pkgname>
                  suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(py-)})
                  spids: [57 61]
                ) (':_py3')
              )
            }
          spids: [48]
        )
      ]
      spids: [48]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:source spids:[65])
          op: Equal
          rhs: 
            {
              (DQ ('https://files.pythonhosted.org/packages/source/') 
                (word_part.BracedVarSub
                  token: <VSub_Name _pkgname>
                  suffix_op: 
                    (suffix_op.Slice
                      begin: (arith_expr.ArithWord w:{(Lit_Digits 0)})
                      length: (arith_expr.ArithWord w:{(Lit_Digits 1)})
                    )
                  spids: [68 74]
                ) (/) ($ VSub_DollarName '$_pkgname') (/) ($ VSub_DollarName '$_pkgname') (-) ($ VSub_DollarName '$pkgver') 
                (.tar.gz)
              )
            }
          spids: [65]
        )
      ]
      spids: [65]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:builddir spids:[84])
          op: Equal
          rhs: 
            {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$_pkgname') (-) 
              ($ VSub_DollarName '$pkgver')
            }
          spids: [84]
        )
      ]
      spids: [84]
    )
    (command.FuncDef
      name: prepare
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(lhs_expr.LhsName name:i spids:[103]) op:Equal spids:[103])]
              spids: [101]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.patch)}]
                          action: [
                            (command.Sentence
                              child: (C {(msg)} {($ VSub_DollarName '$i')})
                              terminator: <Op_Semi ';'>
                            )
                            (command.AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_DollarName '$srcdir')) (/) ($ VSub_DollarName '$i')}
                                )
                                (command.ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          spids: [132 134 158 16777215]
                        )
                      ]
                      spids: [125 129 161]
                    )
                  ]
                  spids: [122 164]
                )
              spids: [118 120]
            )
          ]
          spids: [98]
        )
      spids: [94 97]
    )
    (command.FuncDef
      name: build
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(python2)} {(setup.py)} {(build)})
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(python3)} {(setup.py)} {(build)})
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
          ]
          spids: [173]
        )
      spids: [169 172]
    )
    (command.FuncDef
      name: package
      body: 
        (command.BraceGroup
          children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$pkgdir'))})]
          spids: [215]
        )
      spids: [211 214]
    )
    (command.FuncDef
      name: _py2
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:replaces spids:[236])
                  op: Equal
                  rhs: {(DQ ($ VSub_DollarName '$pkgname'))}
                  spids: [236]
                )
              ]
              spids: [236]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[242])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {(py-)}
                              replace: {(py2-)}
                              replace_mode: Lit_Slash
                              spids: [246]
                            )
                          spids: [244 251]
                        )
                      )
                    }
                  spids: [242]
                )
              ]
              spids: [242]
            )
            (C {(_py)} {(python2)})
          ]
          spids: [233]
        )
      spids: [229 232]
    )
    (command.FuncDef
      name: _py3
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[269])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (word_part.BracedVarSub
                          token: <VSub_Name depends>
                          suffix_op: 
                            (suffix_op.PatSub
                              pat: {(py-)}
                              replace: {(py3-)}
                              replace_mode: Lit_Slash
                              spids: [273]
                            )
                          spids: [271 278]
                        )
                      )
                    }
                  spids: [269]
                )
              ]
              spids: [269]
            )
            (C {(_py)} {(python3)})
          ]
          spids: [266]
        )
      spids: [262 265]
    )
    (command.FuncDef
      name: _py
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:python spids:[298])
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [298]
                )
              ]
              spids: [296]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[304])
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_DollarName '$pkgdesc') (' (for ') ($ VSub_DollarName '$python') (')'))
                    }
                  spids: [304]
                )
              ]
              spids: [304]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[313])
                  op: Equal
                  rhs: {(DQ ($ VSub_DollarName '$depends') (' ') ($ VSub_DollarName '$python'))}
                  spids: [313]
                )
              ]
              spids: [313]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:install_if spids:[321])
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_DollarName '$pkgname') ('=') ($ VSub_DollarName '$pkgver') (-r) 
                        ($ VSub_DollarName '$pkgrel') (' ') ($ VSub_DollarName '$python')
                      )
                    }
                  spids: [321]
                )
              ]
              spids: [321]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (C {($ VSub_DollarName '$python')} {(setup.py)} {(install)} 
              {(--prefix) (Lit_Other '=') (/usr)} {(--root) (Lit_Other '=') (DQ ($ VSub_DollarName '$subpkgdir'))}
            )
          ]
          spids: [293]
        )
      spids: [289 292]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:md5sums spids:[360])
          op: Equal
          rhs: {(DQ ('24c1de40066687a6e0f401a97197f43c  blockdiag-1.5.3.tar.gz'))}
          spids: [360]
        )
      ]
      spids: [360]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha256sums spids:[365])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'5ea3501fca0ca40fbacccc6f4ca177750e4b610009e021faa4868c0f6480ae8b  blockdiag-1.5.3.tar.gz'
                )
              )
            }
          spids: [365]
        )
      ]
      spids: [365]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha512sums spids:[370])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'11ff6334d1ae50c103158db6ef9acce76116a17cfb8e0066581c234138f17fabfddd183b154f407fe95dcd414b0054aebdc22682e82a8e7595905f1ee2fd6222  blockdiag-1.5.3.tar.gz'
                )
              )
            }
          spids: [370]
        )
      ]
      spids: [370]
    )
  ]
)