(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(john)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.8.0)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_pkgrel) op:Equal rhs:{(jumbo-1)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(7)} spids:[18])]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("John the Ripper password cracker"))}
          spids: [21]
        )
      ]
      spids: [21]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://www.openwall.com/john"))}
          spids: [26]
        )
      ]
      spids: [26]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:arch)
          op: Equal
          rhs: {(DQ ("x86_64 armhf ppc64le"))}
          spids: [31]
        )
      ]
      spids: [31]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[36])]
      spids: [36]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (nss))} spids:[41])]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!strip"))} spids:[46])]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ("libpcap-dev libressl-dev gmp-dev yasm-dev zlib-dev"))}
          spids: [51]
        )
      ]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[56])]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-doc\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-scripts-py:py:noarch\n") ("\t") ($ VSub_Name "$pkgname") ("-scripts-perl:perl:noarch\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-scripts-ruby:ruby:noarch\n") ("\t") ($ VSub_Name "$pkgname") ("-misc::noarch\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-zsh-completion:zshcomp:noarch\n") ("\t") ($ VSub_Name "$pkgname") ("-bash-completion:bashcomp:noarch\n") ("\t") ($ VSub_Name "$pkgname") 
                ("-jumbo:jumbo:noarch\n") ("\t")
              )
            }
          spids: [60]
        )
      ]
      spids: [60]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/magnumripper/JohnTheRipper/archive/") ($ VSub_Name "$pkgver") (-) ($ VSub_Name "$_pkgrel") (".tar.gz\n") ("\ttruecrypt_fmt_plug.patch\n") 
                ("\tparams-h.patch\n") ("\tgcc5-support.patch\n") ("\tlibressl.patch\n") ("\t")
              )
            }
          spids: [88]
        )
      ]
      spids: [88]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$srcdir") (/JohnTheRipper-) ($ VSub_Name "$pkgver") (-) 
                ($ VSub_Name "$_pkgrel")
              )
            }
          spids: [105]
        )
      ]
      spids: [105]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/src)})
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s/ac_default_prefix.*/ac_default_prefix=") 
                  (EscapedLiteralPart token:<Lit_EscapedChar "\\/">) (usr/g)
                )
              } {(configure)}
            )
            (C {(export)} {(Lit_VarLike "OPENSSL_LIBS=") (DQ ("-lssl -lcrypto"))})
            (C {(./configure)} {(--disable-openmp)})
            (AndOr
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
              op_id: Op_DPipe
            )
          ]
          spids: [119]
        )
      spids: [115 118]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)})
            (C {(mkdir)} {(-p)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname")}
            )
            (C {(install)} {(-Dm644)} {(run/john.conf)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/etc/john/john.conf)}
            )
            (C {(install)} {(-Dm644)} {(run/john.local.conf)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/etc/john/john.local.conf)}
            )
            (C {(install)} {(-Dm644)} {(doc/) (Lit_Other "*")} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname")}
            )
            (C {(install)} {(-Dm644)} {(doc/LICENSE)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/) ($ VSub_Name "$pkgname") (/LICENSE)}
            )
            (C {(rm)} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname") (/LICENSE) 
                (Lit_Other "*")
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:john_bins)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("john calc_stat genmkvpwd mkvcalcproba relbench\n") 
                        ("\t\t\ttgtsnarf raw2dyna")
                      )
                    }
                  spids: [273]
                )
              ]
              spids: [271]
            )
            (ForEach
              iter_name: bin
              iter_words: [{(${ VSub_Name john_bins)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(install)} {(-Dm755)} {(run/) (${ VSub_Name bin)} 
                      {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)}
                    )
                  ]
                  spids: [291 309]
                )
              spids: [285 289]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:john_links)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("hccap2john keepass2john mozilla2john pdf2john\n") 
                        ("\t\t\tpfx2john pwsafe2john racf2john rar2john ssh2john\n") ("\t\t\tunafs unique unsahdow undrop zip2john")
                      )
                    }
                  spids: [315]
                )
              ]
              spids: [313]
            )
            (ForEach
              iter_name: link
              iter_words: [{(${ VSub_Name john_links)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(ln)} {(-s)} {(john)} 
                      {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) (${ VSub_Name link)}
                    )
                  ]
                  spids: [334 352]
                )
              spids: [328 332]
            )
          ]
          spids: [175]
        )
      spids: [171 174]
    )
    (FuncDef
      name: py
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ("libxml2 libgsf"))}
                  spids: [364]
                )
              ]
              spids: [364]
            )
            (C {(_script)} {(python)} {(DQ ("*.py"))})
          ]
          spids: [361]
        )
      spids: [357 360]
    )
    (FuncDef
      name: perl
      body: 
        (BraceGroup
          children: [(C {(_script)} {(perl)} {(DQ ("*.pl benchmark-unify"))})]
          spids: [385]
        )
      spids: [381 384]
    )
    (FuncDef
      name: ruby
      body: (BraceGroup children:[(C {(_script)} {(ruby)} {(DQ ("*.rb"))})] spids:[403])
      spids: [399 402]
    )
    (FuncDef
      name: _script
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:lang)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [426]
                )
              ]
              spids: [424]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$depends") (" ") ($ VSub_Name "$lang"))}
                  spids: [433]
                )
              ]
              spids: [433]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("John the Ripper (") ($ VSub_Name "$lang") (" scripts)"))}
                  spids: [441]
                )
              ]
              spids: [441]
            )
            (C {(_install)} {(755)} {(DQ ($ VSub_Number "$2"))})
          ]
          spids: [421]
        )
      spids: [417 420]
    )
    (FuncDef
      name: misc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Misc tools for John the Ripper: password list and charset files"))}
                  spids: [467]
                )
              ]
              spids: [467]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:john_pwd)
                  op: Equal
                  rhs: {(DQ ("password.lst dictionary.rfc2865 stats"))}
                  spids: [475]
                )
              ]
              spids: [473]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:john_chr)
                  op: Equal
                  rhs: {(DQ ("*.chr"))}
                  spids: [483]
                )
              ]
              spids: [481]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:john_cfg)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("dumb*.conf repeats*.conf dynamic*.conf\n") 
                        ("\t\t\tkorelogic.conf regex_alphabets.conf")
                      )
                    }
                  spids: [491]
                )
              ]
              spids: [489]
            )
            (C {(_install)} {(644)} 
              {
                (DQ ($ VSub_Name "$john_pwd") (" ") ($ VSub_Name "$john_cfg") (" ") 
                  ($ VSub_Name "$john_chr")
                )
              }
            )
          ]
          spids: [464]
        )
      spids: [460 463]
    )
    (FuncDef
      name: _install
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:perm)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$1"))}
                  spids: [522]
                )
              ]
              spids: [520]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:files)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number "$2"))}
                  spids: [530]
                )
              ]
              spids: [528]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/) ($ VSub_Name "$pkgname")})
            (C {(cd)} {(DQ ($ VSub_Name "$builddir")) (/run)})
            (ForEach
              iter_name: f
              iter_words: [{(${ VSub_Name files)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(install)} {(-Dm) (${ VSub_Name perm)} {(${ VSub_Name f)} 
                      {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/john)}
                    )
                  ]
                  spids: [567 587]
                )
              spids: [561 565]
            )
          ]
          spids: [517]
        )
      spids: [513 516]
    )
    (FuncDef
      name: bashcomp
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[599])]
              spids: [599]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Bash completions for ") ($ VSub_Name "$pkgname"))}
                  spids: [604]
                )
              ]
              spids: [604]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel") (" bash-completion")
                      )
                    }
                  spids: [611]
                )
              ]
              spids: [611]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(install)} {(-Dm644)} {(run/john.bash_completion)} 
                  {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/bash-completion/completions/) 
                    ($ VSub_Name "$pkgname")
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [596]
        )
      spids: [592 595]
    )
    (FuncDef
      name: zshcomp
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[660])]
              spids: [660]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("Zsh completions for ") ($ VSub_Name "$pkgname"))}
                  spids: [665]
                )
              ]
              spids: [665]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:install_if)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgname") ("=") ($ VSub_Name "$pkgver") (-r) 
                        ($ VSub_Name "$pkgrel") (" zsh")
                      )
                    }
                  spids: [672]
                )
              ]
              spids: [672]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (AndOr
              children: [
                (C {(install)} {(-Dm644)} {(run/john.zsh_completion)} 
                  {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/zsh/site-functions/) 
                    ($ VSub_Name "$pkgname")
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [657]
        )
      spids: [653 656]
    )
    (FuncDef
      name: jumbo
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (jumbo pack)"))}
                  spids: [721]
                )
              ]
              spids: [721]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$pkgname") ("-scripts-py ") ($ VSub_Name "$pkgname") 
                        ("-scripts-perl\n") ("\t\t") ($ VSub_Name "$pkgname") ("-scripts-ruby ") ($ VSub_Name "$pkgname") (-misc)
                      )
                    }
                  spids: [728]
                )
              ]
              spids: [728]
            )
            (C {(mkdir)} {(DQ ($ VSub_Name "$subpkgdir"))})
          ]
          spids: [718]
        )
      spids: [714 717]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"8b7fad7a6330b5ff1afc306218ba698aaa27776b566f82c2e76102d5ceb10aeafa69d71fa6fff67c81996ea2c6a04384bab4696ed192306c6d074873562e7089  john-1.8.0.tar.gz\n"
                ) 
                (
"80be6cc1b1b35c6a85392008638b2f8b6d8a518ee35f59405e2f5682e025e4b8beecf964148311e6f62d76b59153f04427024fa81aaf56ee2062ac2dbf0a9bcb  truecrypt_fmt_plug.patch\n"
                ) 
                (
"a5c22feb8bf11509c306a2f236f2bd4891fdfc3b01882f07d85015e0895d82f28df0dff78ba8d3a3862d8d95877a88a9eb8138e6c407b40881fa1455079b98fc  params-h.patch\n"
                ) 
                (
"4ebe8b41b1d0c3839348dcf5348332f9d7ce25919077fa054db64b7106150f299c6b177d117f7c18c1db672a494a6de6be8b5afe502f5ca3639602ba3aef6866  gcc5-support.patch\n"
                ) 
                (
"fb46431fe3e42e36c72361c13460e8ac626d2f146fa84c8f6e17e5407e69530a84ceb1de6bc9910c1a03a6e907fc113f7000a2cbc3936ae0860103d3e2d489b0  libressl.patch"
                )
              )
            }
          spids: [751]
        )
      ]
      spids: [751]
    )
  ]
)