(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:{(0.0.20171011)} spids:[31])]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(2)} spids:[34])]
      spids: [34]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_toolsrel) op:Equal rhs:{(0)} spids:[37])]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_name) op:Equal rhs:{(wireguard)} spids:[40])]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kapkbuild)
          op: Equal
          rhs: {(../../linux-) (${ VSub_Name _flavor) (/APKBUILD)}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (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: [73]
                )
              ]
              spids: [73]
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kver"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")}
                )
                (C {(die)} {(DQ ("please update _kver to ") ($ VSub_Name "$pkgver"))})
              ]
              op_id: Op_DAmp
            )
            (AndOr
              children: [
                (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kpkgrel"))} {(KW_Bang "!") (Lit_Other "=")} 
                  {(DQ ($ VSub_Name "$pkgrel"))} {(Lit_Other "]")}
                )
                (C {(die)} {(DQ ("please update _kpkgrel to ") ($ VSub_Name "$pkgrel"))})
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 65]
        )
      ]
      spids: [-1 128]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_kpkgver)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$_kver") (-r) ($ VSub_Name "$_kpkgrel"))}
          spids: [131]
        )
      ]
      spids: [131]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_toolsver)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$_ver") (-r) ($ VSub_Name "$_toolsrel"))}
          spids: [138]
        )
      ]
      spids: [138]
    )
    (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: [145]
        )
      ]
      spids: [145]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(${ VSub_Name _name) (-) (${ VSub_Name _flavor)}
          spids: [159]
        )
      ]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgver)
          op: Equal
          rhs: {($ VSub_Name "$_kver")}
          spids: [168]
        )
      ]
      spids: [168]
    )
    (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: [172 179]
              )
            }
          spids: [171]
        )
      ]
      spids: [171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ ("Next generation secure network tunnel: kernel modules for ") 
                ($ VSub_Name "$_flavor")
              )
            }
          spids: [181]
        )
      ]
      spids: [181]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: {(SQ <"x86 x86_64 armhf">)}
          spids: [187]
        )
      ]
      spids: [187]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(SQ <"https://www.wireguard.com">)}
          spids: [192]
        )
      ]
      spids: [192]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPLv2))} spids:[197])]
      spids: [197]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ (linux-) (${ VSub_Name _flavor) ("=") (${ VSub_Name _kpkgver))}
          spids: [202]
        )
      ]
      spids: [202]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ (linux-) (${ VSub_Name _flavor) ("-dev=") ($ VSub_Name "$_kpkgver") (" libmnl-dev"))
            }
          spids: [214]
        )
      ]
      spids: [214]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install_if)
          op: Equal
          rhs: 
            {
              (DQ ("wireguard-tools=") ($ VSub_Name "$_toolsver") (" linux-hardened=") 
                ($ VSub_Name "$_kpkgver")
              )
            }
          spids: [225]
        )
      ]
      spids: [225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[233])]
      spids: [233]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("https://git.zx2c4.com/WireGuard/snapshot/WireGuard-") ($ VSub_Name "$_ver") 
                (.tar.xz)
              )
            }
          spids: [238]
        )
      ]
      spids: [238]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:provides)
          op: Equal
          rhs: {(DQ (${ VSub_Name _name) ("-grsec=") (${ VSub_Name _kver) (-r) (${ VSub_Name pkgrel))}
          spids: [245]
        )
      ]
      spids: [245]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir")) (/WireGuard-) ($ VSub_Name "$_ver")}
          spids: [260]
        )
      ]
      spids: [260]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(make)} {(-C)} {(src/)} 
              {(Lit_VarLike "KERNELDIR=") (/lib/modules/) (${ VSub_Name _abi_release) (/build)} {(module)}
            )
          ]
          spids: [272]
        )
      spids: [268 271]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir") (/src))})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:module) op:Equal rhs:{(SQ )} spids:[326])]
              spids: [324]
            )
            (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 "$_abi_release") 
                          (/extra/) (${ VSub_Name module)
                        )
                      }
                    )
                  ]
                  spids: [339 367]
                )
              spids: [334 337]
            )
          ]
          spids: [312]
        )
      spids: [308 311]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"7ec5959becf96d214b0b6a0f2c638c986c7b330ce24c323a77f06a2ab853affb85c3cc6ab54d01ece525aef9bfd627bf4b69f21167ee86b16442659d202fcd77  WireGuard-0.0.20171011.tar.xz"
                )
              )
            }
          spids: [372]
        )
      ]
      spids: [372]
    )
  ]
)