(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<tesseract-ocr>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<3.05.01>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_tdver)
          op: assign_op.Equal
          rhs: {<3.04.00>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<2>}
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'open source OCR engine'>)}
          spids: [18]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://github.com/tesseract-ocr/tesseract/releases'>)}
          spids: [23]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [28]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <Apache>)}
          spids: [33]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'automake autoconf libtool leptonica-dev pango-dev icu-dev\n'> <'\tcairo-dev'>)}
          spids: [46]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <'-dev '> ($ Id.VSub_DollarName '$pkgname') <-doc>)
            }
          spids: [52]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') 
                <'.tar.gz::https://github.com/'> ($ Id.VSub_DollarName '$pkgname') <'/'> 
                (braced_var_sub
                  token: <Id.VSub_Name pkgname>
                  suffix_op: 
                    (suffix_op.PatSub
                      pat: {<-> <Id.Lit_Other '*'>}
                      replace_mode: Id.Undefined_Tok
                    )
                ) <'/archive/'> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz\n'> 
                <'\thttps://github.com/tesseract-ocr/tessdata/archive/'> (${ Id.VSub_Name _tdver) <'/tessdata-'> (${ Id.VSub_Name _tdver) <'.tar.gz\n'> <'\t'>
              )
            }
          spids: [60]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_langs)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'afr ara aze bel ben bul cat ces chi_sim chi_tra chr dan deu ell\n'> 
                <'enm epo equ est eus fin fra frk frm glg grc heb hin hrv hun ind isl ita\n'> <'ita_old jpn kan kor lav lit mal mkd mlt msa nld nor pol por ron rus slk\n'> 
                <'slv spa spa_old sqi srp swa swe tam tel tgl tha tur ukr vie'>
              )
            }
          spids: [90]
        )
      ]
    )
    (command.ForEach
      iter_name: _lang
      iter_words: [{($ Id.VSub_DollarName '$_langs')}]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:subpackages)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ ($ Id.VSub_DollarName '$subpackages') <' '> ($ Id.VSub_DollarName '$pkgname') 
                        <-data-> ($ Id.VSub_DollarName '$_lang') <':_lang_data:noarch'>
                      )
                    }
                  spids: [111]
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: 
            {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> 
              (braced_var_sub
                token: <Id.VSub_Name pkgname>
                suffix_op: 
                  (suffix_op.PatSub
                    pat: {<-> <Id.Lit_Other '*'>}
                    replace_mode: Id.Undefined_Tok
                  )
              ) <-> ($ Id.VSub_DollarName '$pkgver')
            }
          spids: [124]
        )
      ]
    )
    (command.ShFunction
      name: build
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<'./autogen.sh'>})
            (C {<'./configure'>} {<--build> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CBUILD')} 
              {<--host> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$CHOST')} {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--sysconfdir> <Id.Lit_Equals '='> <'/etc'>} 
              {<--mandir> <Id.Lit_Equals '='> <'/usr/share/man'>} {<--infodir> <Id.Lit_Equals '='> <'/usr/share/info'>} {<--localstatedir> <Id.Lit_Equals '='> <'/var'>} 
              {<--disable-static>}
            )
            (C {<make>})
            (C {<make>} {<training>})
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} {<install>})
            (C {<make>} {<Id.Lit_VarLike 'DESTDIR='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} 
              {<training-install>}
            )
            (C {<install>} {<-D>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/tessdata-'> ($ Id.VSub_DollarName '$_tdver') 
                <'/eng.'> <Id.Lit_Star '*'>
              } 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/tessdata-'> ($ Id.VSub_DollarName '$_tdver') 
                <'/osd.'> <Id.Lit_Star '*'>
              } 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/tessdata-'> ($ Id.VSub_DollarName '$_tdver') 
                <'/equ.'> <Id.Lit_Star '*'>
              } {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/tessdata/'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: _lang_data
      body: 
        (BraceGroup
          children: [
            (C {<local>} 
              {<Id.Lit_VarLike 'lang='> 
                (DQ 
                  (braced_var_sub
                    token: <Id.VSub_Name subpkgname>
                    suffix_op: 
                      (suffix_op.Unary
                        tok: <Id.VOp1_Pound '#'>
                        arg_word: {($ Id.VSub_DollarName '$pkgname') <-data->}
                      )
                  )
                )
              }
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:pkgdesc)
                  op: assign_op.Equal
                  rhs: {(DQ <'Tesseract language data for '> ($ Id.VSub_DollarName '$lang'))}
                  spids: [312]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:depends)
                  op: assign_op.Equal
                  rhs: {(DQ ($ Id.VSub_DollarName '$pkgname'))}
                  spids: [319]
                )
              ]
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/tessdata'>})
            (C {<mv>} 
              {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/tessdata-'> ($ Id.VSub_DollarName '$_tdver') 
                <'/'> ($ Id.VSub_DollarName '$lang') <.> <Id.Lit_Star '*'>
              } {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/tessdata/'>}
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'a49c20c98386684cd89582e57b772811204fad8e5ff18214fb0da109f73629c70845054985e31e8deeb49107fbcf56e546aff661f08eb5dd60fbf83dbe976e81  tesseract-ocr-3.05.01.tar.gz\n'
                > 
                <
'4fbb66137c729e16c7a9e35b09916a45c1bb5ec5a7002a22647e0b10975362cb44c6d6c0c997baf25866f78749ec2d4a86317ec3fb664bd963243e230516d162  tessdata-3.04.00.tar.gz'
                >
              )
            }
          spids: [357]
        )
      ]
    )
  ]
)