(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_flavor spids:[4])
          op: Equal
          rhs: {(hardened)}
          spids: [4]
        )
      ]
      spids: [4]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_kpkg spids:[7])
          op: Equal
          rhs: {(linux-) ($ VSub_DollarName '$_flavor')}
          spids: [7]
        )
      ]
      spids: [7]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_kver spids:[11])
          op: Equal
          rhs: {(4.9.54)}
          spids: [11]
        )
      ]
      spids: [11]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_kpkgrel spids:[14])
          op: Equal
          rhs: {(0)}
          spids: [14]
        )
      ]
      spids: [14]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_ver spids:[21])
          op: Equal
          rhs: {(5.1.26)}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_mypkgrel spids:[24])
          op: Equal
          rhs: {(0)}
          spids: [24]
        )
      ]
      spids: [24]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_name spids:[27])
          op: Equal
          rhs: {(virtualbox-additions)}
          spids: [27]
        )
      ]
      spids: [27]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_kpkgver spids:[32])
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$_kver') (-r) ($ VSub_DollarName '$_kpkgrel'))}
          spids: [32]
        )
      ]
      spids: [32]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_abi_release spids:[39])
          op: Equal
          rhs: {(${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel) (-) (${ VSub_Name _flavor)}
          spids: [39]
        )
      ]
      spids: [39]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgname spids:[53])
          op: Equal
          rhs: {(${ VSub_Name _name) (-) (${ VSub_Name _flavor)}
          spids: [53]
        )
      ]
      spids: [53]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgver spids:[62])
          op: Equal
          rhs: {($ VSub_DollarName '$_kver')}
          spids: [62]
        )
      ]
      spids: [62]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgrel spids:[65])
          op: Equal
          rhs: 
            {
              (word_part.ArithSubPart
                anode: 
                  (arith_expr.ArithBinary
                    op_id: Arith_Plus
                    left: (arith_expr.ArithWord w:{($ VSub_DollarName '$_kpkgrel')})
                    right: (arith_expr.ArithWord w:{($ VSub_DollarName '$_mypkgrel')})
                  )
                spids: [66 73]
              )
            }
          spids: [65]
        )
      ]
      spids: [65]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgdesc spids:[75])
          op: Equal
          rhs: {(DQ ('Virtual box additions kernel modules for ') ($ VSub_DollarName '$_flavor'))}
          spids: [75]
        )
      ]
      spids: [75]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:arch spids:[81])
          op: Equal
          rhs: {(DQ ('x86 x86_64'))}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:url spids:[86])
          op: Equal
          rhs: {(SQ <'http://virtualbox.org'>)}
          spids: [86]
        )
      ]
      spids: [86]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:license spids:[91])
          op: Equal
          rhs: {(DQ ('GPL custom'))}
          spids: [91]
        )
      ]
      spids: [91]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:depends spids:[96])
          op: Equal
          rhs: {(DQ (${ VSub_Name _kpkg) ('=') (${ VSub_Name _kpkgver))}
          spids: [96]
        )
      ]
      spids: [96]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:makedepends spids:[107])
          op: Equal
          rhs: {(DQ (linux-) (${ VSub_Name _flavor) (-dev))}
          spids: [107]
        )
      ]
      spids: [107]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:provides spids:[116])
          op: Equal
          rhs: {(DQ (${ VSub_Name _name) ('-grsec=') (${ VSub_Name pkgver) (-r) (${ VSub_Name pkgrel))}
          spids: [116]
        )
      ]
      spids: [116]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:source spids:[131])
          op: Equal
          rhs: 
            {
              (DQ ('http://dev.gentoo.org/~polynomial-c/virtualbox/vbox-kernel-module-src-') 
                ($ VSub_DollarName '$_ver') ('.tar.xz\n') ('\tvirtualbox-modules-4.1.4-pax-const.patch\n') ('\t')
              )
            }
          spids: [131]
        )
      ]
      spids: [131]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:builddir spids:[141])
          op: Equal
          rhs: {(DQ ($ VSub_DollarName '$srcdir')) (/)}
          spids: [141]
        )
      ]
      spids: [141]
    )
    (command.FuncDef
      name: prepare
      body: 
        (command.BraceGroup
          children: [
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (command.Subshell
                  child: 
                    (command.CommandList
                      children: [
                        (command.Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (lhs_expr.LhsName name:_kapkbuild spids:[162])
                              op: Equal
                              rhs: 
                                {(DQ ($ VSub_DollarName '$startdir')) (/../../main/linux-) 
                                  (${ VSub_Name _flavor) (/APKBUILD)
                                }
                              spids: [162]
                            )
                          ]
                          spids: [162]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: [
                                (command.Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$_kapkbuild')} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(.)} {($ VSub_DollarName '$_kapkbuild')})
                                (command.Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (lhs_expr.LhsName name:pkgname spids:[192])
                                      op: Equal
                                      rhs: 
                                        {($ VSub_DollarName '$_name') (-) 
                                          ($ VSub_DollarName '$_flavor')
                                        }
                                      spids: [192]
                                    )
                                  ]
                                  spids: [192]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$_kver'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$pkgver'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(die)} 
                                          {
                                            (DQ ('please update _kver to ') 
                                              ($ VSub_DollarName '$pkgver')
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 216]
                                    )
                                  ]
                                  spids: [16777215 227]
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (command.Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$_kpkgrel'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_DollarName '$pkgrel'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(die)} 
                                          {
                                            (DQ ('please update _kpkgrel to ') 
                                              ($ VSub_DollarName '$pkgrel')
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 248]
                                    )
                                  ]
                                  spids: [16777215 259]
                                )
                              ]
                              spids: [16777215 184]
                            )
                          ]
                          spids: [16777215 262]
                        )
                      ]
                    )
                  spids: [159 265]
                )
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Op_DPipe]
              children: [
                (C {(default_prepare)})
                (command.ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
          ]
          spids: [152]
        )
      spids: [148 151]
    )
    (command.FuncDef
      name: build
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (C {(export)} 
              {(Lit_VarLike 'KERN_DIR=') (/usr/src/linux-headers-) (${ VSub_Name _abi_release)}
            )
            (C {(make)})
          ]
          spids: [297]
        )
      spids: [293 296]
    )
    (command.FuncDef
      name: package
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:module spids:[330])
                  op: Equal
                  rhs: (word.EmptyWord)
                  spids: [330]
                )
              ]
              spids: [328]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.ForEach
              iter_name: module
              iter_words: [{(Lit_Other '*') (.ko)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.AndOr
                      ops: [Op_DPipe]
                      children: [
                        (C {(install)} {(-D)} {(-m644)} {($ VSub_DollarName '$module')} 
                          {
                            (DQ ($ VSub_DollarName '$pkgdir') (/lib/modules/) 
                              (${ VSub_Name _abi_release) (/misc/) ($ VSub_DollarName '$module')
                            )
                          }
                        )
                        (command.ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                    )
                  ]
                  spids: [350 382]
                )
              spids: [345 348]
            )
          ]
          spids: [325]
        )
      spids: [321 324]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha512sums spids:[387])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'c77e0d8dfade2abac95162e7e7a424be4875e44d43bcf2a13e0e50caa69f5fd0d21c77f03bb2cd4cbd5df4ab31e9fbd49ecd9220a49af8cd10081b960e014010  vbox-kernel-module-src-5.1.26.tar.xz\n'
                ) 
                (
'9a9a982defed6d4453bc6d9388c3a71169bba85568cfd36d0d2588dda8e213a0d759c983a337a150d17c55bb6206e43738dfd2559fedeb85e132363936a48574  virtualbox-modules-4.1.4-pax-const.patch'
                )
              )
            }
          spids: [387]
        )
      ]
      spids: [387]
    )
  ]
)