(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-o)} {(nounset)})
    (C {(Id.KW_Set set)} {(-o)} {(pipefail)})
    (C {(Id.KW_Set set)} {(-o)} {(errexit)})
    (command.ShFunction
      name: bundle-size
      body: 
        (command.BraceGroup
          children: [
            (C {(ls)} {(-l)} {(_build/) (Id.Lit_Star '*') (/bytecode-) (Id.Lit_Star '*') (.zip)} 
              {(_build/) (Id.Lit_Star '*') (/ovm)} {(_bin/) (Id.Lit_Star '*') (.ovm)}
            )
          ]
        )
    )
    (command.ShFunction
      name: linecount-nativedeps
      body: 
        (command.BraceGroup
          children: [
            (C {(local)} 
              {(Id.Lit_VarLike 'app_name=') 
                (braced_var_sub
                  token: (Token id:Id.VSub_Number val:1 span_id:87)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(oil)})
                )
              }
            )
            (command.Pipeline
              children: [
                (C {(find)} {(_tmp/) (${ Id.VSub_Name app_name) (-tar-test)} {(-name)} 
                  {(SQ (Token id:Id.Lit_Chars val:'*.[ch]' span_id:104))}
                )
                (C {(xargs)} {(wc)} {(-l)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
          ]
        )
    )
    (C {(readonly)} 
      {(Id.Lit_VarLike 'BYTECODE=') (SQ (Token id:Id.Lit_Chars val:bytecode-opy span_id:128))}
    )
    (command.ShFunction
      name: linecount-pydeps
      body: 
        (command.BraceGroup
          children: [
            (C {(local)} 
              {(Id.Lit_VarLike 'app_name=') 
                (braced_var_sub
                  token: (Token id:Id.VSub_Number val:1 span_id:146)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(oil)})
                )
              }
            )
            (command.Pipeline
              children: [
                (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'/\\.py$/ { print $1 }' span_id:156))} 
                  {(_build/) ($ Id.VSub_DollarName '$app_name') (/) (${ Id.VSub_Name BYTECODE) 
                    (-manifest.txt)
                  }
                )
                (C {(tee)} {(_tmp/pydeps.txt)})
                (C {(sort)})
                (C {(uniq)})
                (C {(xargs)} {(wc)} {(-l)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: pyc-files
      body: 
        (command.BraceGroup
          children: [
            (C {(local)} 
              {(Id.Lit_VarLike 'app_name=') 
                (braced_var_sub
                  token: (Token id:Id.VSub_Number val:1 span_id:210)
                  suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(oil)})
                )
              }
            )
            (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'/\\.pyc$/ { print $1 }' span_id:219))} 
              {(_build/) ($ Id.VSub_DollarName '$app_name') (/) (${ Id.VSub_Name BYTECODE) 
                (-manifest.txt)
              }
            )
          ]
        )
    )
    (command.ShFunction
      name: pyc-bytes
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {(pyc-files)} {(DQ ($ Id.VSub_At '$@'))})
                (C {(tee)} {(_tmp/pycdeps.txt)})
                (C {(sort)})
                (C {(uniq)})
                (C {(xargs)} {(wc)} {(--bytes)})
                (C {(sort)} {(-n)})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: pyc-md5
      body: 
        (command.BraceGroup
          children: [
            (command.Pipeline
              children: [
                (C {(pyc-files)} {(DQ ($ Id.VSub_At '$@'))})
                (C {(xargs)} {(bin/opyc)} {(dis-md5)})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: _tar-lines
      body: 
        (command.BraceGroup
          children: [
            (C {(linecount-nativedeps)} {(DQ ($ Id.VSub_At '$@'))})
            (C {(echo)})
            (C {(linecount-pydeps)} {(DQ ($ Id.VSub_At '$@'))})
          ]
        )
    )
    (command.ShFunction
      name: hello-tar-lines
      body: (command.BraceGroup children:[(C {(_tar-lines)} {(hello)})])
    )
    (command.ShFunction
      name: oil-tar-lines
      body: (command.BraceGroup children:[(C {(_tar-lines)} {(oil)})])
    )
    (C {(DQ ($ Id.VSub_At '$@'))})
  ]
)