(List (Com {[LIT_CHARS set]} {[LIT_CHARS -eu]}) (= scope= flags=1 words=[] bindings=[('PATH', {[DQ [LIT_CHARS "/usr/bin:/bin:/usr/sbin:/sbin"]]})]) (Com {[LIT_CHARS unset]} {[LIT_CHARS BASH_ENV]} {[LIT_CHARS CDPATH]} {[LIT_CHARS ENV]} {[LIT_CHARS GLOBIGNORE]} {[LIT_CHARS IFS]} {[LIT_CHARS POSIXLY_CORRECT]}) (= scope= flags=1 words=[{[LIT_CHARS -n]}, {[LIT_CHARS SHELLOPTS]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('ME', {[DQ [ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub 0]]})]]})]) (= scope= flags=2 words=[{[LIT_CHARS ME]}] bindings=[]) (If (DBracket {B2 BINARY_INT_NE {[VarSub #]} {[LIT_CHARS 3]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub ME][LIT_CHARS " packaging_dir mac_product_name version"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('packaging_dir', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('mac_product_name', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('version', {[DQ [VarSub 3]]})]) (= scope= flags=0 words=[] bindings=[('script_dir', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub 0]]})]]})]) (= scope= flags=0 words=[] bindings=[('in_files', {[Array {OP_NEWLINE "\n"} {[DQ [VarSub script_dir][LIT_CHARS /sign_app.sh.in]]} {OP_NEWLINE "\n"} {[DQ [VarSub script_dir][LIT_CHARS /sign_versioned_dir.sh.in]]} {OP_NEWLINE "\n"} {[DQ [VarSub script_dir][LIT_CHARS /app_resource_rules.plist.in]]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('version_regex', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub version]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub packaging_dir]]}) (For in_file [{[DQ [VarSub in_files bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('out_file', {[DQ [VarSub packaging_dir][LIT_CHARS /][ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub in_file transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub in_file transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 3]}}}]]]})]]})]) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s/@MAC_PRODUCT_NAME@/"][VarSub mac_product_name][LIT_CHARS /g]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s/@VERSION@/"][VarSub version][LIT_CHARS /g]]} {[LIT_CHARS -e]} {[DQ [LIT_CHARS "s/@VERSION_REGEX@/"][VarSub version_regex][LIT_CHARS /g]]} < (FilenameRedirectNode filename={[DQ [VarSub in_file]]} 0), (FilenameRedirectNode filename={[DQ [VarSub out_file]]} "> 1), > ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub out_file transform_ops=[Slice {A1 NODE_UNARY_MINUS {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 3]}} } None]]]} {[DQ [LIT_CHARS .sh]]}}) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[DQ [VarSub out_file]]}) ) ) ) )