(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_flavor)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name FLAVOR>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(hardened)})
                spids: [8 12]
              )
            }
          spids: [7]
        )
      ]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkg)
          op: Equal
          rhs: {(linux-) ($ VSub_Name '$_flavor')}
          spids: [14]
        )
      ]
      spids: [14]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.9.54)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[21])]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_ver) op:Equal rhs:{(5.1.26)} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(0)} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_name)
          op: Equal
          rhs: {(virtualbox-guest-modules)}
          spids: [34]
        )
      ]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkgver)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$_kver') (-r) ($ VSub_Name '$_kpkgrel'))}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_abi_release)
          op: Equal
          rhs: {(${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel) (-) (${ VSub_Name _flavor)}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_abi_release_virthardened)
          op: Equal
          rhs: {(${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel) (-virthardened)}
          spids: [58]
        )
      ]
      spids: [58]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(${ VSub_Name _name) (-) (${ VSub_Name _flavor)}
          spids: [69]
        )
      ]
      spids: [69]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {($ VSub_Name '$_kver')}
          spids: [78]
        )
      ]
      spids: [78]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgrel)
          op: Equal
          rhs: 
            {
              (ArithSubPart
                anode: 
                  (ArithBinary
                    op_id: Arith_Plus
                    left: (ArithWord w:{($ VSub_Name '$_kpkgrel')})
                    right: (ArithWord w:{($ VSub_Name '$_mypkgrel')})
                  )
                spids: [82 89]
              )
            }
          spids: [81]
        )
      ]
      spids: [81]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('VirtualBox Additions guest kernel modules for ') ($ VSub_Name '$_flavor'))}
          spids: [91]
        )
      ]
      spids: [91]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(SQ <'x86 x86_64'>)} spids:[97])]
      spids: [97]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(SQ <'http://virtualbox.org'>)}
          spids: [102]
        )
      ]
      spids: [102]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ('GPL custom'))} spids:[107])]
      spids: [107]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ ('linux-hardened-dev=') ($ VSub_Name '$_kpkgver') (' linux-virthardened-dev=') 
                ($ VSub_Name '$_kpkgver') (' sed coreutils')
              )
            }
          spids: [112]
        )
      ]
      spids: [112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$_name') ('-virthardened:_virthardened'))}
          spids: [121]
        )
      ]
      spids: [121]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://download.virtualbox.org/virtualbox/') ($ VSub_Name '$_ver') (/VirtualBox-) 
                ($ VSub_Name '$_ver') ('.tar.bz2\n') ('\tvboxguest-log-use-c99.patch\n') ('\tconst-struct-kernel_param.patch\n') ('\t')
              )
            }
          spids: [127]
        )
      ]
      spids: [127]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:provides)
          op: Equal
          rhs: {(DQ (${ VSub_Name _name) ('-grsec=') (${ VSub_Name pkgver) (-r) (${ VSub_Name pkgrel))}
          spids: [139]
        )
      ]
      spids: [139]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/VirtualBox-) ($ VSub_Name '$_ver')}
          spids: [154]
        )
      ]
      spids: [154]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[171])]
              spids: [169]
            )
            (AndOr
              children: [
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:_kapkbuild)
                              op: Equal
                              rhs: 
                                {(DQ ($ VSub_Name '$startdir')) (/../../main/linux-) 
                                  (${ VSub_Name _flavor) (/APKBUILD)
                                }
                              spids: [182]
                            )
                          ]
                          spids: [182]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$_kapkbuild')} 
                                      {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(.)} {($ VSub_Name '$_kapkbuild')})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:pkgname)
                                      op: Equal
                                      rhs: {($ VSub_Name '$_name') (-) ($ VSub_Name '$_flavor')}
                                      spids: [212]
                                    )
                                  ]
                                  spids: [212]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_kver'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$pkgver'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(die)} 
                                          {(DQ ('please update _kver to ') ($ VSub_Name '$pkgver'))}
                                        )
                                      ]
                                      spids: [-1 236]
                                    )
                                  ]
                                  spids: [-1 247]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_kpkgrel'))} 
                                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$pkgrel'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(die)} 
                                          {
                                            (DQ ('please update _kpkgrel to ') ($ VSub_Name '$pkgrel'))
                                          }
                                        )
                                      ]
                                      spids: [-1 268]
                                    )
                                  ]
                                  spids: [-1 279]
                                )
                              ]
                              spids: [-1 204]
                            )
                          ]
                          spids: [-1 282]
                        )
                      ]
                    )
                  spids: [175 285]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (AndOr
              children: [
                (C {(default_prepare)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(DQ ($ VSub_Name '$builddir')) (/src/VBox/Additions/linux/export_modules)} 
                  {(DQ ($ VSub_Name '$srcdir') (/vbox-kmod-) ($ VSub_Name '$_ver') (.tar.gz))}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$_abi_release')} {($ VSub_Name '$_abi_release_virthardened')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$i'))})
                    (C {(tar)} {(-C)} {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$i'))} {(-zxf)} 
                      {(DQ ($ VSub_Name '$srcdir')) (/vbox-kmod-) ($ VSub_Name '$_ver') (.tar.gz)}
                    )
                  ]
                  spids: [344 378]
                )
              spids: [338 342]
            )
          ]
          spids: [166]
        )
      spids: [162 165]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[392])]
              spids: [390]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$_abi_release')} {($ VSub_Name '$_abi_release_virthardened')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$i'))})
                    (AndOr
                      children: [
                        (C {(make)} 
                          {(Lit_VarLike 'KERN_DIR=') (/lib/modules/) (${ VSub_Name i) (/build)}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [406 440]
                )
              spids: [400 404]
            )
          ]
          spids: [387]
        )
      spids: [383 386]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:i) op:Equal spids:[454])
                (assign_pair
                  lhs: (LhsName name:module)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [456]
                )
              ]
              spids: [452]
            )
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$_abi_release')} {($ VSub_Name '$_abi_release_virthardened')}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(cd)} {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$i'))})
                    (ForEach
                      iter_name: module
                      iter_words: [{(Lit_Other '*') (.ko)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(install)} {(-v)} {(-D)} {(-m644)} {(${ VSub_Name module)} 
                              {
                                (DQ ($ VSub_Name '$pkgdir') (/lib/modules/) ($ VSub_Name '$i') (/misc/) 
                                  (${ VSub_Name module)
                                )
                              }
                            )
                          ]
                          spids: [492 520]
                        )
                      spids: [487 490]
                    )
                  ]
                  spids: [470 523]
                )
              spids: [464 468]
            )
          ]
          spids: [449]
        )
      spids: [445 448]
    )
    (FuncDef
      name: _virthardened
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('VirtualBox Additions kernel modules for virthardened'))}
                  spids: [535]
                )
              ]
              spids: [535]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir')) (/lib/modules/)})
            (C {(rm)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/lib/modules/) 
                ($ VSub_Name '$_abi_release_virthardened') (/misc/vboxvideo.ko)
              }
            )
            (C {(mv)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/lib/modules/) 
                ($ VSub_Name '$_abi_release_virthardened')
              } {(DQ ($ VSub_Name '$subpkgdir')) (/lib/modules/)}
            )
          ]
          spids: [532]
        )
      spids: [528 531]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'680e9646a51a0a5923b3ded10007ee1c1e2a41c6d8a961d2b2540db6578bed2847154f4cac87e3cfe1118a62595b47c7df99da854f6c340e173b9eb8cacf2add  VirtualBox-5.1.26.tar.bz2\n'
                ) 
                (
'bd934e9ed3d2324ef66e2539d2f3f6fab35a8858d670bba817b9cabfe66e85fe13a8594b35f4a8e639841f72fb0b8d12af38518ba25638da5ef338b259ab600b  vboxguest-log-use-c99.patch\n'
                ) 
                (
'd069876f93e431833800c1d26ea77ae1dec40c840bb549cf519ceea93ee1ca89bcb262a13b00001503d19e596965d74a71a7f49be232ea892a82114d3ea4337c  const-struct-kernel_param.patch'
                )
              )
            }
          spids: [583]
        )
      ]
      spids: [583]
    )
  ]
)