(List
  (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}  )
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('BINARY', {[DQ [VarSub BUILT_PRODUCTS_DIR][LIT_CHARS /][VarSub EXECUTABLE_PATH]]})])
  (If
    (DBracket {B! {B1 UNARY_FILE_f {[DQ [VarSub BINARY]]}}})
    (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}    )
  )
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('BINARY_DIR', {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BINARY]]})]]})])
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('BUILTIN_DYLIB_PATH', {[ComSub (Pipeline (Com {[LIT_CHARS otool]} {[LIT_CHARS -L]} {[DQ [VarSub BINARY]]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -Ene]} {[SQ <LIT_CHARS "s/^[[:blank:]]+(.*libclang_rt\\.asan_.*_dynamic\\.dylib).*$/\\1/p">]}) )]})])
  (If
    (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub BUILTIN_DYLIB_PATH]]} {[LIT_OTHER "*"] [LIT_CHARS asan_iossim_dynamic] [LIT_OTHER "*"]}})
    (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('ASAN_DYLIB_NAME', {[LIT_CHARS libclang_rt.asan_iossim_dynamic.dylib]})])
    (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub BUILTIN_DYLIB_PATH]]} {[LIT_OTHER "*"] [LIT_CHARS asan_osx_dynamic] [LIT_OTHER "*"]}})
    (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('ASAN_DYLIB_NAME', {[LIT_CHARS libclang_rt.asan_osx_dynamic.dylib]})])
  )
  (If
    (DBracket {B1 UNARY_STRING_z {[DQ [VarSub BUILTIN_DYLIB_PATH]]}})
    (List
      (Com {[LIT_CHARS echo]} {[DQ [VarSub BINARY][LIT_CHARS " does not depend on the ASan runtime library!"]]}
        <
        (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
        >
      )
      (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}      )
    )
  )
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('ASAN_DYLIB', {[ComSub (Com {[LIT_CHARS find]} {[DQ [VarSub BUILT_PRODUCTS_DIR][LIT_CHARS "/../../third_party/llvm-build/Release+Asserts/lib/clang/"]]} {[LIT_CHARS -type]} {[LIT_CHARS f]} {[LIT_CHARS -path]} {[DQ [LIT_CHARS "*"][VarSub ASAN_DYLIB_NAME]]})]})])
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('DYLIB_BASENAME', {[ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub ASAN_DYLIB]]})]})])
  (If
    (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub DYLIB_BASENAME]]} {[DQ [VarSub ASAN_DYLIB_NAME]]}})
    (List
      (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "basename("][VarSub ASAN_DYLIB][LIT_CHARS ") != "][VarSub ASAN_DYLIB_NAME]]}
        <
        (DescriptorRedirectNode target={[LIT_CHARS 2]} <REDIR_GREATAND ">&"> 1),
        >
      )
      (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}      )
    )
  )
  (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('UPPER_DIR', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BINARY_DIR]]})]})])
  (If
    (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub UPPER_DIR]]} {[LIT_DBRACKET_LIKE "=="]} {[DQ [LIT_CHARS MacOS]]} {[LIT_DBRACKET_LIKE "]"]}    )
    (List
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('LIBRARIES_DIR', {[DQ [VarSub UPPER_DIR][LIT_CHARS /Libraries]]})])
      (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LIBRARIES_DIR]]}      )
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('NEW_LC_ID_DYLIB', {[DQ [LIT_CHARS "@executable_path/../Libraries/"][VarSub ASAN_DYLIB_NAME]]})])
    )
    (ElseTrue)
    (List
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('LIBRARIES_DIR', {[DQ [VarSub BINARY_DIR]]})])
      (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('NEW_LC_ID_DYLIB', {[DQ [LIT_CHARS "@executable_path/"][VarSub ASAN_DYLIB_NAME]]})])
    )
  )
  (Com {[LIT_CHARS cp]} {[DQ [VarSub ASAN_DYLIB]]} {[DQ [VarSub LIBRARIES_DIR]]}  )
  (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -id]} {[DQ [VarSub NEW_LC_ID_DYLIB]]} {[DQ [VarSub LIBRARIES_DIR][LIT_CHARS /][VarSub ASAN_DYLIB_NAME]]}  )
  (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -change]} {[DQ [VarSub BUILTIN_DYLIB_PATH]]} {[DQ [VarSub NEW_LC_ID_DYLIB]]} {[DQ [VarSub BINARY]]}  )
)