(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<android-tools>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<7.0.0_p24>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_realver)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgver>
                suffix_op: (suffix_op.PatSub pat:{<_p>} replace:{<_r>} replace_mode:Id.Undefined_Tok)
              )
            }
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [21]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Android platform tools'>)}
          spids: [24]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'http://tools.android.com/'>)}
          spids: [29]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [34]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <'Apache BSD'>)}
          spids: [39]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [44]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'zlib-dev libressl-dev pcre-dev linux-headers bsd-compat-headers'>)}
          spids: [52]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [57]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [61]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://dev.alpinelinux.org/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'> 
                ($ Id.VSub_DollarName '$pkgname') <-core-> ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> <'\thttp://dev.alpinelinux.org/archive/'> 
                ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname') <-extras-> ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> 
                <'\thttp://dev.alpinelinux.org/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname') <-libselinux-> 
                ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> <'\thttp://dev.alpinelinux.org/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'> 
                ($ Id.VSub_DollarName '$pkgname') <-f2fs-tools-> ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> 
                <'\thttp://dev.alpinelinux.org/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname') <-safe-iop-> 
                ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> <'\thttp://dev.alpinelinux.org/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'> 
                ($ Id.VSub_DollarName '$pkgname') <-gtest-> ($ Id.VSub_DollarName '$_realver') <'.tar.gz\n'> <'\n'> <'\tandroid-tools.patch\n'> 
                <'\tmusl-fixes.patch\n'> <'\t'>
              )
            }
          spids: [65]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_giturl)
          op: assign_op.Equal
          rhs: {(DQ <'https://android.googlesource.com/platform'>)}
          spids: [116]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_gittag)
          op: assign_op.Equal
          rhs: {(DQ <android-> ($ Id.VSub_DollarName '$_realver'))}
          spids: [121]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$srcdir'))}
          spids: [128]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:patch_args)
          op: assign_op.Equal
          rhs: {(DQ <-p0>)}
          spids: [133]
        )
      ]
    )
    (command.ShFunction
      name: snapshot
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$srcdir'))})
                (C {<cd>} {(DQ ($ Id.VSub_DollarName '$srcdir'))})
              ]
            )
            (C {<local>} {<Id.Lit_VarLike 'r='>})
            (command.ForEach
              iter_name: r
              iter_words: [
                {<'system/core'>}
                {<'system/extras'>}
                {<'external/libselinux'>}
                {<'external/f2fs-tools'>}
                {<'external/gtest'>}
                {<'external/safe-iop'>}
              ]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'n='> 
                        (DQ 
                          (braced_var_sub
                            token: <Id.VSub_Name r>
                            suffix_op: 
                              (suffix_op.Unary
                                op_id: Id.VOp1_DPound
                                arg_word: {<'*'> <Id.Lit_Slash '/'>}
                              )
                          ) <.git>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'f='> ($ Id.VSub_DollarName '$pkgname') <-> 
                        (DQ 
                          (braced_var_sub
                            token: <Id.VSub_Name r>
                            suffix_op: 
                              (suffix_op.Unary
                                op_id: Id.VOp1_DPound
                                arg_word: {<'*'> <Id.Lit_Slash '/'>}
                              )
                          )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: 
                                (C {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName '$n'))} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                          action: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<git>} {<--git-dir>} {($ Id.VSub_DollarName '$n')} {<fetch>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                            )
                          ]
                          spids: [221 234]
                        )
                      ]
                      else_action: [
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<git>} {<clone>} {<--bare>} 
                              {($ Id.VSub_DollarName '$_giturl') <'/'> ($ Id.VSub_DollarName '$r')}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Return return>
                              arg_word: {<1>}
                            )
                          ]
                        )
                      ]
                    )
                    (C {<git>} {<--git-dir>} {($ Id.VSub_DollarName '$n')} {<archive>} {<--prefix>} 
                      {
                        (braced_var_sub
                          token: <Id.VSub_Name f>
                          suffix_op: 
                            (suffix_op.Unary
                              op_id: Id.VOp1_Pound
                              arg_word: {($ Id.VSub_DollarName '$pkgname') <->}
                            )
                        ) <'/'>
                      } {<-o>} 
                      {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$f') <-> 
                        ($ Id.VSub_DollarName '$_realver') <.tar.gz>
                      } {($ Id.VSub_DollarName '$_gittag')}
                    )
                  ]
                )
            )
            (C {<scp>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <-> 
                <Id.Lit_Star '*'> <-> ($ Id.VSub_DollarName '$_realver') <.tar.gz>
              } {<dev.alpinelinux.org> <Id.Lit_Colon ':'> <'/archive/'> ($ Id.VSub_DollarName '$pkgname') <'/'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<-C>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
                  {<Id.Lit_VarLike 'PREFIX='> <'/usr'>} {<-C>} {(DQ ($ Id.VSub_DollarName '$builddir'))} {<install>}
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:md5sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'08f229c6a7ee88c9757f7dd204454fb0  android-tools-core-7.0.0_r24.tar.gz\n'> 
                <'1ed5c25518727a3ae614163fa63b813b  android-tools-extras-7.0.0_r24.tar.gz\n'> <'8d0d5abf79d0e56cc73cffd24f994224  android-tools-libselinux-7.0.0_r24.tar.gz\n'> 
                <'d4923c0dc9508fa1d6299d633479e306  android-tools-f2fs-tools-7.0.0_r24.tar.gz\n'> <'5927ee8bddba0a8dcd4ffd3d8b56251e  android-tools-safe-iop-7.0.0_r24.tar.gz\n'> 
                <'b41dd596e7ec64b5d278952dc5415cd9  android-tools-gtest-7.0.0_r24.tar.gz\n'> <'883cfac28233868a458aab9cfc5da9a1  android-tools.patch\n'> 
                <'4f1a962a06ce980cc1623e0cd3417a45  musl-fixes.patch'>
              )
            }
          spids: [393]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha256sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'b6eac2868570c458418c9d9317a00d5ca2552eb33faa693a8014b928c71c1718  android-tools-core-7.0.0_r24.tar.gz\n'
                > 
                <
'7085bba77af11b7758a4146bc7b13aa2c3ba6ca0e15ccf9173bc86fc32bf5342  android-tools-extras-7.0.0_r24.tar.gz\n'
                > 
                <
'cd6ec4a1ba06e76dbb2e9eeaa06d23d39e48a21186a9bcc7522694ca1b603b3d  android-tools-libselinux-7.0.0_r24.tar.gz\n'
                > 
                <
'53ae7ea6f7c28847ea249624681fc055b0e95b27f09a55946e22a8352aa91887  android-tools-f2fs-tools-7.0.0_r24.tar.gz\n'
                > 
                <
'7e961123b32bd0e6fd2d594508746bcaefb6e56990f3afc2c4891f25fcbd7a4d  android-tools-safe-iop-7.0.0_r24.tar.gz\n'
                > 
                <
'8d8e482c14b39df2e5f9db9d0dec6696adeaaf8380de4a7afd76ee83ac702b7a  android-tools-gtest-7.0.0_r24.tar.gz\n'
                > <'08686f177f6c1bd6901b43816aa83e5f1f3c512f583470b1a520b62d54c3d3e6  android-tools.patch\n'> 
                <
'e4423745d2ac88e24b42250b97345753c954218ec3fc98a1cb3f8b27016eab1f  musl-fixes.patch'
                >
              )
            }
          spids: [405]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'f2e054fb236518ce101ba3a17e578985a8e4884c127c113a3e702386abbb5077c647565c21575e1d2103c1f0316c7ddcfd8602b7eadf6955d01054842430ff18  android-tools-core-7.0.0_r24.tar.gz\n'
                > 
                <
'2dd2b571f17d44b2edb354eee9d913e8a004604fc56cf21bb14b7d081891912443bf7a7a543edad834082f93263b200bc0539200a6cb0a4109f502742529d53f  android-tools-extras-7.0.0_r24.tar.gz\n'
                > 
                <
'3e985e01b4f1d413c4ffb7dea4fa6edc8350872df037eab1e3d109f6f19dcf94a7f77c9bc17d5f2838ebf6f773fb357cf9fb963caccb02b2613793d0e49f6a17  android-tools-libselinux-7.0.0_r24.tar.gz\n'
                > 
                <
'fbe08ddafa47d647884bb64202d4fceeabd88bcdba825dd9eb1257744b29a85317fe3cc34c991d9c8ba7838f9ab19d4b94fe2acaa3c6564f9d8689be0461b1b9  android-tools-f2fs-tools-7.0.0_r24.tar.gz\n'
                > 
                <
'baee83d6e0010f3884e9bd56c270294402be9eed2109871b9f2ebc833e35e506605c5d41dfea377e5e59b17b0dbbf4acee2759146d2465b5d2315eb212fa7299  android-tools-safe-iop-7.0.0_r24.tar.gz\n'
                > 
                <
'303d1b604bd8f8eff8d4d5d9518a43c2d4a96d5d4ca9c89d97120f987897261faa0fee4f22745d066b4a89cdbaeef15cca4cd08fab74340b94c22a8c4d312f4c  android-tools-gtest-7.0.0_r24.tar.gz\n'
                > 
                <
'211fb8d6c37522b26306b75a3d1d2ee05f7c914f32b91a55cfea7375f5f5a99dae484ab11f798caea96de91bb9e345fb67efab19b12c779539fb15b2a687569b  android-tools.patch\n'
                > 
                <
'75e09d7391dba7858cf50d98893c84986b5117e6b920109b0adb4a2e1215b8b85b427fb4e855402f21541cbf01a21430ed2d30296d041ba56c01d0c735334dca  musl-fixes.patch'
                >
              )
            }
          spids: [417]
        )
      ]
    )
  ]
)