gitextract_as4hsawy/ ├── .github/ │ └── ISSUE_TEMPLATE.md ├── .gitignore ├── .gitmodules ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md ├── _config.yml ├── atlas-aapt/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── Makefile │ ├── README.md │ ├── README.zh-cn.md │ ├── UpdateAndroidSource.sh │ ├── bionic/ │ │ └── libc/ │ │ └── include/ │ │ ├── alloca.h │ │ ├── android/ │ │ │ ├── api-level.h │ │ │ ├── dlext.h │ │ │ ├── legacy_errno_inlines.h │ │ │ ├── legacy_signal_inlines.h │ │ │ ├── legacy_stdlib_inlines.h │ │ │ ├── legacy_sys_atomics_inlines.h │ │ │ ├── legacy_sys_stat_inlines.h │ │ │ ├── legacy_termios_inlines.h │ │ │ └── set_abort_message.h │ │ ├── ar.h │ │ ├── arpa/ │ │ │ ├── inet.h │ │ │ ├── nameser.h │ │ │ ├── nameser_compat.h │ │ │ └── telnet.h │ │ ├── assert.h │ │ ├── bits/ │ │ │ ├── lockf.h │ │ │ ├── posix_limits.h │ │ │ ├── pthread_types.h │ │ │ ├── timespec.h │ │ │ └── wchar_limits.h │ │ ├── byteswap.h │ │ ├── ctype.h │ │ ├── dirent.h │ │ ├── dlfcn.h │ │ ├── elf.h │ │ ├── endian.h │ │ ├── err.h │ │ ├── errno.h │ │ ├── error.h │ │ ├── fcntl.h │ │ ├── features.h │ │ ├── fnmatch.h │ │ ├── fts.h │ │ ├── ftw.h │ │ ├── getopt.h │ │ ├── grp.h │ │ ├── ifaddrs.h │ │ ├── inttypes.h │ │ ├── lastlog.h │ │ ├── libgen.h │ │ ├── limits.h │ │ ├── link.h │ │ ├── locale.h │ │ ├── machine/ │ │ │ ├── endian.h │ │ │ └── ieee.h │ │ ├── malloc.h │ │ ├── memory.h │ │ ├── mntent.h │ │ ├── net/ │ │ │ ├── ethernet.h │ │ │ ├── ethertypes.h │ │ │ ├── if.h │ │ │ ├── if_arp.h │ │ │ ├── if_ether.h │ │ │ ├── if_ieee1394.h │ │ │ ├── if_packet.h │ │ │ ├── if_types.h │ │ │ └── route.h │ │ ├── netdb.h │ │ ├── netinet/ │ │ │ ├── ether.h │ │ │ ├── icmp6.h │ │ │ ├── if_ether.h │ │ │ ├── in.h │ │ │ ├── in6.h │ │ │ ├── in_systm.h │ │ │ ├── ip.h │ │ │ ├── ip6.h │ │ │ ├── ip_icmp.h │ │ │ ├── tcp.h │ │ │ └── udp.h │ │ ├── netpacket/ │ │ │ └── packet.h │ │ ├── nsswitch.h │ │ ├── paths.h │ │ ├── poll.h │ │ ├── pthread.h │ │ ├── pty.h │ │ ├── pwd.h │ │ ├── regex.h │ │ ├── resolv.h │ │ ├── sched.h │ │ ├── search.h │ │ ├── semaphore.h │ │ ├── setjmp.h │ │ ├── sgtty.h │ │ ├── signal.h │ │ ├── stdatomic.h │ │ ├── stdint.h │ │ ├── stdio.h │ │ ├── stdio_ext.h │ │ ├── stdlib.h │ │ ├── string.h │ │ ├── strings.h │ │ ├── sys/ │ │ │ ├── _errdefs.h │ │ │ ├── _sigdefs.h │ │ │ ├── _system_properties.h │ │ │ ├── atomics.h │ │ │ ├── auxv.h │ │ │ ├── cachectl.h │ │ │ ├── capability.h │ │ │ ├── cdefs.h │ │ │ ├── endian.h │ │ │ ├── epoll.h │ │ │ ├── errno.h │ │ │ ├── eventfd.h │ │ │ ├── fcntl.h │ │ │ ├── file.h │ │ │ ├── fsuid.h │ │ │ ├── glibc-syscalls.h │ │ │ ├── inotify.h │ │ │ ├── ioctl.h │ │ │ ├── ioctl_compat.h │ │ │ ├── ipc.h │ │ │ ├── klog.h │ │ │ ├── limits.h │ │ │ ├── mman.h │ │ │ ├── mount.h │ │ │ ├── msg.h │ │ │ ├── param.h │ │ │ ├── personality.h │ │ │ ├── poll.h │ │ │ ├── prctl.h │ │ │ ├── procfs.h │ │ │ ├── ptrace.h │ │ │ ├── queue.h │ │ │ ├── reboot.h │ │ │ ├── reg.h │ │ │ ├── resource.h │ │ │ ├── select.h │ │ │ ├── sem.h │ │ │ ├── sendfile.h │ │ │ ├── signal.h │ │ │ ├── signalfd.h │ │ │ ├── socket.h │ │ │ ├── socketcalls.h │ │ │ ├── stat.h │ │ │ ├── statfs.h │ │ │ ├── statvfs.h │ │ │ ├── swap.h │ │ │ ├── syscall.h │ │ │ ├── sysconf.h │ │ │ ├── sysinfo.h │ │ │ ├── syslimits.h │ │ │ ├── syslog.h │ │ │ ├── sysmacros.h │ │ │ ├── system_properties.h │ │ │ ├── time.h │ │ │ ├── timerfd.h │ │ │ ├── times.h │ │ │ ├── timex.h │ │ │ ├── ttychars.h │ │ │ ├── ttydefaults.h │ │ │ ├── ttydev.h │ │ │ ├── types.h │ │ │ ├── ucontext.h │ │ │ ├── uio.h │ │ │ ├── un.h │ │ │ ├── unistd.h │ │ │ ├── user.h │ │ │ ├── utime.h │ │ │ ├── utsname.h │ │ │ ├── vfs.h │ │ │ ├── vt.h │ │ │ ├── wait.h │ │ │ └── xattr.h │ │ ├── syscall.h │ │ ├── sysexits.h │ │ ├── syslog.h │ │ ├── termio.h │ │ ├── termios.h │ │ ├── time.h │ │ ├── time64.h │ │ ├── uchar.h │ │ ├── ucontext.h │ │ ├── unistd.h │ │ ├── util.h │ │ ├── utime.h │ │ ├── utmp.h │ │ ├── wait.h │ │ ├── wchar.h │ │ ├── wctype.h │ │ └── xlocale.h │ ├── build_ShakaAapt_all_in_linux.sh │ ├── build_ShakaAapt_all_in_maxos.sh │ ├── external/ │ │ ├── compiler-rt/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CODE_OWNERS.TXT │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_MIT │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── README.android │ │ │ ├── README.txt │ │ │ ├── cmake/ │ │ │ │ ├── Modules/ │ │ │ │ │ ├── AddCompilerRT.cmake │ │ │ │ │ ├── CompilerRTCompile.cmake │ │ │ │ │ ├── CompilerRTDarwinUtils.cmake │ │ │ │ │ ├── CompilerRTLink.cmake │ │ │ │ │ ├── CompilerRTUtils.cmake │ │ │ │ │ └── SanitizerUtils.cmake │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ └── sanitizer/ │ │ │ │ ├── allocator_interface.h │ │ │ │ ├── asan_interface.h │ │ │ │ ├── common_interface_defs.h │ │ │ │ ├── coverage_interface.h │ │ │ │ ├── dfsan_interface.h │ │ │ │ ├── linux_syscall_hooks.h │ │ │ │ ├── lsan_interface.h │ │ │ │ ├── msan_interface.h │ │ │ │ └── tsan_interface_atomic.h │ │ │ ├── lib/ │ │ │ │ ├── BlocksRuntime/ │ │ │ │ │ ├── Block.h │ │ │ │ │ ├── Block_private.h │ │ │ │ │ ├── data.c │ │ │ │ │ └── runtime.c │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile.mk │ │ │ │ ├── asan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── asan.syms.extra │ │ │ │ │ ├── asan_activation.cc │ │ │ │ │ ├── asan_activation.h │ │ │ │ │ ├── asan_activation_flags.inc │ │ │ │ │ ├── asan_allocator.cc │ │ │ │ │ ├── asan_allocator.h │ │ │ │ │ ├── asan_android_stub.cc │ │ │ │ │ ├── asan_blacklist.txt │ │ │ │ │ ├── asan_debugging.cc │ │ │ │ │ ├── asan_fake_stack.cc │ │ │ │ │ ├── asan_fake_stack.h │ │ │ │ │ ├── asan_flags.cc │ │ │ │ │ ├── asan_flags.h │ │ │ │ │ ├── asan_flags.inc │ │ │ │ │ ├── asan_globals.cc │ │ │ │ │ ├── asan_init_version.h │ │ │ │ │ ├── asan_interceptors.cc │ │ │ │ │ ├── asan_interceptors.h │ │ │ │ │ ├── asan_interface_internal.h │ │ │ │ │ ├── asan_internal.h │ │ │ │ │ ├── asan_linux.cc │ │ │ │ │ ├── asan_lock.h │ │ │ │ │ ├── asan_mac.cc │ │ │ │ │ ├── asan_malloc_linux.cc │ │ │ │ │ ├── asan_malloc_mac.cc │ │ │ │ │ ├── asan_malloc_win.cc │ │ │ │ │ ├── asan_mapping.h │ │ │ │ │ ├── asan_new_delete.cc │ │ │ │ │ ├── asan_poisoning.cc │ │ │ │ │ ├── asan_poisoning.h │ │ │ │ │ ├── asan_posix.cc │ │ │ │ │ ├── asan_preinit.cc │ │ │ │ │ ├── asan_report.cc │ │ │ │ │ ├── asan_report.h │ │ │ │ │ ├── asan_rtl.cc │ │ │ │ │ ├── asan_stack.cc │ │ │ │ │ ├── asan_stack.h │ │ │ │ │ ├── asan_stats.cc │ │ │ │ │ ├── asan_stats.h │ │ │ │ │ ├── asan_suppressions.cc │ │ │ │ │ ├── asan_suppressions.h │ │ │ │ │ ├── asan_thread.cc │ │ │ │ │ ├── asan_thread.h │ │ │ │ │ ├── asan_win.cc │ │ │ │ │ ├── asan_win_dll_thunk.cc │ │ │ │ │ ├── asan_win_dynamic_runtime_thunk.cc │ │ │ │ │ ├── asanwrapper.cc │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── asan_device_setup │ │ │ │ │ │ ├── asan_symbolize.py │ │ │ │ │ │ └── symbolize.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── asan_asm_test.cc │ │ │ │ │ ├── asan_benchmarks_test.cc │ │ │ │ │ ├── asan_exceptions_test.cc │ │ │ │ │ ├── asan_fake_stack_test.cc │ │ │ │ │ ├── asan_globals_test.cc │ │ │ │ │ ├── asan_interface_test.cc │ │ │ │ │ ├── asan_mac_test.cc │ │ │ │ │ ├── asan_mac_test.h │ │ │ │ │ ├── asan_mac_test_helpers.mm │ │ │ │ │ ├── asan_mem_test.cc │ │ │ │ │ ├── asan_noinst_test.cc │ │ │ │ │ ├── asan_oob_test.cc │ │ │ │ │ ├── asan_racy_double_free_test.cc │ │ │ │ │ ├── asan_str_test.cc │ │ │ │ │ ├── asan_test.cc │ │ │ │ │ ├── asan_test.ignore │ │ │ │ │ ├── asan_test_config.h │ │ │ │ │ ├── asan_test_main.cc │ │ │ │ │ └── asan_test_utils.h │ │ │ │ ├── builtins/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Darwin-excludes/ │ │ │ │ │ │ ├── 10.4-x86_64.txt │ │ │ │ │ │ ├── 10.4.txt │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── README.TXT │ │ │ │ │ │ ├── ios-armv7.txt │ │ │ │ │ │ ├── ios-armv7s.txt │ │ │ │ │ │ ├── ios.txt │ │ │ │ │ │ ├── ios6-armv7.txt │ │ │ │ │ │ ├── ios6-armv7s.txt │ │ │ │ │ │ ├── ios7-arm64.txt │ │ │ │ │ │ ├── iossim-i386.txt │ │ │ │ │ │ ├── iossim-x86_64.txt │ │ │ │ │ │ ├── iossim.txt │ │ │ │ │ │ ├── osx-i386.txt │ │ │ │ │ │ ├── osx-x86_64.txt │ │ │ │ │ │ └── osx.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── absvdi2.c │ │ │ │ │ ├── absvsi2.c │ │ │ │ │ ├── absvti2.c │ │ │ │ │ ├── adddf3.c │ │ │ │ │ ├── addsf3.c │ │ │ │ │ ├── addtf3.c │ │ │ │ │ ├── addvdi3.c │ │ │ │ │ ├── addvsi3.c │ │ │ │ │ ├── addvti3.c │ │ │ │ │ ├── apple_versioning.c │ │ │ │ │ ├── arm/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── adddf3vfp.S │ │ │ │ │ │ ├── addsf3vfp.S │ │ │ │ │ │ ├── aeabi_cdcmp.S │ │ │ │ │ │ ├── aeabi_cdcmpeq_check_nan.c │ │ │ │ │ │ ├── aeabi_cfcmp.S │ │ │ │ │ │ ├── aeabi_cfcmpeq_check_nan.c │ │ │ │ │ │ ├── aeabi_dcmp.S │ │ │ │ │ │ ├── aeabi_div0.c │ │ │ │ │ │ ├── aeabi_drsub.c │ │ │ │ │ │ ├── aeabi_fcmp.S │ │ │ │ │ │ ├── aeabi_frsub.c │ │ │ │ │ │ ├── aeabi_idivmod.S │ │ │ │ │ │ ├── aeabi_ldivmod.S │ │ │ │ │ │ ├── aeabi_memcmp.S │ │ │ │ │ │ ├── aeabi_memcpy.S │ │ │ │ │ │ ├── aeabi_memmove.S │ │ │ │ │ │ ├── aeabi_memset.S │ │ │ │ │ │ ├── aeabi_uidivmod.S │ │ │ │ │ │ ├── aeabi_uldivmod.S │ │ │ │ │ │ ├── bswapdi2.S │ │ │ │ │ │ ├── bswapsi2.S │ │ │ │ │ │ ├── clzdi2.S │ │ │ │ │ │ ├── clzsi2.S │ │ │ │ │ │ ├── comparesf2.S │ │ │ │ │ │ ├── divdf3vfp.S │ │ │ │ │ │ ├── divmodsi4.S │ │ │ │ │ │ ├── divsf3vfp.S │ │ │ │ │ │ ├── divsi3.S │ │ │ │ │ │ ├── eqdf2vfp.S │ │ │ │ │ │ ├── eqsf2vfp.S │ │ │ │ │ │ ├── extendsfdf2vfp.S │ │ │ │ │ │ ├── fixdfsivfp.S │ │ │ │ │ │ ├── fixsfsivfp.S │ │ │ │ │ │ ├── fixunsdfsivfp.S │ │ │ │ │ │ ├── fixunssfsivfp.S │ │ │ │ │ │ ├── floatsidfvfp.S │ │ │ │ │ │ ├── floatsisfvfp.S │ │ │ │ │ │ ├── floatunssidfvfp.S │ │ │ │ │ │ ├── floatunssisfvfp.S │ │ │ │ │ │ ├── gedf2vfp.S │ │ │ │ │ │ ├── gesf2vfp.S │ │ │ │ │ │ ├── gtdf2vfp.S │ │ │ │ │ │ ├── gtsf2vfp.S │ │ │ │ │ │ ├── ledf2vfp.S │ │ │ │ │ │ ├── lesf2vfp.S │ │ │ │ │ │ ├── ltdf2vfp.S │ │ │ │ │ │ ├── ltsf2vfp.S │ │ │ │ │ │ ├── modsi3.S │ │ │ │ │ │ ├── muldf3vfp.S │ │ │ │ │ │ ├── mulsf3vfp.S │ │ │ │ │ │ ├── nedf2vfp.S │ │ │ │ │ │ ├── negdf2vfp.S │ │ │ │ │ │ ├── negsf2vfp.S │ │ │ │ │ │ ├── nesf2vfp.S │ │ │ │ │ │ ├── restore_vfp_d8_d15_regs.S │ │ │ │ │ │ ├── save_vfp_d8_d15_regs.S │ │ │ │ │ │ ├── softfloat-alias.list │ │ │ │ │ │ ├── subdf3vfp.S │ │ │ │ │ │ ├── subsf3vfp.S │ │ │ │ │ │ ├── switch16.S │ │ │ │ │ │ ├── switch32.S │ │ │ │ │ │ ├── switch8.S │ │ │ │ │ │ ├── switchu8.S │ │ │ │ │ │ ├── sync-ops.h │ │ │ │ │ │ ├── sync_fetch_and_add_4.S │ │ │ │ │ │ ├── sync_fetch_and_add_8.S │ │ │ │ │ │ ├── sync_fetch_and_and_4.S │ │ │ │ │ │ ├── sync_fetch_and_and_8.S │ │ │ │ │ │ ├── sync_fetch_and_max_4.S │ │ │ │ │ │ ├── sync_fetch_and_max_8.S │ │ │ │ │ │ ├── sync_fetch_and_min_4.S │ │ │ │ │ │ ├── sync_fetch_and_min_8.S │ │ │ │ │ │ ├── sync_fetch_and_nand_4.S │ │ │ │ │ │ ├── sync_fetch_and_nand_8.S │ │ │ │ │ │ ├── sync_fetch_and_or_4.S │ │ │ │ │ │ ├── sync_fetch_and_or_8.S │ │ │ │ │ │ ├── sync_fetch_and_sub_4.S │ │ │ │ │ │ ├── sync_fetch_and_sub_8.S │ │ │ │ │ │ ├── sync_fetch_and_umax_4.S │ │ │ │ │ │ ├── sync_fetch_and_umax_8.S │ │ │ │ │ │ ├── sync_fetch_and_umin_4.S │ │ │ │ │ │ ├── sync_fetch_and_umin_8.S │ │ │ │ │ │ ├── sync_fetch_and_xor_4.S │ │ │ │ │ │ ├── sync_fetch_and_xor_8.S │ │ │ │ │ │ ├── sync_synchronize.S │ │ │ │ │ │ ├── truncdfsf2vfp.S │ │ │ │ │ │ ├── udivmodsi4.S │ │ │ │ │ │ ├── udivsi3.S │ │ │ │ │ │ ├── umodsi3.S │ │ │ │ │ │ ├── unorddf2vfp.S │ │ │ │ │ │ └── unordsf2vfp.S │ │ │ │ │ ├── arm64/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ └── dummy.c │ │ │ │ │ ├── armv6m/ │ │ │ │ │ │ └── Makefile.mk │ │ │ │ │ ├── ashldi3.c │ │ │ │ │ ├── ashlti3.c │ │ │ │ │ ├── ashrdi3.c │ │ │ │ │ ├── ashrti3.c │ │ │ │ │ ├── assembly.h │ │ │ │ │ ├── atomic.c │ │ │ │ │ ├── atomic_flag_clear.c │ │ │ │ │ ├── atomic_flag_clear_explicit.c │ │ │ │ │ ├── atomic_flag_test_and_set.c │ │ │ │ │ ├── atomic_flag_test_and_set_explicit.c │ │ │ │ │ ├── atomic_signal_fence.c │ │ │ │ │ ├── atomic_thread_fence.c │ │ │ │ │ ├── clear_cache.c │ │ │ │ │ ├── clzdi2.c │ │ │ │ │ ├── clzsi2.c │ │ │ │ │ ├── clzti2.c │ │ │ │ │ ├── cmpdi2.c │ │ │ │ │ ├── cmpti2.c │ │ │ │ │ ├── comparedf2.c │ │ │ │ │ ├── comparesf2.c │ │ │ │ │ ├── comparetf2.c │ │ │ │ │ ├── ctzdi2.c │ │ │ │ │ ├── ctzsi2.c │ │ │ │ │ ├── ctzti2.c │ │ │ │ │ ├── divdc3.c │ │ │ │ │ ├── divdf3.c │ │ │ │ │ ├── divdi3.c │ │ │ │ │ ├── divmoddi4.c │ │ │ │ │ ├── divmodsi4.c │ │ │ │ │ ├── divsc3.c │ │ │ │ │ ├── divsf3.c │ │ │ │ │ ├── divsi3.c │ │ │ │ │ ├── divtc3.c │ │ │ │ │ ├── divtf3.c │ │ │ │ │ ├── divti3.c │ │ │ │ │ ├── divxc3.c │ │ │ │ │ ├── emutls.c │ │ │ │ │ ├── enable_execute_stack.c │ │ │ │ │ ├── eprintf.c │ │ │ │ │ ├── extenddftf2.c │ │ │ │ │ ├── extendhfsf2.c │ │ │ │ │ ├── extendsfdf2.c │ │ │ │ │ ├── extendsftf2.c │ │ │ │ │ ├── ffsdi2.c │ │ │ │ │ ├── ffsti2.c │ │ │ │ │ ├── fixdfdi.c │ │ │ │ │ ├── fixdfsi.c │ │ │ │ │ ├── fixdfti.c │ │ │ │ │ ├── fixsfdi.c │ │ │ │ │ ├── fixsfsi.c │ │ │ │ │ ├── fixsfti.c │ │ │ │ │ ├── fixtfdi.c │ │ │ │ │ ├── fixtfsi.c │ │ │ │ │ ├── fixtfti.c │ │ │ │ │ ├── fixunsdfdi.c │ │ │ │ │ ├── fixunsdfsi.c │ │ │ │ │ ├── fixunsdfti.c │ │ │ │ │ ├── fixunssfdi.c │ │ │ │ │ ├── fixunssfsi.c │ │ │ │ │ ├── fixunssfti.c │ │ │ │ │ ├── fixunstfdi.c │ │ │ │ │ ├── fixunstfsi.c │ │ │ │ │ ├── fixunstfti.c │ │ │ │ │ ├── fixunsxfdi.c │ │ │ │ │ ├── fixunsxfsi.c │ │ │ │ │ ├── fixunsxfti.c │ │ │ │ │ ├── fixxfdi.c │ │ │ │ │ ├── fixxfti.c │ │ │ │ │ ├── floatdidf.c │ │ │ │ │ ├── floatdisf.c │ │ │ │ │ ├── floatditf.c │ │ │ │ │ ├── floatdixf.c │ │ │ │ │ ├── floatsidf.c │ │ │ │ │ ├── floatsisf.c │ │ │ │ │ ├── floatsitf.c │ │ │ │ │ ├── floattidf.c │ │ │ │ │ ├── floattisf.c │ │ │ │ │ ├── floattixf.c │ │ │ │ │ ├── floatundidf.c │ │ │ │ │ ├── floatundisf.c │ │ │ │ │ ├── floatunditf.c │ │ │ │ │ ├── floatundixf.c │ │ │ │ │ ├── floatunsidf.c │ │ │ │ │ ├── floatunsisf.c │ │ │ │ │ ├── floatunsitf.c │ │ │ │ │ ├── floatuntidf.c │ │ │ │ │ ├── floatuntisf.c │ │ │ │ │ ├── floatuntixf.c │ │ │ │ │ ├── fp_add_impl.inc │ │ │ │ │ ├── fp_extend.h │ │ │ │ │ ├── fp_extend_impl.inc │ │ │ │ │ ├── fp_fixint_impl.inc │ │ │ │ │ ├── fp_fixuint_impl.inc │ │ │ │ │ ├── fp_lib.h │ │ │ │ │ ├── fp_mul_impl.inc │ │ │ │ │ ├── fp_trunc.h │ │ │ │ │ ├── fp_trunc_impl.inc │ │ │ │ │ ├── gcc_personality_v0.c │ │ │ │ │ ├── i386/ │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── ashldi3.S │ │ │ │ │ │ ├── ashrdi3.S │ │ │ │ │ │ ├── chkstk.S │ │ │ │ │ │ ├── chkstk2.S │ │ │ │ │ │ ├── divdi3.S │ │ │ │ │ │ ├── floatdidf.S │ │ │ │ │ │ ├── floatdisf.S │ │ │ │ │ │ ├── floatdixf.S │ │ │ │ │ │ ├── floatundidf.S │ │ │ │ │ │ ├── floatundisf.S │ │ │ │ │ │ ├── floatundixf.S │ │ │ │ │ │ ├── lshrdi3.S │ │ │ │ │ │ ├── moddi3.S │ │ │ │ │ │ ├── muldi3.S │ │ │ │ │ │ ├── udivdi3.S │ │ │ │ │ │ └── umoddi3.S │ │ │ │ │ ├── int_endianness.h │ │ │ │ │ ├── int_lib.h │ │ │ │ │ ├── int_math.h │ │ │ │ │ ├── int_types.h │ │ │ │ │ ├── int_util.c │ │ │ │ │ ├── int_util.h │ │ │ │ │ ├── lshrdi3.c │ │ │ │ │ ├── lshrti3.c │ │ │ │ │ ├── macho_embedded/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── arm.txt │ │ │ │ │ │ ├── common.txt │ │ │ │ │ │ ├── i386.txt │ │ │ │ │ │ ├── thumb2-64.txt │ │ │ │ │ │ └── thumb2.txt │ │ │ │ │ ├── moddi3.c │ │ │ │ │ ├── modsi3.c │ │ │ │ │ ├── modti3.c │ │ │ │ │ ├── muldc3.c │ │ │ │ │ ├── muldf3.c │ │ │ │ │ ├── muldi3.c │ │ │ │ │ ├── mulodi4.c │ │ │ │ │ ├── mulosi4.c │ │ │ │ │ ├── muloti4.c │ │ │ │ │ ├── mulsc3.c │ │ │ │ │ ├── mulsf3.c │ │ │ │ │ ├── multc3.c │ │ │ │ │ ├── multf3.c │ │ │ │ │ ├── multi3.c │ │ │ │ │ ├── mulvdi3.c │ │ │ │ │ ├── mulvsi3.c │ │ │ │ │ ├── mulvti3.c │ │ │ │ │ ├── mulxc3.c │ │ │ │ │ ├── negdf2.c │ │ │ │ │ ├── negdi2.c │ │ │ │ │ ├── negsf2.c │ │ │ │ │ ├── negti2.c │ │ │ │ │ ├── negvdi2.c │ │ │ │ │ ├── negvsi2.c │ │ │ │ │ ├── negvti2.c │ │ │ │ │ ├── paritydi2.c │ │ │ │ │ ├── paritysi2.c │ │ │ │ │ ├── parityti2.c │ │ │ │ │ ├── popcountdi2.c │ │ │ │ │ ├── popcountsi2.c │ │ │ │ │ ├── popcountti2.c │ │ │ │ │ ├── powidf2.c │ │ │ │ │ ├── powisf2.c │ │ │ │ │ ├── powitf2.c │ │ │ │ │ ├── powixf2.c │ │ │ │ │ ├── ppc/ │ │ │ │ │ │ ├── DD.h │ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ │ ├── divtc3.c │ │ │ │ │ │ ├── fixtfdi.c │ │ │ │ │ │ ├── fixunstfdi.c │ │ │ │ │ │ ├── floatditf.c │ │ │ │ │ │ ├── floatunditf.c │ │ │ │ │ │ ├── gcc_qadd.c │ │ │ │ │ │ ├── gcc_qdiv.c │ │ │ │ │ │ ├── gcc_qmul.c │ │ │ │ │ │ ├── gcc_qsub.c │ │ │ │ │ │ ├── multc3.c │ │ │ │ │ │ ├── restFP.S │ │ │ │ │ │ └── saveFP.S │ │ │ │ │ ├── subdf3.c │ │ │ │ │ ├── subsf3.c │ │ │ │ │ ├── subtf3.c │ │ │ │ │ ├── subvdi3.c │ │ │ │ │ ├── subvsi3.c │ │ │ │ │ ├── subvti3.c │ │ │ │ │ ├── trampoline_setup.c │ │ │ │ │ ├── truncdfhf2.c │ │ │ │ │ ├── truncdfsf2.c │ │ │ │ │ ├── truncsfhf2.c │ │ │ │ │ ├── trunctfdf2.c │ │ │ │ │ ├── trunctfsf2.c │ │ │ │ │ ├── ucmpdi2.c │ │ │ │ │ ├── ucmpti2.c │ │ │ │ │ ├── udivdi3.c │ │ │ │ │ ├── udivmoddi4.c │ │ │ │ │ ├── udivmodsi4.c │ │ │ │ │ ├── udivmodti4.c │ │ │ │ │ ├── udivsi3.c │ │ │ │ │ ├── udivti3.c │ │ │ │ │ ├── umoddi3.c │ │ │ │ │ ├── umodsi3.c │ │ │ │ │ ├── umodti3.c │ │ │ │ │ └── x86_64/ │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── chkstk.S │ │ │ │ │ ├── chkstk2.S │ │ │ │ │ ├── floatdidf.c │ │ │ │ │ ├── floatdisf.c │ │ │ │ │ ├── floatdixf.c │ │ │ │ │ ├── floatundidf.S │ │ │ │ │ ├── floatundisf.S │ │ │ │ │ └── floatundixf.S │ │ │ │ ├── cfi/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── cfi.cc │ │ │ │ │ └── cfi_blacklist.txt │ │ │ │ ├── dfsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── dfsan.cc │ │ │ │ │ ├── dfsan.h │ │ │ │ │ ├── dfsan.syms.extra │ │ │ │ │ ├── dfsan_custom.cc │ │ │ │ │ ├── dfsan_flags.inc │ │ │ │ │ ├── dfsan_interceptors.cc │ │ │ │ │ ├── dfsan_platform.h │ │ │ │ │ ├── done_abilist.txt │ │ │ │ │ ├── libc_ubuntu1404_abilist.txt │ │ │ │ │ └── scripts/ │ │ │ │ │ ├── build-libc-list.py │ │ │ │ │ └── check_custom_wrappers.sh │ │ │ │ ├── interception/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── interception.h │ │ │ │ │ ├── interception_linux.cc │ │ │ │ │ ├── interception_linux.h │ │ │ │ │ ├── interception_mac.cc │ │ │ │ │ ├── interception_mac.h │ │ │ │ │ ├── interception_type_test.cc │ │ │ │ │ ├── interception_win.cc │ │ │ │ │ └── interception_win.h │ │ │ │ ├── lsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── lsan.cc │ │ │ │ │ ├── lsan.h │ │ │ │ │ ├── lsan_allocator.cc │ │ │ │ │ ├── lsan_allocator.h │ │ │ │ │ ├── lsan_common.cc │ │ │ │ │ ├── lsan_common.h │ │ │ │ │ ├── lsan_common_linux.cc │ │ │ │ │ ├── lsan_flags.inc │ │ │ │ │ ├── lsan_interceptors.cc │ │ │ │ │ ├── lsan_preinit.cc │ │ │ │ │ ├── lsan_thread.cc │ │ │ │ │ └── lsan_thread.h │ │ │ │ ├── msan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── msan.cc │ │ │ │ │ ├── msan.h │ │ │ │ │ ├── msan.syms.extra │ │ │ │ │ ├── msan_allocator.cc │ │ │ │ │ ├── msan_allocator.h │ │ │ │ │ ├── msan_blacklist.txt │ │ │ │ │ ├── msan_chained_origin_depot.cc │ │ │ │ │ ├── msan_chained_origin_depot.h │ │ │ │ │ ├── msan_flags.h │ │ │ │ │ ├── msan_flags.inc │ │ │ │ │ ├── msan_interceptors.cc │ │ │ │ │ ├── msan_interface_internal.h │ │ │ │ │ ├── msan_linux.cc │ │ │ │ │ ├── msan_new_delete.cc │ │ │ │ │ ├── msan_origin.h │ │ │ │ │ ├── msan_poisoning.cc │ │ │ │ │ ├── msan_poisoning.h │ │ │ │ │ ├── msan_report.cc │ │ │ │ │ ├── msan_thread.cc │ │ │ │ │ ├── msan_thread.h │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── msan_loadable.cc │ │ │ │ │ ├── msan_test.cc │ │ │ │ │ ├── msan_test_config.h │ │ │ │ │ └── msan_test_main.cc │ │ │ │ ├── profile/ │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── GCDAProfiling.c │ │ │ │ │ ├── InstrProfData.inc │ │ │ │ │ ├── InstrProfiling.c │ │ │ │ │ ├── InstrProfiling.h │ │ │ │ │ ├── InstrProfilingBuffer.c │ │ │ │ │ ├── InstrProfilingFile.c │ │ │ │ │ ├── InstrProfilingInternal.h │ │ │ │ │ ├── InstrProfilingPlatformDarwin.c │ │ │ │ │ ├── InstrProfilingPlatformLinux.c │ │ │ │ │ ├── InstrProfilingPlatformOther.c │ │ │ │ │ ├── InstrProfilingPort.h │ │ │ │ │ ├── InstrProfilingRuntime.cc │ │ │ │ │ ├── InstrProfilingUtil.c │ │ │ │ │ ├── InstrProfilingUtil.h │ │ │ │ │ ├── InstrProfilingValue.c │ │ │ │ │ ├── InstrProfilingWriter.c │ │ │ │ │ └── Makefile.mk │ │ │ │ ├── safestack/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── safestack.cc │ │ │ │ ├── sanitizer_common/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── Makefile.mk │ │ │ │ │ ├── sanitizer_addrhashmap.h │ │ │ │ │ ├── sanitizer_allocator.cc │ │ │ │ │ ├── sanitizer_allocator.h │ │ │ │ │ ├── sanitizer_allocator_interface.h │ │ │ │ │ ├── sanitizer_allocator_internal.h │ │ │ │ │ ├── sanitizer_asm.h │ │ │ │ │ ├── sanitizer_atomic.h │ │ │ │ │ ├── sanitizer_atomic_clang.h │ │ │ │ │ ├── sanitizer_atomic_clang_other.h │ │ │ │ │ ├── sanitizer_atomic_clang_x86.h │ │ │ │ │ ├── sanitizer_atomic_msvc.h │ │ │ │ │ ├── sanitizer_bitvector.h │ │ │ │ │ ├── sanitizer_bvgraph.h │ │ │ │ │ ├── sanitizer_common.cc │ │ │ │ │ ├── sanitizer_common.h │ │ │ │ │ ├── sanitizer_common_interceptors.inc │ │ │ │ │ ├── sanitizer_common_interceptors_format.inc │ │ │ │ │ ├── sanitizer_common_interceptors_ioctl.inc │ │ │ │ │ ├── sanitizer_common_libcdep.cc │ │ │ │ │ ├── sanitizer_common_nolibc.cc │ │ │ │ │ ├── sanitizer_common_syscalls.inc │ │ │ │ │ ├── sanitizer_coverage_libcdep.cc │ │ │ │ │ ├── sanitizer_coverage_mapping_libcdep.cc │ │ │ │ │ ├── sanitizer_deadlock_detector.h │ │ │ │ │ ├── sanitizer_deadlock_detector1.cc │ │ │ │ │ ├── sanitizer_deadlock_detector2.cc │ │ │ │ │ ├── sanitizer_deadlock_detector_interface.h │ │ │ │ │ ├── sanitizer_flag_parser.cc │ │ │ │ │ ├── sanitizer_flag_parser.h │ │ │ │ │ ├── sanitizer_flags.cc │ │ │ │ │ ├── sanitizer_flags.h │ │ │ │ │ ├── sanitizer_flags.inc │ │ │ │ │ ├── sanitizer_freebsd.h │ │ │ │ │ ├── sanitizer_interface_internal.h │ │ │ │ │ ├── sanitizer_internal_defs.h │ │ │ │ │ ├── sanitizer_lfstack.h │ │ │ │ │ ├── sanitizer_libc.cc │ │ │ │ │ ├── sanitizer_libc.h │ │ │ │ │ ├── sanitizer_libignore.cc │ │ │ │ │ ├── sanitizer_libignore.h │ │ │ │ │ ├── sanitizer_linux.cc │ │ │ │ │ ├── sanitizer_linux.h │ │ │ │ │ ├── sanitizer_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_list.h │ │ │ │ │ ├── sanitizer_mac.cc │ │ │ │ │ ├── sanitizer_mac.h │ │ │ │ │ ├── sanitizer_malloc_mac.inc │ │ │ │ │ ├── sanitizer_mutex.h │ │ │ │ │ ├── sanitizer_persistent_allocator.cc │ │ │ │ │ ├── sanitizer_persistent_allocator.h │ │ │ │ │ ├── sanitizer_placement_new.h │ │ │ │ │ ├── sanitizer_platform.h │ │ │ │ │ ├── sanitizer_platform_interceptors.h │ │ │ │ │ ├── sanitizer_platform_limits_linux.cc │ │ │ │ │ ├── sanitizer_platform_limits_posix.cc │ │ │ │ │ ├── sanitizer_platform_limits_posix.h │ │ │ │ │ ├── sanitizer_posix.cc │ │ │ │ │ ├── sanitizer_posix.h │ │ │ │ │ ├── sanitizer_posix_libcdep.cc │ │ │ │ │ ├── sanitizer_printf.cc │ │ │ │ │ ├── sanitizer_procmaps.h │ │ │ │ │ ├── sanitizer_procmaps_common.cc │ │ │ │ │ ├── sanitizer_procmaps_freebsd.cc │ │ │ │ │ ├── sanitizer_procmaps_linux.cc │ │ │ │ │ ├── sanitizer_procmaps_mac.cc │ │ │ │ │ ├── sanitizer_quarantine.h │ │ │ │ │ ├── sanitizer_report_decorator.h │ │ │ │ │ ├── sanitizer_stackdepot.cc │ │ │ │ │ ├── sanitizer_stackdepot.h │ │ │ │ │ ├── sanitizer_stackdepotbase.h │ │ │ │ │ ├── sanitizer_stacktrace.cc │ │ │ │ │ ├── sanitizer_stacktrace.h │ │ │ │ │ ├── sanitizer_stacktrace_libcdep.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer.h │ │ │ │ │ ├── sanitizer_stoptheworld.h │ │ │ │ │ ├── sanitizer_stoptheworld_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_suppressions.cc │ │ │ │ │ ├── sanitizer_suppressions.h │ │ │ │ │ ├── sanitizer_symbolizer.cc │ │ │ │ │ ├── sanitizer_symbolizer.h │ │ │ │ │ ├── sanitizer_symbolizer_internal.h │ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.cc │ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.h │ │ │ │ │ ├── sanitizer_symbolizer_libcdep.cc │ │ │ │ │ ├── sanitizer_symbolizer_mac.cc │ │ │ │ │ ├── sanitizer_symbolizer_mac.h │ │ │ │ │ ├── sanitizer_symbolizer_posix_libcdep.cc │ │ │ │ │ ├── sanitizer_symbolizer_win.cc │ │ │ │ │ ├── sanitizer_syscall_generic.inc │ │ │ │ │ ├── sanitizer_syscall_linux_aarch64.inc │ │ │ │ │ ├── sanitizer_syscall_linux_x86_64.inc │ │ │ │ │ ├── sanitizer_thread_registry.cc │ │ │ │ │ ├── sanitizer_thread_registry.h │ │ │ │ │ ├── sanitizer_tls_get_addr.cc │ │ │ │ │ ├── sanitizer_tls_get_addr.h │ │ │ │ │ ├── sanitizer_unwind_linux_libcdep.cc │ │ │ │ │ ├── sanitizer_win.cc │ │ │ │ │ ├── scripts/ │ │ │ │ │ │ ├── check_lint.sh │ │ │ │ │ │ ├── cpplint.py │ │ │ │ │ │ ├── gen_dynamic_list.py │ │ │ │ │ │ ├── litlint.py │ │ │ │ │ │ ├── litlint_test.py │ │ │ │ │ │ └── sancov.py │ │ │ │ │ └── tests/ │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── sanitizer_allocator_test.cc │ │ │ │ │ ├── sanitizer_allocator_testlib.cc │ │ │ │ │ ├── sanitizer_atomic_test.cc │ │ │ │ │ ├── sanitizer_bitvector_test.cc │ │ │ │ │ ├── sanitizer_bvgraph_test.cc │ │ │ │ │ ├── sanitizer_common_test.cc │ │ │ │ │ ├── sanitizer_deadlock_detector_test.cc │ │ │ │ │ ├── sanitizer_flags_test.cc │ │ │ │ │ ├── sanitizer_format_interceptor_test.cc │ │ │ │ │ ├── sanitizer_ioctl_test.cc │ │ │ │ │ ├── sanitizer_libc_test.cc │ │ │ │ │ ├── sanitizer_linux_test.cc │ │ │ │ │ ├── sanitizer_list_test.cc │ │ │ │ │ ├── sanitizer_mutex_test.cc │ │ │ │ │ ├── sanitizer_nolibc_test.cc │ │ │ │ │ ├── sanitizer_nolibc_test_main.cc │ │ │ │ │ ├── sanitizer_posix_test.cc │ │ │ │ │ ├── sanitizer_printf_test.cc │ │ │ │ │ ├── sanitizer_procmaps_test.cc │ │ │ │ │ ├── sanitizer_pthread_wrappers.h │ │ │ │ │ ├── sanitizer_stackdepot_test.cc │ │ │ │ │ ├── sanitizer_stacktrace_printer_test.cc │ │ │ │ │ ├── sanitizer_stacktrace_test.cc │ │ │ │ │ ├── sanitizer_stoptheworld_test.cc │ │ │ │ │ ├── sanitizer_stoptheworld_testlib.cc │ │ │ │ │ ├── sanitizer_suppressions_test.cc │ │ │ │ │ ├── sanitizer_symbolizer_test.cc │ │ │ │ │ ├── sanitizer_test_config.h │ │ │ │ │ ├── sanitizer_test_main.cc │ │ │ │ │ ├── sanitizer_test_utils.h │ │ │ │ │ ├── sanitizer_thread_registry_test.cc │ │ │ │ │ └── standalone_malloc_test.cc │ │ │ │ ├── tsan/ │ │ │ │ │ ├── .clang-format │ │ │ │ │ ├── Android.mk │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── analyze_libtsan.sh │ │ │ │ │ ├── benchmarks/ │ │ │ │ │ │ ├── mini_bench_local.cc │ │ │ │ │ │ ├── mini_bench_shared.cc │ │ │ │ │ │ ├── start_many_threads.cc │ │ │ │ │ │ └── vts_many_threads_bench.cc │ │ │ │ │ ├── check_analyze.sh │ │ │ │ │ ├── check_cmake.sh │ │ │ │ │ ├── dd/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── dd_interceptors.cc │ │ │ │ │ │ ├── dd_rtl.cc │ │ │ │ │ │ └── dd_rtl.h │ │ │ │ │ ├── go/ │ │ │ │ │ │ ├── build.bat │ │ │ │ │ │ ├── buildgo.sh │ │ │ │ │ │ ├── test.c │ │ │ │ │ │ └── tsan_go.cc │ │ │ │ │ ├── rtl/ │ │ │ │ │ │ ├── tsan.syms.extra │ │ │ │ │ │ ├── tsan_clock.cc │ │ │ │ │ │ ├── tsan_clock.h │ │ │ │ │ │ ├── tsan_defs.h │ │ │ │ │ │ ├── tsan_dense_alloc.h │ │ │ │ │ │ ├── tsan_fd.cc │ │ │ │ │ │ ├── tsan_fd.h │ │ │ │ │ │ ├── tsan_flags.cc │ │ │ │ │ │ ├── tsan_flags.h │ │ │ │ │ │ ├── tsan_flags.inc │ │ │ │ │ │ ├── tsan_ignoreset.cc │ │ │ │ │ │ ├── tsan_ignoreset.h │ │ │ │ │ │ ├── tsan_interceptors.cc │ │ │ │ │ │ ├── tsan_interceptors.h │ │ │ │ │ │ ├── tsan_interceptors_mac.cc │ │ │ │ │ │ ├── tsan_interface.cc │ │ │ │ │ │ ├── tsan_interface.h │ │ │ │ │ │ ├── tsan_interface_ann.cc │ │ │ │ │ │ ├── tsan_interface_ann.h │ │ │ │ │ │ ├── tsan_interface_atomic.cc │ │ │ │ │ │ ├── tsan_interface_inl.h │ │ │ │ │ │ ├── tsan_interface_java.cc │ │ │ │ │ │ ├── tsan_interface_java.h │ │ │ │ │ │ ├── tsan_libdispatch_mac.cc │ │ │ │ │ │ ├── tsan_malloc_mac.cc │ │ │ │ │ │ ├── tsan_md5.cc │ │ │ │ │ │ ├── tsan_mman.cc │ │ │ │ │ │ ├── tsan_mman.h │ │ │ │ │ │ ├── tsan_mutex.cc │ │ │ │ │ │ ├── tsan_mutex.h │ │ │ │ │ │ ├── tsan_mutexset.cc │ │ │ │ │ │ ├── tsan_mutexset.h │ │ │ │ │ │ ├── tsan_new_delete.cc │ │ │ │ │ │ ├── tsan_platform.h │ │ │ │ │ │ ├── tsan_platform_linux.cc │ │ │ │ │ │ ├── tsan_platform_mac.cc │ │ │ │ │ │ ├── tsan_platform_posix.cc │ │ │ │ │ │ ├── tsan_platform_windows.cc │ │ │ │ │ │ ├── tsan_ppc_regs.h │ │ │ │ │ │ ├── tsan_report.cc │ │ │ │ │ │ ├── tsan_report.h │ │ │ │ │ │ ├── tsan_rtl.cc │ │ │ │ │ │ ├── tsan_rtl.h │ │ │ │ │ │ ├── tsan_rtl_aarch64.S │ │ │ │ │ │ ├── tsan_rtl_amd64.S │ │ │ │ │ │ ├── tsan_rtl_mutex.cc │ │ │ │ │ │ ├── tsan_rtl_ppc64.S │ │ │ │ │ │ ├── tsan_rtl_report.cc │ │ │ │ │ │ ├── tsan_rtl_thread.cc │ │ │ │ │ │ ├── tsan_stack_trace.cc │ │ │ │ │ │ ├── tsan_stack_trace.h │ │ │ │ │ │ ├── tsan_stat.cc │ │ │ │ │ │ ├── tsan_stat.h │ │ │ │ │ │ ├── tsan_suppressions.cc │ │ │ │ │ │ ├── tsan_suppressions.h │ │ │ │ │ │ ├── tsan_symbolize.cc │ │ │ │ │ │ ├── tsan_symbolize.h │ │ │ │ │ │ ├── tsan_sync.cc │ │ │ │ │ │ ├── tsan_sync.h │ │ │ │ │ │ ├── tsan_trace.h │ │ │ │ │ │ ├── tsan_update_shadow_word_inl.h │ │ │ │ │ │ └── tsan_vector.h │ │ │ │ │ └── tests/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── rtl/ │ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ │ ├── tsan_bench.cc │ │ │ │ │ │ ├── tsan_mop.cc │ │ │ │ │ │ ├── tsan_mutex.cc │ │ │ │ │ │ ├── tsan_posix.cc │ │ │ │ │ │ ├── tsan_string.cc │ │ │ │ │ │ ├── tsan_test.cc │ │ │ │ │ │ ├── tsan_test_util.h │ │ │ │ │ │ ├── tsan_test_util_linux.cc │ │ │ │ │ │ └── tsan_thread.cc │ │ │ │ │ └── unit/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── tsan_clock_test.cc │ │ │ │ │ ├── tsan_dense_alloc_test.cc │ │ │ │ │ ├── tsan_flags_test.cc │ │ │ │ │ ├── tsan_mman_test.cc │ │ │ │ │ ├── tsan_mutex_test.cc │ │ │ │ │ ├── tsan_mutexset_test.cc │ │ │ │ │ ├── tsan_shadow_test.cc │ │ │ │ │ ├── tsan_stack_test.cc │ │ │ │ │ ├── tsan_sync_test.cc │ │ │ │ │ ├── tsan_unit_test_main.cc │ │ │ │ │ └── tsan_vector_test.cc │ │ │ │ └── ubsan/ │ │ │ │ ├── Android.mk │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile.mk │ │ │ │ ├── ubsan.syms.extra │ │ │ │ ├── ubsan_checks.inc │ │ │ │ ├── ubsan_diag.cc │ │ │ │ ├── ubsan_diag.h │ │ │ │ ├── ubsan_flags.cc │ │ │ │ ├── ubsan_flags.h │ │ │ │ ├── ubsan_flags.inc │ │ │ │ ├── ubsan_handlers.cc │ │ │ │ ├── ubsan_handlers.h │ │ │ │ ├── ubsan_handlers_cxx.cc │ │ │ │ ├── ubsan_handlers_cxx.h │ │ │ │ ├── ubsan_init.cc │ │ │ │ ├── ubsan_init.h │ │ │ │ ├── ubsan_init_standalone.cc │ │ │ │ ├── ubsan_platform.h │ │ │ │ ├── ubsan_type_hash.cc │ │ │ │ ├── ubsan_type_hash.h │ │ │ │ ├── ubsan_type_hash_itanium.cc │ │ │ │ ├── ubsan_type_hash_win.cc │ │ │ │ ├── ubsan_value.cc │ │ │ │ └── ubsan_value.h │ │ │ └── make/ │ │ │ ├── AppleBI.mk │ │ │ ├── config.mk │ │ │ ├── filter-inputs │ │ │ ├── lib_info.mk │ │ │ ├── lib_platforms.mk │ │ │ ├── lib_util.mk │ │ │ ├── options.mk │ │ │ ├── platform/ │ │ │ │ ├── clang_darwin.mk │ │ │ │ ├── clang_darwin_test_input.c │ │ │ │ ├── clang_linux.mk │ │ │ │ ├── clang_linux_test_input.c │ │ │ │ ├── clang_macho_embedded.mk │ │ │ │ ├── clang_macho_embedded_test_input.c │ │ │ │ ├── clang_mingw.mk │ │ │ │ ├── darwin_bni.mk │ │ │ │ └── multi_arch.mk │ │ │ ├── subdir.mk │ │ │ ├── test/ │ │ │ │ └── test-util.mk │ │ │ └── util.mk │ │ ├── expat/ │ │ │ ├── Android.mk │ │ │ ├── Changes │ │ │ ├── CleanSpec.mk │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── README │ │ │ ├── README.android │ │ │ ├── README.version │ │ │ ├── expat_config.h │ │ │ ├── import_expat.sh │ │ │ └── lib/ │ │ │ ├── ascii.h │ │ │ ├── asciitab.h │ │ │ ├── expat.h │ │ │ ├── expat_external.h │ │ │ ├── iasciitab.h │ │ │ ├── internal.h │ │ │ ├── latin1tab.h │ │ │ ├── nametab.h │ │ │ ├── utf8tab.h │ │ │ ├── xmlparse.c │ │ │ ├── xmlrole.c │ │ │ ├── xmlrole.h │ │ │ ├── xmltok.c │ │ │ ├── xmltok.h │ │ │ ├── xmltok_impl.c │ │ │ ├── xmltok_impl.h │ │ │ └── xmltok_ns.c │ │ ├── libcxx/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── Makefile │ │ │ ├── NOTICE │ │ │ ├── TODO.TXT │ │ │ ├── buildcmds/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Android.mk │ │ │ │ ├── buildcmdscc │ │ │ │ └── dummy.cpp │ │ │ ├── cmake/ │ │ │ │ ├── Modules/ │ │ │ │ │ ├── CodeCoverage.cmake │ │ │ │ │ ├── HandleLibCXXABI.cmake │ │ │ │ │ ├── HandleLibcxxFlags.cmake │ │ │ │ │ ├── HandleOutOfTreeLLVM.cmake │ │ │ │ │ └── MacroEnsureOutOfSourceBuild.cmake │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── __bit_reference │ │ │ │ ├── __config │ │ │ │ ├── __debug │ │ │ │ ├── __functional_03 │ │ │ │ ├── __functional_base │ │ │ │ ├── __functional_base_03 │ │ │ │ ├── __hash_table │ │ │ │ ├── __locale │ │ │ │ ├── __mutex_base │ │ │ │ ├── __refstring │ │ │ │ ├── __split_buffer │ │ │ │ ├── __sso_allocator │ │ │ │ ├── __std_stream │ │ │ │ ├── __tree │ │ │ │ ├── __tuple │ │ │ │ ├── __undef___deallocate │ │ │ │ ├── __undef_min_max │ │ │ │ ├── algorithm │ │ │ │ ├── array │ │ │ │ ├── atomic │ │ │ │ ├── bitset │ │ │ │ ├── cassert │ │ │ │ ├── ccomplex │ │ │ │ ├── cctype │ │ │ │ ├── cerrno │ │ │ │ ├── cfenv │ │ │ │ ├── cfloat │ │ │ │ ├── chrono │ │ │ │ ├── cinttypes │ │ │ │ ├── ciso646 │ │ │ │ ├── climits │ │ │ │ ├── clocale │ │ │ │ ├── cmath │ │ │ │ ├── codecvt │ │ │ │ ├── complex │ │ │ │ ├── complex.h │ │ │ │ ├── condition_variable │ │ │ │ ├── csetjmp │ │ │ │ ├── csignal │ │ │ │ ├── cstdarg │ │ │ │ ├── cstdbool │ │ │ │ ├── cstddef │ │ │ │ ├── cstdint │ │ │ │ ├── cstdio │ │ │ │ ├── cstdlib │ │ │ │ ├── cstring │ │ │ │ ├── ctgmath │ │ │ │ ├── ctime │ │ │ │ ├── cwchar │ │ │ │ ├── cwctype │ │ │ │ ├── deque │ │ │ │ ├── exception │ │ │ │ ├── experimental/ │ │ │ │ │ ├── __config │ │ │ │ │ ├── algorithm │ │ │ │ │ ├── any │ │ │ │ │ ├── chrono │ │ │ │ │ ├── dynarray │ │ │ │ │ ├── functional │ │ │ │ │ ├── optional │ │ │ │ │ ├── ratio │ │ │ │ │ ├── string_view │ │ │ │ │ ├── system_error │ │ │ │ │ ├── tuple │ │ │ │ │ ├── type_traits │ │ │ │ │ └── utility │ │ │ │ ├── ext/ │ │ │ │ │ ├── __hash │ │ │ │ │ ├── hash_map │ │ │ │ │ └── hash_set │ │ │ │ ├── forward_list │ │ │ │ ├── fstream │ │ │ │ ├── functional │ │ │ │ ├── future │ │ │ │ ├── initializer_list │ │ │ │ ├── iomanip │ │ │ │ ├── ios │ │ │ │ ├── iosfwd │ │ │ │ ├── iostream │ │ │ │ ├── istream │ │ │ │ ├── iterator │ │ │ │ ├── limits │ │ │ │ ├── list │ │ │ │ ├── locale │ │ │ │ ├── map │ │ │ │ ├── memory │ │ │ │ ├── module.modulemap │ │ │ │ ├── mutex │ │ │ │ ├── new │ │ │ │ ├── numeric │ │ │ │ ├── ostream │ │ │ │ ├── queue │ │ │ │ ├── random │ │ │ │ ├── ratio │ │ │ │ ├── regex │ │ │ │ ├── scoped_allocator │ │ │ │ ├── set │ │ │ │ ├── shared_mutex │ │ │ │ ├── sstream │ │ │ │ ├── stack │ │ │ │ ├── stdexcept │ │ │ │ ├── streambuf │ │ │ │ ├── string │ │ │ │ ├── strstream │ │ │ │ ├── support/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── locale_bionic.h │ │ │ │ │ ├── ibm/ │ │ │ │ │ │ ├── limits.h │ │ │ │ │ │ ├── support.h │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── newlib/ │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── solaris/ │ │ │ │ │ │ ├── floatingpoint.h │ │ │ │ │ │ ├── wchar.h │ │ │ │ │ │ └── xlocale.h │ │ │ │ │ ├── win32/ │ │ │ │ │ │ ├── limits_win32.h │ │ │ │ │ │ ├── locale_win32.h │ │ │ │ │ │ ├── math_win32.h │ │ │ │ │ │ └── support.h │ │ │ │ │ └── xlocale/ │ │ │ │ │ └── xlocale.h │ │ │ │ ├── system_error │ │ │ │ ├── tgmath.h │ │ │ │ ├── thread │ │ │ │ ├── tuple │ │ │ │ ├── type_traits │ │ │ │ ├── typeindex │ │ │ │ ├── typeinfo │ │ │ │ ├── unordered_map │ │ │ │ ├── unordered_set │ │ │ │ ├── utility │ │ │ │ ├── valarray │ │ │ │ └── vector │ │ │ ├── lib/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── buildit │ │ │ │ ├── libc++abi.exp │ │ │ │ ├── libc++abi2.exp │ │ │ │ ├── libc++sjlj-abi.exp │ │ │ │ ├── libc++unexp.exp │ │ │ │ ├── notweak.exp │ │ │ │ └── weak.exp │ │ │ ├── lit.site.cfg │ │ │ ├── ndk-test.sh │ │ │ ├── run-tests.py │ │ │ ├── src/ │ │ │ │ ├── algorithm.cpp │ │ │ │ ├── any.cpp │ │ │ │ ├── bind.cpp │ │ │ │ ├── chrono.cpp │ │ │ │ ├── condition_variable.cpp │ │ │ │ ├── config_elast.h │ │ │ │ ├── debug.cpp │ │ │ │ ├── exception.cpp │ │ │ │ ├── future.cpp │ │ │ │ ├── hash.cpp │ │ │ │ ├── ios.cpp │ │ │ │ ├── iostream.cpp │ │ │ │ ├── locale.cpp │ │ │ │ ├── memory.cpp │ │ │ │ ├── mutex.cpp │ │ │ │ ├── new.cpp │ │ │ │ ├── optional.cpp │ │ │ │ ├── random.cpp │ │ │ │ ├── regex.cpp │ │ │ │ ├── shared_mutex.cpp │ │ │ │ ├── stdexcept.cpp │ │ │ │ ├── string.cpp │ │ │ │ ├── strstream.cpp │ │ │ │ ├── support/ │ │ │ │ │ ├── atomic_support.h │ │ │ │ │ ├── solaris/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── mbsnrtowcs.inc │ │ │ │ │ │ ├── wcsnrtombs.inc │ │ │ │ │ │ └── xlocale.c │ │ │ │ │ └── win32/ │ │ │ │ │ ├── locale_win32.cpp │ │ │ │ │ └── support.cpp │ │ │ │ ├── system_error.cpp │ │ │ │ ├── thread.cpp │ │ │ │ ├── typeinfo.cpp │ │ │ │ ├── utility.cpp │ │ │ │ └── valarray.cpp │ │ │ ├── test.mk │ │ │ └── utils/ │ │ │ ├── not/ │ │ │ │ └── not.py │ │ │ └── sym_check/ │ │ │ ├── linux_blacklist.txt │ │ │ ├── osx_blacklist.txt │ │ │ ├── sym_check/ │ │ │ │ ├── __init__.py │ │ │ │ ├── diff.py │ │ │ │ ├── extract.py │ │ │ │ ├── match.py │ │ │ │ └── util.py │ │ │ ├── sym_diff.py │ │ │ ├── sym_extract.py │ │ │ └── sym_match.py │ │ ├── libcxxabi/ │ │ │ ├── .arcconfig │ │ │ ├── .gitignore │ │ │ ├── Android.bp │ │ │ ├── Android.mk │ │ │ ├── CMakeLists.txt │ │ │ ├── CREDITS.TXT │ │ │ ├── LICENSE.TXT │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── cmake/ │ │ │ │ └── config-ix.cmake │ │ │ ├── include/ │ │ │ │ ├── __cxxabi_config.h │ │ │ │ └── cxxabi.h │ │ │ ├── lib/ │ │ │ │ └── buildit │ │ │ └── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── abort_message.cpp │ │ │ ├── abort_message.h │ │ │ ├── config.h │ │ │ ├── cxa_aux_runtime.cpp │ │ │ ├── cxa_default_handlers.cpp │ │ │ ├── cxa_demangle.cpp │ │ │ ├── cxa_exception.cpp │ │ │ ├── cxa_exception.hpp │ │ │ ├── cxa_exception_storage.cpp │ │ │ ├── cxa_guard.cpp │ │ │ ├── cxa_handlers.cpp │ │ │ ├── cxa_handlers.hpp │ │ │ ├── cxa_new_delete.cpp │ │ │ ├── cxa_personality.cpp │ │ │ ├── cxa_thread_atexit.cpp │ │ │ ├── cxa_unexpected.cpp │ │ │ ├── cxa_vector.cpp │ │ │ ├── cxa_virtual.cpp │ │ │ ├── exception.cpp │ │ │ ├── fallback_malloc.ipp │ │ │ ├── private_typeinfo.cpp │ │ │ ├── private_typeinfo.h │ │ │ ├── stdexcept.cpp │ │ │ └── typeinfo.cpp │ │ ├── libpng/ │ │ │ ├── ANNOUNCE │ │ │ ├── Android.mk │ │ │ ├── CHANGES │ │ │ ├── CMakeLists.txt │ │ │ ├── CleanSpec.mk │ │ │ ├── INSTALL │ │ │ ├── LICENSE │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── Makefile.am │ │ │ ├── README │ │ │ ├── README.android │ │ │ ├── README.version │ │ │ ├── TODO │ │ │ ├── arm/ │ │ │ │ ├── arm_init.c │ │ │ │ ├── filter_neon.S │ │ │ │ └── filter_neon_intrinsics.c │ │ │ ├── autogen.sh │ │ │ ├── configure.ac │ │ │ ├── contrib/ │ │ │ │ ├── README.txt │ │ │ │ ├── arm-neon/ │ │ │ │ │ ├── README │ │ │ │ │ ├── android-ndk.c │ │ │ │ │ ├── linux-auxv.c │ │ │ │ │ └── linux.c │ │ │ │ ├── conftest/ │ │ │ │ │ ├── README │ │ │ │ │ ├── read.dfa │ │ │ │ │ ├── s_read.dfa │ │ │ │ │ ├── s_write.dfa │ │ │ │ │ ├── simple.dfa │ │ │ │ │ └── write.dfa │ │ │ │ ├── examples/ │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── iccfrompng.c │ │ │ │ │ ├── pngpixel.c │ │ │ │ │ └── pngtopng.c │ │ │ │ ├── gregbook/ │ │ │ │ │ ├── COPYING │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── Makefile.mingw32 │ │ │ │ │ ├── Makefile.sgi │ │ │ │ │ ├── Makefile.unx │ │ │ │ │ ├── Makefile.w32 │ │ │ │ │ ├── README │ │ │ │ │ ├── makevms.com │ │ │ │ │ ├── readpng.c │ │ │ │ │ ├── readpng.h │ │ │ │ │ ├── readpng2.c │ │ │ │ │ ├── readpng2.h │ │ │ │ │ ├── readppm.c │ │ │ │ │ ├── rpng-win.c │ │ │ │ │ ├── rpng-x.c │ │ │ │ │ ├── rpng2-win.c │ │ │ │ │ ├── rpng2-x.c │ │ │ │ │ ├── wpng.c │ │ │ │ │ ├── writepng.c │ │ │ │ │ └── writepng.h │ │ │ │ ├── intel/ │ │ │ │ │ ├── INSTALL │ │ │ │ │ ├── Makefile.am.patch │ │ │ │ │ ├── configure.ac.patch │ │ │ │ │ ├── filter_sse2_intrinsics.c │ │ │ │ │ └── intel_init.c │ │ │ │ ├── libtests/ │ │ │ │ │ ├── fakepng.c │ │ │ │ │ ├── gentests.sh │ │ │ │ │ ├── makepng.c │ │ │ │ │ ├── pngimage.c │ │ │ │ │ ├── pngstest-errors.h │ │ │ │ │ ├── pngstest.c │ │ │ │ │ ├── pngunknown.c │ │ │ │ │ ├── pngvalid.c │ │ │ │ │ ├── readpng.c │ │ │ │ │ ├── tarith.c │ │ │ │ │ └── timepng.c │ │ │ │ ├── pngminim/ │ │ │ │ │ ├── README │ │ │ │ │ ├── decoder/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── makefile │ │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ │ └── pngusr.h │ │ │ │ │ ├── encoder/ │ │ │ │ │ │ ├── README │ │ │ │ │ │ ├── makefile │ │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ │ └── pngusr.h │ │ │ │ │ └── preader/ │ │ │ │ │ ├── README │ │ │ │ │ ├── makefile │ │ │ │ │ ├── pngusr.dfa │ │ │ │ │ └── pngusr.h │ │ │ │ ├── pngminus/ │ │ │ │ │ ├── README │ │ │ │ │ ├── makefile.std │ │ │ │ │ ├── makefile.tc3 │ │ │ │ │ ├── makevms.com │ │ │ │ │ ├── png2pnm.bat │ │ │ │ │ ├── png2pnm.c │ │ │ │ │ ├── png2pnm.sh │ │ │ │ │ ├── pngminus.bat │ │ │ │ │ ├── pngminus.sh │ │ │ │ │ ├── pnm2png.bat │ │ │ │ │ ├── pnm2png.c │ │ │ │ │ └── pnm2png.sh │ │ │ │ ├── pngsuite/ │ │ │ │ │ └── README │ │ │ │ ├── tools/ │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── checksum-icc.c │ │ │ │ │ ├── chkfmt │ │ │ │ │ ├── cvtcolor.c │ │ │ │ │ ├── genpng.c │ │ │ │ │ ├── intgamma.sh │ │ │ │ │ ├── makesRGB.c │ │ │ │ │ ├── png-fix-itxt.c │ │ │ │ │ ├── pngfix.c │ │ │ │ │ └── sRGB.h │ │ │ │ └── visupng/ │ │ │ │ ├── PngFile.c │ │ │ │ ├── PngFile.h │ │ │ │ ├── README.txt │ │ │ │ ├── VisualPng.c │ │ │ │ ├── VisualPng.dsp │ │ │ │ ├── VisualPng.dsw │ │ │ │ ├── VisualPng.rc │ │ │ │ ├── cexcept.h │ │ │ │ └── resource.h │ │ │ ├── example.c │ │ │ ├── libpng-config.in │ │ │ ├── libpng-manual.txt │ │ │ ├── libpng.3 │ │ │ ├── libpng.pc.in │ │ │ ├── libpngpf.3 │ │ │ ├── png.5 │ │ │ ├── png.c │ │ │ ├── png.h │ │ │ ├── pngconf.h │ │ │ ├── pngdebug.h │ │ │ ├── pngerror.c │ │ │ ├── pngget.c │ │ │ ├── pnginfo.h │ │ │ ├── pnglibconf.h │ │ │ ├── pngmem.c │ │ │ ├── pngpread.c │ │ │ ├── pngpriv.h │ │ │ ├── pngread.c │ │ │ ├── pngrio.c │ │ │ ├── pngrtran.c │ │ │ ├── pngrutil.c │ │ │ ├── pngset.c │ │ │ ├── pngstruct.h │ │ │ ├── pngtest.c │ │ │ ├── pngtrans.c │ │ │ ├── pngusr.dfa │ │ │ ├── pngusr.h │ │ │ ├── pngwio.c │ │ │ ├── pngwrite.c │ │ │ ├── pngwtran.c │ │ │ ├── pngwutil.c │ │ │ ├── projects/ │ │ │ │ ├── owatcom/ │ │ │ │ │ ├── libpng.tgt │ │ │ │ │ ├── libpng.wpj │ │ │ │ │ ├── pngconfig.mak │ │ │ │ │ ├── pngstest.tgt │ │ │ │ │ ├── pngtest.tgt │ │ │ │ │ └── pngvalid.tgt │ │ │ │ ├── visualc71/ │ │ │ │ │ ├── PRJ0041.mak │ │ │ │ │ ├── README.txt │ │ │ │ │ ├── README_zlib.txt │ │ │ │ │ ├── libpng.sln │ │ │ │ │ ├── libpng.vcproj │ │ │ │ │ ├── pngtest.vcproj │ │ │ │ │ └── zlib.vcproj │ │ │ │ └── vstudio/ │ │ │ │ ├── README.txt │ │ │ │ ├── libpng/ │ │ │ │ │ └── libpng.vcxproj │ │ │ │ ├── pnglibconf/ │ │ │ │ │ └── pnglibconf.vcxproj │ │ │ │ ├── pngstest/ │ │ │ │ │ └── pngstest.vcxproj │ │ │ │ ├── pngtest/ │ │ │ │ │ └── pngtest.vcxproj │ │ │ │ ├── pngunknown/ │ │ │ │ │ └── pngunknown.vcxproj │ │ │ │ ├── pngvalid/ │ │ │ │ │ └── pngvalid.vcxproj │ │ │ │ ├── vstudio.sln │ │ │ │ ├── zlib/ │ │ │ │ │ └── zlib.vcxproj │ │ │ │ └── zlib.props │ │ │ └── scripts/ │ │ │ ├── README.txt │ │ │ ├── SCOPTIONS.ppc │ │ │ ├── checksym.awk │ │ │ ├── def.c │ │ │ ├── descrip.mms │ │ │ ├── dfn.awk │ │ │ ├── genchk.cmake.in │ │ │ ├── genout.cmake.in │ │ │ ├── gensrc.cmake.in │ │ │ ├── intprefix.c │ │ │ ├── libpng-config-body.in │ │ │ ├── libpng-config-head.in │ │ │ ├── libpng.pc.in │ │ │ ├── macro.lst │ │ │ ├── makefile.32sunu │ │ │ ├── makefile.64sunu │ │ │ ├── makefile.acorn │ │ │ ├── makefile.aix │ │ │ ├── makefile.amiga │ │ │ ├── makefile.atari │ │ │ ├── makefile.bc32 │ │ │ ├── makefile.beos │ │ │ ├── makefile.bor │ │ │ ├── makefile.cegcc │ │ │ ├── makefile.darwin │ │ │ ├── makefile.dec │ │ │ ├── makefile.dj2 │ │ │ ├── makefile.freebsd │ │ │ ├── makefile.gcc │ │ │ ├── makefile.hp64 │ │ │ ├── makefile.hpgcc │ │ │ ├── makefile.hpux │ │ │ ├── makefile.ibmc │ │ │ ├── makefile.intel │ │ │ ├── makefile.knr │ │ │ ├── makefile.linux │ │ │ ├── makefile.mips │ │ │ ├── makefile.msc │ │ │ ├── makefile.msys │ │ │ ├── makefile.ne12bsd │ │ │ ├── makefile.netbsd │ │ │ ├── makefile.openbsd │ │ │ ├── makefile.sco │ │ │ ├── makefile.sggcc │ │ │ ├── makefile.sgi │ │ │ ├── makefile.so9 │ │ │ ├── makefile.solaris │ │ │ ├── makefile.solaris-x86 │ │ │ ├── makefile.std │ │ │ ├── makefile.sunos │ │ │ ├── makefile.tc3 │ │ │ ├── makefile.vcwin32 │ │ │ ├── makevms.com │ │ │ ├── options.awk │ │ │ ├── pnglibconf.dfa │ │ │ ├── pnglibconf.h.prebuilt │ │ │ ├── pnglibconf.mak │ │ │ ├── pngwin.rc │ │ │ ├── prefix.c │ │ │ ├── smakefile.ppc │ │ │ ├── sym.c │ │ │ ├── symbols.c │ │ │ ├── symbols.def │ │ │ ├── test.cmake.in │ │ │ └── vers.c │ │ ├── safe-iop/ │ │ │ ├── Android.mk │ │ │ ├── CleanSpec.mk │ │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ │ ├── NOTICE │ │ │ ├── README.version │ │ │ ├── include/ │ │ │ │ └── safe_iop.h │ │ │ ├── src/ │ │ │ │ └── safe_iop.c │ │ │ └── testsuite/ │ │ │ └── Android.mk │ │ └── zlib/ │ │ ├── Android.mk │ │ ├── CleanSpec.mk │ │ ├── MODULE_LICENSE_BSD_LIKE │ │ ├── NOTICE │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ChangeLog │ │ │ ├── FAQ │ │ │ ├── INDEX │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── adler32.c │ │ │ ├── amiga/ │ │ │ │ ├── Makefile.pup │ │ │ │ └── Makefile.sas │ │ │ ├── as400/ │ │ │ │ ├── bndsrc │ │ │ │ ├── compile.clp │ │ │ │ ├── readme.txt │ │ │ │ └── zlib.inc │ │ │ ├── compress.c │ │ │ ├── configure │ │ │ ├── contrib/ │ │ │ │ ├── README.contrib │ │ │ │ ├── ada/ │ │ │ │ │ ├── buffer_demo.adb │ │ │ │ │ ├── mtest.adb │ │ │ │ │ ├── read.adb │ │ │ │ │ ├── readme.txt │ │ │ │ │ ├── test.adb │ │ │ │ │ ├── zlib-streams.adb │ │ │ │ │ ├── zlib-streams.ads │ │ │ │ │ ├── zlib-thin.adb │ │ │ │ │ ├── zlib-thin.ads │ │ │ │ │ ├── zlib.adb │ │ │ │ │ ├── zlib.ads │ │ │ │ │ └── zlib.gpr │ │ │ │ ├── amd64/ │ │ │ │ │ └── amd64-match.S │ │ │ │ ├── asm686/ │ │ │ │ │ ├── README.686 │ │ │ │ │ └── match.S │ │ │ │ ├── blast/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README │ │ │ │ │ ├── blast.c │ │ │ │ │ ├── blast.h │ │ │ │ │ ├── test.pk │ │ │ │ │ └── test.txt │ │ │ │ ├── delphi/ │ │ │ │ │ ├── ZLib.pas │ │ │ │ │ ├── ZLibConst.pas │ │ │ │ │ ├── readme.txt │ │ │ │ │ └── zlibd32.mak │ │ │ │ ├── dotzlib/ │ │ │ │ │ ├── DotZLib/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── ChecksumImpl.cs │ │ │ │ │ │ ├── CircularBuffer.cs │ │ │ │ │ │ ├── CodecBase.cs │ │ │ │ │ │ ├── Deflater.cs │ │ │ │ │ │ ├── DotZLib.cs │ │ │ │ │ │ ├── DotZLib.csproj │ │ │ │ │ │ ├── GZipStream.cs │ │ │ │ │ │ ├── Inflater.cs │ │ │ │ │ │ └── UnitTests.cs │ │ │ │ │ ├── DotZLib.build │ │ │ │ │ ├── DotZLib.chm │ │ │ │ │ ├── DotZLib.sln │ │ │ │ │ ├── LICENSE_1_0.txt │ │ │ │ │ └── readme.txt │ │ │ │ ├── gcc_gvmat64/ │ │ │ │ │ └── gvmat64.S │ │ │ │ ├── infback9/ │ │ │ │ │ ├── README │ │ │ │ │ ├── infback9.c │ │ │ │ │ ├── infback9.h │ │ │ │ │ ├── inffix9.h │ │ │ │ │ ├── inflate9.h │ │ │ │ │ ├── inftree9.c │ │ │ │ │ └── inftree9.h │ │ │ │ ├── inflate86/ │ │ │ │ │ ├── inffas86.c │ │ │ │ │ └── inffast.S │ │ │ │ ├── iostream/ │ │ │ │ │ ├── test.cpp │ │ │ │ │ ├── zfstream.cpp │ │ │ │ │ └── zfstream.h │ │ │ │ ├── iostream2/ │ │ │ │ │ ├── zstream.h │ │ │ │ │ └── zstream_test.cpp │ │ │ │ ├── iostream3/ │ │ │ │ │ ├── README │ │ │ │ │ ├── TODO │ │ │ │ │ ├── test.cc │ │ │ │ │ ├── zfstream.cc │ │ │ │ │ └── zfstream.h │ │ │ │ ├── masmx64/ │ │ │ │ │ ├── bld_ml64.bat │ │ │ │ │ ├── gvmat64.asm │ │ │ │ │ ├── inffas8664.c │ │ │ │ │ ├── inffasx64.asm │ │ │ │ │ └── readme.txt │ │ │ │ ├── masmx86/ │ │ │ │ │ ├── bld_ml32.bat │ │ │ │ │ ├── inffas32.asm │ │ │ │ │ ├── match686.asm │ │ │ │ │ └── readme.txt │ │ │ │ ├── minizip/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Makefile.am │ │ │ │ │ ├── MiniZip64_Changes.txt │ │ │ │ │ ├── MiniZip64_info.txt │ │ │ │ │ ├── configure.ac │ │ │ │ │ ├── crypt.h │ │ │ │ │ ├── ioapi.c │ │ │ │ │ ├── ioapi.h │ │ │ │ │ ├── iowin32.c │ │ │ │ │ ├── iowin32.h │ │ │ │ │ ├── make_vms.com │ │ │ │ │ ├── miniunz.c │ │ │ │ │ ├── miniunzip.1 │ │ │ │ │ ├── minizip.1 │ │ │ │ │ ├── minizip.c │ │ │ │ │ ├── minizip.pc.in │ │ │ │ │ ├── mztools.c │ │ │ │ │ ├── mztools.h │ │ │ │ │ ├── unzip.c │ │ │ │ │ ├── unzip.h │ │ │ │ │ ├── zip.c │ │ │ │ │ └── zip.h │ │ │ │ ├── pascal/ │ │ │ │ │ ├── example.pas │ │ │ │ │ ├── readme.txt │ │ │ │ │ ├── zlibd32.mak │ │ │ │ │ └── zlibpas.pas │ │ │ │ ├── puff/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── README │ │ │ │ │ ├── puff.c │ │ │ │ │ ├── puff.h │ │ │ │ │ ├── pufftest.c │ │ │ │ │ └── zeros.raw │ │ │ │ ├── testzlib/ │ │ │ │ │ ├── testzlib.c │ │ │ │ │ └── testzlib.txt │ │ │ │ ├── untgz/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── Makefile.msc │ │ │ │ │ └── untgz.c │ │ │ │ └── vstudio/ │ │ │ │ ├── readme.txt │ │ │ │ ├── vc10/ │ │ │ │ │ ├── miniunz.vcxproj │ │ │ │ │ ├── miniunz.vcxproj.filters │ │ │ │ │ ├── minizip.vcxproj │ │ │ │ │ ├── minizip.vcxproj.filters │ │ │ │ │ ├── testzlib.vcxproj │ │ │ │ │ ├── testzlib.vcxproj.filters │ │ │ │ │ ├── testzlibdll.vcxproj │ │ │ │ │ ├── testzlibdll.vcxproj.filters │ │ │ │ │ ├── zlib.rc │ │ │ │ │ ├── zlibstat.vcxproj │ │ │ │ │ ├── zlibstat.vcxproj.filters │ │ │ │ │ ├── zlibvc.def │ │ │ │ │ ├── zlibvc.sln │ │ │ │ │ ├── zlibvc.vcxproj │ │ │ │ │ └── zlibvc.vcxproj.filters │ │ │ │ ├── vc11/ │ │ │ │ │ ├── miniunz.vcxproj │ │ │ │ │ ├── minizip.vcxproj │ │ │ │ │ ├── testzlib.vcxproj │ │ │ │ │ ├── testzlibdll.vcxproj │ │ │ │ │ ├── zlib.rc │ │ │ │ │ ├── zlibstat.vcxproj │ │ │ │ │ ├── zlibvc.def │ │ │ │ │ ├── zlibvc.sln │ │ │ │ │ └── zlibvc.vcxproj │ │ │ │ └── vc9/ │ │ │ │ ├── miniunz.vcproj │ │ │ │ ├── minizip.vcproj │ │ │ │ ├── testzlib.vcproj │ │ │ │ ├── testzlibdll.vcproj │ │ │ │ ├── zlib.rc │ │ │ │ ├── zlibstat.vcproj │ │ │ │ ├── zlibvc.def │ │ │ │ ├── zlibvc.sln │ │ │ │ └── zlibvc.vcproj │ │ │ ├── crc32.c │ │ │ ├── crc32.h │ │ │ ├── deflate.c │ │ │ ├── deflate.h │ │ │ ├── doc/ │ │ │ │ ├── algorithm.txt │ │ │ │ ├── rfc1950.txt │ │ │ │ ├── rfc1951.txt │ │ │ │ ├── rfc1952.txt │ │ │ │ └── txtvsbin.txt │ │ │ ├── examples/ │ │ │ │ ├── README.examples │ │ │ │ ├── enough.c │ │ │ │ ├── fitblk.c │ │ │ │ ├── gun.c │ │ │ │ ├── gzappend.c │ │ │ │ ├── gzjoin.c │ │ │ │ ├── gzlog.c │ │ │ │ ├── gzlog.h │ │ │ │ ├── zlib_how.html │ │ │ │ ├── zpipe.c │ │ │ │ └── zran.c │ │ │ ├── gzclose.c │ │ │ ├── gzguts.h │ │ │ ├── gzlib.c │ │ │ ├── gzread.c │ │ │ ├── gzwrite.c │ │ │ ├── infback.c │ │ │ ├── inffast.c │ │ │ ├── inffast.h │ │ │ ├── inffixed.h │ │ │ ├── inflate.c │ │ │ ├── inflate.h │ │ │ ├── inftrees.c │ │ │ ├── inftrees.h │ │ │ ├── make_vms.com │ │ │ ├── msdos/ │ │ │ │ ├── Makefile.bor │ │ │ │ ├── Makefile.dj2 │ │ │ │ ├── Makefile.emx │ │ │ │ ├── Makefile.msc │ │ │ │ └── Makefile.tc │ │ │ ├── nintendods/ │ │ │ │ ├── Makefile │ │ │ │ └── README │ │ │ ├── old/ │ │ │ │ ├── Makefile.emx │ │ │ │ ├── Makefile.riscos │ │ │ │ ├── README │ │ │ │ ├── descrip.mms │ │ │ │ ├── os2/ │ │ │ │ │ ├── Makefile.os2 │ │ │ │ │ └── zlib.def │ │ │ │ └── visual-basic.txt │ │ │ ├── qnx/ │ │ │ │ └── package.qpg │ │ │ ├── test/ │ │ │ │ ├── example.c │ │ │ │ ├── infcover.c │ │ │ │ └── minigzip.c │ │ │ ├── treebuild.xml │ │ │ ├── trees.c │ │ │ ├── trees.h │ │ │ ├── uncompr.c │ │ │ ├── watcom/ │ │ │ │ ├── watcom_f.mak │ │ │ │ └── watcom_l.mak │ │ │ ├── win32/ │ │ │ │ ├── DLL_FAQ.txt │ │ │ │ ├── Makefile.bor │ │ │ │ ├── Makefile.gcc │ │ │ │ ├── Makefile.msc │ │ │ │ ├── README-WIN32.txt │ │ │ │ ├── VisualC.txt │ │ │ │ ├── zlib.def │ │ │ │ └── zlib1.rc │ │ │ ├── zconf.h │ │ │ ├── zconf.h.cmakein │ │ │ ├── zconf.h.in │ │ │ ├── zlib.3 │ │ │ ├── zlib.h │ │ │ ├── zlib.pc │ │ │ ├── zlib.pc.cmakein │ │ │ ├── zlib.pc.in │ │ │ ├── zlib2ansi │ │ │ ├── zutil.c │ │ │ └── zutil.h │ │ └── update_zlib.sh │ ├── frameworks/ │ │ ├── base/ │ │ │ ├── include/ │ │ │ │ ├── android_runtime/ │ │ │ │ │ ├── AndroidRuntime.h │ │ │ │ │ ├── Log.h │ │ │ │ │ ├── android_app_NativeActivity.h │ │ │ │ │ ├── android_content_res_Configuration.h │ │ │ │ │ ├── android_graphics_SurfaceTexture.h │ │ │ │ │ ├── android_hardware_camera2_CameraMetadata.h │ │ │ │ │ ├── android_util_AssetManager.h │ │ │ │ │ ├── android_view_InputQueue.h │ │ │ │ │ ├── android_view_Surface.h │ │ │ │ │ └── android_view_SurfaceSession.h │ │ │ │ ├── androidfw/ │ │ │ │ │ ├── Asset.h │ │ │ │ │ ├── AssetDir.h │ │ │ │ │ ├── AssetManager.h │ │ │ │ │ ├── AttributeFinder.h │ │ │ │ │ ├── BackupHelpers.h │ │ │ │ │ ├── ByteBucketArray.h │ │ │ │ │ ├── CursorWindow.h │ │ │ │ │ ├── DisplayEventDispatcher.h │ │ │ │ │ ├── LocaleData.h │ │ │ │ │ ├── ObbFile.h │ │ │ │ │ ├── ResourcePackageId.h │ │ │ │ │ ├── ResourceTypes.h │ │ │ │ │ ├── StreamingZipInflater.h │ │ │ │ │ ├── TypeWrappers.h │ │ │ │ │ ├── ZipFileRO.h │ │ │ │ │ ├── ZipUtils.h │ │ │ │ │ └── misc.h │ │ │ │ ├── private/ │ │ │ │ │ ├── README │ │ │ │ │ └── hwui/ │ │ │ │ │ └── DrawGlInfo.h │ │ │ │ └── storage/ │ │ │ │ ├── IMountService.h │ │ │ │ ├── IMountServiceListener.h │ │ │ │ ├── IMountShutdownObserver.h │ │ │ │ └── IObbActionListener.h │ │ │ ├── libs/ │ │ │ │ └── androidfw/ │ │ │ │ ├── Android.mk │ │ │ │ ├── Asset.cpp │ │ │ │ ├── AssetDir.cpp │ │ │ │ ├── AssetManager.cpp │ │ │ │ ├── BackupData.cpp │ │ │ │ ├── BackupHelpers.cpp │ │ │ │ ├── CursorWindow.cpp │ │ │ │ ├── DisplayEventDispatcher.cpp │ │ │ │ ├── LocaleData.cpp │ │ │ │ ├── LocaleDataTables.cpp │ │ │ │ ├── MODULE_LICENSE_APACHE2 │ │ │ │ ├── NOTICE │ │ │ │ ├── ObbFile.cpp │ │ │ │ ├── ResourceTypes.cpp │ │ │ │ ├── StreamingZipInflater.cpp │ │ │ │ ├── TypeWrappers.cpp │ │ │ │ ├── ZipFileRO.cpp │ │ │ │ ├── ZipUtils.cpp │ │ │ │ ├── misc.cpp │ │ │ │ └── tests/ │ │ │ │ ├── Android.mk │ │ │ │ ├── AttributeFinder_test.cpp │ │ │ │ ├── BackupData_test.cpp │ │ │ │ ├── ByteBucketArray_test.cpp │ │ │ │ ├── ConfigLocale_test.cpp │ │ │ │ ├── Config_test.cpp │ │ │ │ ├── Idmap_test.cpp │ │ │ │ ├── ObbFile_test.cpp │ │ │ │ ├── ResTable_test.cpp │ │ │ │ ├── Split_test.cpp │ │ │ │ ├── TestHelpers.cpp │ │ │ │ ├── TestHelpers.h │ │ │ │ ├── Theme_test.cpp │ │ │ │ ├── TypeWrappers_test.cpp │ │ │ │ ├── ZipUtils_test.cpp │ │ │ │ └── data/ │ │ │ │ ├── .gitignore │ │ │ │ ├── app/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── app_arsc.h │ │ │ │ │ ├── build │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── basic/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── basic_arsc.h │ │ │ │ │ ├── build │ │ │ │ │ ├── res/ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ └── main.xml │ │ │ │ │ │ ├── layout-fr-sw600dp/ │ │ │ │ │ │ │ └── main.xml │ │ │ │ │ │ ├── values/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-de/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-fr/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-hdpi/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-sv/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ ├── values-xhdpi/ │ │ │ │ │ │ │ └── values.xml │ │ │ │ │ │ └── values-xxhdpi/ │ │ │ │ │ │ └── values.xml │ │ │ │ │ ├── split_de_fr_arsc.h │ │ │ │ │ ├── split_hdpi_v4_arsc.h │ │ │ │ │ ├── split_xhdpi_v4_arsc.h │ │ │ │ │ └── split_xxhdpi_v4_arsc.h │ │ │ │ ├── feature/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── build │ │ │ │ │ ├── feature_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── lib/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── R.h │ │ │ │ │ ├── build │ │ │ │ │ ├── lib_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── overlay/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── build │ │ │ │ │ ├── overlay_arsc.h │ │ │ │ │ └── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── values.xml │ │ │ │ └── system/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── R.h │ │ │ │ ├── build │ │ │ │ ├── res/ │ │ │ │ │ └── values/ │ │ │ │ │ └── themes.xml │ │ │ │ └── system_arsc.h │ │ │ └── tools/ │ │ │ └── aapt/ │ │ │ ├── AaptAssets.cpp │ │ │ ├── AaptAssets.h │ │ │ ├── AaptConfig.cpp │ │ │ ├── AaptConfig.h │ │ │ ├── AaptUtil.cpp │ │ │ ├── AaptUtil.h │ │ │ ├── AaptXml.cpp │ │ │ ├── AaptXml.h │ │ │ ├── Android.mk │ │ │ ├── ApkBuilder.cpp │ │ │ ├── ApkBuilder.h │ │ │ ├── Bundle.h │ │ │ ├── CacheUpdater.h │ │ │ ├── Command.cpp │ │ │ ├── ConfigDescription.h │ │ │ ├── CrunchCache.cpp │ │ │ ├── CrunchCache.h │ │ │ ├── DirectoryWalker.h │ │ │ ├── FileFinder.cpp │ │ │ ├── FileFinder.h │ │ │ ├── Images.cpp │ │ │ ├── Images.h │ │ │ ├── IndentPrinter.h │ │ │ ├── Main.cpp │ │ │ ├── Main.h │ │ │ ├── NOTICE │ │ │ ├── OutputSet.h │ │ │ ├── Package.cpp │ │ │ ├── Resource.cpp │ │ │ ├── ResourceFilter.cpp │ │ │ ├── ResourceFilter.h │ │ │ ├── ResourceIdCache.cpp │ │ │ ├── ResourceIdCache.h │ │ │ ├── ResourceTable.cpp │ │ │ ├── ResourceTable.h │ │ │ ├── SdkConstants.h │ │ │ ├── SourcePos.cpp │ │ │ ├── SourcePos.h │ │ │ ├── StringPool.cpp │ │ │ ├── StringPool.h │ │ │ ├── Symbol.h │ │ │ ├── WorkQueue.cpp │ │ │ ├── WorkQueue.h │ │ │ ├── XMLNode.cpp │ │ │ ├── XMLNode.h │ │ │ ├── ZipEntry.cpp │ │ │ ├── ZipEntry.h │ │ │ ├── ZipFile.cpp │ │ │ ├── ZipFile.h │ │ │ ├── pseudolocalize.cpp │ │ │ ├── pseudolocalize.h │ │ │ └── tests/ │ │ │ ├── AaptConfig_test.cpp │ │ │ ├── AaptGroupEntry_test.cpp │ │ │ ├── CrunchCache_test.cpp │ │ │ ├── FileFinder_test.cpp │ │ │ ├── MockCacheUpdater.h │ │ │ ├── MockDirectoryWalker.h │ │ │ ├── MockFileFinder.h │ │ │ ├── Pseudolocales_test.cpp │ │ │ ├── ResourceFilter_test.cpp │ │ │ ├── ResourceTable_test.cpp │ │ │ ├── TestHelper.h │ │ │ └── plurals/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── run.sh │ │ └── native/ │ │ └── include/ │ │ ├── android/ │ │ │ ├── asset_manager.h │ │ │ ├── asset_manager_jni.h │ │ │ ├── bitmap.h │ │ │ ├── choreographer.h │ │ │ ├── configuration.h │ │ │ ├── input.h │ │ │ ├── keycodes.h │ │ │ ├── looper.h │ │ │ ├── multinetwork.h │ │ │ ├── native_activity.h │ │ │ ├── native_window.h │ │ │ ├── native_window_jni.h │ │ │ ├── obb.h │ │ │ ├── rect.h │ │ │ ├── sensor.h │ │ │ ├── storage_manager.h │ │ │ ├── trace.h │ │ │ └── window.h │ │ ├── batteryservice/ │ │ │ ├── BatteryService.h │ │ │ ├── IBatteryPropertiesListener.h │ │ │ └── IBatteryPropertiesRegistrar.h │ │ ├── binder/ │ │ │ ├── AppOpsManager.h │ │ │ ├── Binder.h │ │ │ ├── BinderService.h │ │ │ ├── BpBinder.h │ │ │ ├── BufferedTextOutput.h │ │ │ ├── Debug.h │ │ │ ├── IAppOpsCallback.h │ │ │ ├── IAppOpsService.h │ │ │ ├── IBatteryStats.h │ │ │ ├── IBinder.h │ │ │ ├── IInterface.h │ │ │ ├── IMediaResourceMonitor.h │ │ │ ├── IMemory.h │ │ │ ├── IPCThreadState.h │ │ │ ├── IPermissionController.h │ │ │ ├── IProcessInfoService.h │ │ │ ├── IResultReceiver.h │ │ │ ├── IServiceManager.h │ │ │ ├── MemoryBase.h │ │ │ ├── MemoryDealer.h │ │ │ ├── MemoryHeapBase.h │ │ │ ├── Parcel.h │ │ │ ├── Parcelable.h │ │ │ ├── PermissionCache.h │ │ │ ├── PersistableBundle.h │ │ │ ├── ProcessInfoService.h │ │ │ ├── ProcessState.h │ │ │ ├── Status.h │ │ │ └── TextOutput.h │ │ ├── diskusage/ │ │ │ └── dirsize.h │ │ ├── gui/ │ │ │ ├── BitTube.h │ │ │ ├── BufferItem.h │ │ │ ├── BufferItemConsumer.h │ │ │ ├── BufferQueue.h │ │ │ ├── BufferQueueConsumer.h │ │ │ ├── BufferQueueCore.h │ │ │ ├── BufferQueueDefs.h │ │ │ ├── BufferQueueProducer.h │ │ │ ├── BufferSlot.h │ │ │ ├── ConsumerBase.h │ │ │ ├── CpuConsumer.h │ │ │ ├── DisplayEventReceiver.h │ │ │ ├── GLConsumer.h │ │ │ ├── GraphicBufferAlloc.h │ │ │ ├── GuiConfig.h │ │ │ ├── IConsumerListener.h │ │ │ ├── IDisplayEventConnection.h │ │ │ ├── IGraphicBufferAlloc.h │ │ │ ├── IGraphicBufferConsumer.h │ │ │ ├── IGraphicBufferProducer.h │ │ │ ├── IProducerListener.h │ │ │ ├── ISensorEventConnection.h │ │ │ ├── ISensorServer.h │ │ │ ├── ISurfaceComposer.h │ │ │ ├── ISurfaceComposerClient.h │ │ │ ├── Sensor.h │ │ │ ├── SensorEventQueue.h │ │ │ ├── SensorManager.h │ │ │ ├── StreamSplitter.h │ │ │ ├── Surface.h │ │ │ ├── SurfaceComposerClient.h │ │ │ └── SurfaceControl.h │ │ ├── input/ │ │ │ ├── IInputFlinger.h │ │ │ ├── Input.h │ │ │ ├── InputDevice.h │ │ │ ├── InputEventLabels.h │ │ │ ├── InputTransport.h │ │ │ ├── KeyCharacterMap.h │ │ │ ├── KeyLayoutMap.h │ │ │ ├── Keyboard.h │ │ │ ├── VelocityControl.h │ │ │ ├── VelocityTracker.h │ │ │ └── VirtualKeyMap.h │ │ ├── media/ │ │ │ ├── drm/ │ │ │ │ └── DrmAPI.h │ │ │ ├── editor/ │ │ │ │ └── II420ColorConverter.h │ │ │ ├── hardware/ │ │ │ │ ├── CryptoAPI.h │ │ │ │ ├── HDCPAPI.h │ │ │ │ ├── HardwareAPI.h │ │ │ │ ├── MetadataBufferType.h │ │ │ │ ├── OMXPluginBase.h │ │ │ │ └── VideoAPI.h │ │ │ └── openmax/ │ │ │ ├── OMX_AsString.h │ │ │ ├── OMX_Audio.h │ │ │ ├── OMX_AudioExt.h │ │ │ ├── OMX_Component.h │ │ │ ├── OMX_ContentPipe.h │ │ │ ├── OMX_Core.h │ │ │ ├── OMX_IVCommon.h │ │ │ ├── OMX_Image.h │ │ │ ├── OMX_Index.h │ │ │ ├── OMX_IndexExt.h │ │ │ ├── OMX_Other.h │ │ │ ├── OMX_Types.h │ │ │ ├── OMX_Video.h │ │ │ └── OMX_VideoExt.h │ │ ├── powermanager/ │ │ │ ├── IPowerManager.h │ │ │ └── PowerManager.h │ │ ├── private/ │ │ │ ├── binder/ │ │ │ │ ├── Static.h │ │ │ │ └── binder_module.h │ │ │ ├── gui/ │ │ │ │ ├── ComposerService.h │ │ │ │ ├── LayerState.h │ │ │ │ └── SyncFeatures.h │ │ │ └── ui/ │ │ │ └── RegionHelper.h │ │ └── ui/ │ │ ├── ANativeObjectBase.h │ │ ├── DisplayInfo.h │ │ ├── DisplayStatInfo.h │ │ ├── Fence.h │ │ ├── FrameStats.h │ │ ├── GraphicBuffer.h │ │ ├── GraphicBufferAllocator.h │ │ ├── GraphicBufferMapper.h │ │ ├── HdrCapabilities.h │ │ ├── PixelFormat.h │ │ ├── Point.h │ │ ├── Rect.h │ │ ├── Region.h │ │ ├── TMatHelpers.h │ │ ├── TVecHelpers.h │ │ ├── UiConfig.h │ │ ├── mat4.h │ │ ├── vec2.h │ │ ├── vec3.h │ │ └── vec4.h │ ├── libnativehelper/ │ │ ├── ALog-priv.h │ │ ├── Android.mk │ │ ├── AsynchronousCloseMonitor.cpp │ │ ├── JNIHelp.cpp │ │ ├── JniConstants.cpp │ │ ├── JniInvocation.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── README │ │ ├── include/ │ │ │ └── nativehelper/ │ │ │ ├── AsynchronousCloseMonitor.h │ │ │ ├── JNIHelp.h │ │ │ ├── JniConstants.h │ │ │ ├── JniInvocation.h │ │ │ ├── ScopedBytes.h │ │ │ ├── ScopedFd.h │ │ │ ├── ScopedLocalFrame.h │ │ │ ├── ScopedLocalRef.h │ │ │ ├── ScopedPrimitiveArray.h │ │ │ ├── ScopedStringChars.h │ │ │ ├── ScopedUtfChars.h │ │ │ ├── UniquePtr.h │ │ │ ├── jni.h │ │ │ └── toStringArray.h │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ └── JniInvocation_test.cpp │ │ └── toStringArray.cpp │ ├── patch/ │ │ ├── 0001-patch-code.patch │ │ ├── 0002-static-build.patch │ │ └── 003-rewrite-parseResourceName.patch │ └── system/ │ └── core/ │ ├── base/ │ │ ├── .clang-format │ │ ├── Android.mk │ │ ├── CPPLINT.cfg │ │ ├── errors_test.cpp │ │ ├── errors_unix.cpp │ │ ├── errors_windows.cpp │ │ ├── file.cpp │ │ ├── file_test.cpp │ │ ├── include/ │ │ │ └── android-base/ │ │ │ ├── errors.h │ │ │ ├── file.h │ │ │ ├── logging.h │ │ │ ├── macros.h │ │ │ ├── memory.h │ │ │ ├── parseint.h │ │ │ ├── parsenetaddress.h │ │ │ ├── stringprintf.h │ │ │ ├── strings.h │ │ │ ├── test_utils.h │ │ │ ├── thread_annotations.h │ │ │ ├── unique_fd.h │ │ │ └── utf8.h │ │ ├── logging.cpp │ │ ├── logging_test.cpp │ │ ├── parseint_test.cpp │ │ ├── parsenetaddress.cpp │ │ ├── parsenetaddress_test.cpp │ │ ├── stringprintf.cpp │ │ ├── stringprintf_test.cpp │ │ ├── strings.cpp │ │ ├── strings_test.cpp │ │ ├── test_main.cpp │ │ ├── test_utils.cpp │ │ ├── utf8.cpp │ │ └── utf8_test.cpp │ ├── include/ │ │ ├── android/ │ │ │ └── log.h │ │ ├── backtrace/ │ │ │ ├── Backtrace.h │ │ │ ├── BacktraceMap.h │ │ │ └── backtrace_constants.h │ │ ├── binderwrapper/ │ │ │ ├── binder_test_base.h │ │ │ ├── binder_wrapper.h │ │ │ └── stub_binder_wrapper.h │ │ ├── cutils/ │ │ │ ├── android_reboot.h │ │ │ ├── ashmem.h │ │ │ ├── atomic.h │ │ │ ├── bitops.h │ │ │ ├── compiler.h │ │ │ ├── config_utils.h │ │ │ ├── debugger.h │ │ │ ├── fs.h │ │ │ ├── hashmap.h │ │ │ ├── iosched_policy.h │ │ │ ├── jstring.h │ │ │ ├── klog.h │ │ │ ├── list.h │ │ │ ├── log.h │ │ │ ├── memory.h │ │ │ ├── misc.h │ │ │ ├── multiuser.h │ │ │ ├── native_handle.h │ │ │ ├── open_memstream.h │ │ │ ├── partition_utils.h │ │ │ ├── process_name.h │ │ │ ├── properties.h │ │ │ ├── qtaguid.h │ │ │ ├── record_stream.h │ │ │ ├── sched_policy.h │ │ │ ├── sockets.h │ │ │ ├── str_parms.h │ │ │ ├── threads.h │ │ │ ├── trace.h │ │ │ └── uevent.h │ │ ├── diskconfig/ │ │ │ └── diskconfig.h │ │ ├── log/ │ │ │ ├── event_tag_map.h │ │ │ ├── log.h │ │ │ ├── log_read.h │ │ │ ├── logd.h │ │ │ ├── logger.h │ │ │ ├── logprint.h │ │ │ └── uio.h │ │ ├── memtrack/ │ │ │ └── memtrack.h │ │ ├── mincrypt/ │ │ │ ├── dsa_sig.h │ │ │ ├── hash-internal.h │ │ │ ├── p256.h │ │ │ ├── p256_ecdsa.h │ │ │ ├── rsa.h │ │ │ ├── sha.h │ │ │ └── sha256.h │ │ ├── nativebridge/ │ │ │ └── native_bridge.h │ │ ├── netutils/ │ │ │ └── ifc.h │ │ ├── private/ │ │ │ ├── android_filesystem_capability.h │ │ │ ├── android_filesystem_config.h │ │ │ ├── android_logger.h │ │ │ └── canned_fs_config.h │ │ ├── system/ │ │ │ ├── camera.h │ │ │ ├── graphics.h │ │ │ ├── radio.h │ │ │ ├── thread_defs.h │ │ │ └── window.h │ │ ├── sysutils/ │ │ │ ├── FrameworkClient.h │ │ │ ├── FrameworkCommand.h │ │ │ ├── FrameworkListener.h │ │ │ ├── List.h │ │ │ ├── NetlinkEvent.h │ │ │ ├── NetlinkListener.h │ │ │ ├── ServiceManager.h │ │ │ ├── SocketClient.h │ │ │ ├── SocketClientCommand.h │ │ │ └── SocketListener.h │ │ ├── usbhost/ │ │ │ └── usbhost.h │ │ ├── utils/ │ │ │ ├── AndroidThreads.h │ │ │ ├── Atomic.h │ │ │ ├── BitSet.h │ │ │ ├── BlobCache.h │ │ │ ├── ByteOrder.h │ │ │ ├── CallStack.h │ │ │ ├── Compat.h │ │ │ ├── Condition.h │ │ │ ├── Debug.h │ │ │ ├── Endian.h │ │ │ ├── Errors.h │ │ │ ├── FileMap.h │ │ │ ├── Flattenable.h │ │ │ ├── Functor.h │ │ │ ├── JenkinsHash.h │ │ │ ├── KeyedVector.h │ │ │ ├── LinearTransform.h │ │ │ ├── List.h │ │ │ ├── Log.h │ │ │ ├── Looper.h │ │ │ ├── LruCache.h │ │ │ ├── Mutex.h │ │ │ ├── NativeHandle.h │ │ │ ├── Printer.h │ │ │ ├── ProcessCallStack.h │ │ │ ├── PropertyMap.h │ │ │ ├── RWLock.h │ │ │ ├── RefBase.h │ │ │ ├── Singleton.h │ │ │ ├── SortedVector.h │ │ │ ├── StopWatch.h │ │ │ ├── String16.h │ │ │ ├── String8.h │ │ │ ├── StrongPointer.h │ │ │ ├── SystemClock.h │ │ │ ├── Thread.h │ │ │ ├── ThreadDefs.h │ │ │ ├── Timers.h │ │ │ ├── Tokenizer.h │ │ │ ├── Trace.h │ │ │ ├── TypeHelpers.h │ │ │ ├── Unicode.h │ │ │ ├── Vector.h │ │ │ ├── VectorImpl.h │ │ │ ├── ashmem.h │ │ │ ├── misc.h │ │ │ └── threads.h │ │ └── ziparchive/ │ │ ├── zip_archive.h │ │ ├── zip_archive_stream_entry.h │ │ └── zip_writer.h │ ├── libcutils/ │ │ ├── Android.mk │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── android_reboot.c │ │ ├── arch-arm/ │ │ │ └── memset32.S │ │ ├── arch-arm64/ │ │ │ └── android_memset.S │ │ ├── arch-mips/ │ │ │ └── android_memset.c │ │ ├── arch-x86/ │ │ │ ├── android_memset16.S │ │ │ ├── android_memset32.S │ │ │ └── cache.h │ │ ├── arch-x86_64/ │ │ │ ├── android_memset16.S │ │ │ ├── android_memset32.S │ │ │ └── cache.h │ │ ├── ashmem-dev.c │ │ ├── ashmem-host.c │ │ ├── atomic.c │ │ ├── canned_fs_config.c │ │ ├── config_utils.c │ │ ├── debugger.c │ │ ├── dlmalloc_stubs.c │ │ ├── fs.c │ │ ├── fs_config.c │ │ ├── hashmap.c │ │ ├── iosched_policy.c │ │ ├── klog.c │ │ ├── load_file.c │ │ ├── multiuser.c │ │ ├── native_handle.c │ │ ├── open_memstream.c │ │ ├── partition_utils.c │ │ ├── process_name.c │ │ ├── properties.c │ │ ├── qtaguid.c │ │ ├── record_stream.c │ │ ├── sched_policy.c │ │ ├── socket_inaddr_any_server_unix.c │ │ ├── socket_inaddr_any_server_windows.c │ │ ├── socket_local_client_unix.c │ │ ├── socket_local_server_unix.c │ │ ├── socket_local_unix.h │ │ ├── socket_loopback_client_unix.c │ │ ├── socket_loopback_server_unix.c │ │ ├── socket_network_client_unix.c │ │ ├── socket_network_client_windows.c │ │ ├── sockets.cpp │ │ ├── sockets_unix.cpp │ │ ├── sockets_windows.cpp │ │ ├── str_parms.c │ │ ├── strdup16to8.c │ │ ├── strdup8to16.c │ │ ├── strlcpy.c │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ ├── MemsetTest.cpp │ │ │ ├── PropertiesTest.cpp │ │ │ └── test_str_parms.cpp │ │ ├── threads.c │ │ ├── trace-dev.c │ │ ├── trace-host.c │ │ └── uevent.c │ ├── liblog/ │ │ ├── Android.bp │ │ ├── Android.mk │ │ ├── NOTICE │ │ ├── README │ │ ├── config_read.c │ │ ├── config_read.h │ │ ├── config_write.c │ │ ├── config_write.h │ │ ├── event.logtags │ │ ├── event_tag_map.c │ │ ├── fake_log_device.c │ │ ├── fake_log_device.h │ │ ├── fake_writer.c │ │ ├── log_event_list.c │ │ ├── log_event_write.c │ │ ├── log_is_loggable.c │ │ ├── log_portability.h │ │ ├── log_time.cpp │ │ ├── logd_reader.c │ │ ├── logd_writer.c │ │ ├── logger.h │ │ ├── logger_lock.c │ │ ├── logger_name.c │ │ ├── logger_read.c │ │ ├── logger_write.c │ │ ├── logprint.c │ │ ├── pmsg_reader.c │ │ ├── pmsg_writer.c │ │ ├── tests/ │ │ │ ├── Android.mk │ │ │ ├── benchmark.h │ │ │ ├── benchmark_main.cpp │ │ │ ├── libc_test.cpp │ │ │ ├── liblog_benchmark.cpp │ │ │ └── liblog_test.cpp │ │ └── uio.c │ ├── libutils/ │ │ ├── Android.mk │ │ ├── BlobCache.cpp │ │ ├── CallStack.cpp │ │ ├── CleanSpec.mk │ │ ├── FileMap.cpp │ │ ├── JenkinsHash.cpp │ │ ├── LinearTransform.cpp │ │ ├── Log.cpp │ │ ├── Looper.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── NativeHandle.cpp │ │ ├── Printer.cpp │ │ ├── ProcessCallStack.cpp │ │ ├── PropertyMap.cpp │ │ ├── README │ │ ├── RefBase.cpp │ │ ├── SharedBuffer.cpp │ │ ├── SharedBuffer.h │ │ ├── SharedBufferTest.cpp │ │ ├── Static.cpp │ │ ├── StopWatch.cpp │ │ ├── String16.cpp │ │ ├── String8.cpp │ │ ├── SystemClock.cpp │ │ ├── Threads.cpp │ │ ├── Timers.cpp │ │ ├── Tokenizer.cpp │ │ ├── Trace.cpp │ │ ├── Unicode.cpp │ │ ├── VectorImpl.cpp │ │ ├── misc.cpp │ │ ├── primes.py │ │ └── tests/ │ │ ├── Android.mk │ │ ├── BitSet_test.cpp │ │ ├── BlobCache_test.cpp │ │ ├── Looper_test.cpp │ │ ├── LruCache_test.cpp │ │ ├── String8_test.cpp │ │ ├── StrongPointer_test.cpp │ │ ├── TestHelpers.h │ │ ├── Unicode_test.cpp │ │ └── Vector_test.cpp │ └── libziparchive/ │ ├── Android.mk │ ├── entry_name_utils-inl.h │ ├── entry_name_utils_test.cc │ ├── zip_archive.cc │ ├── zip_archive_common.h │ ├── zip_archive_private.h │ ├── zip_archive_stream_entry.cc │ ├── zip_archive_test.cc │ ├── zip_writer.cc │ └── zip_writer_test.cc ├── atlas-aapt-old/ │ └── frameworks/ │ └── base/ │ ├── include/ │ │ └── androidfw/ │ │ ├── Asset.h │ │ ├── AssetDir.h │ │ ├── AssetManager.h │ │ ├── BackupHelpers.h │ │ ├── ByteBucketArray.h │ │ ├── CursorWindow.h │ │ ├── ObbFile.h │ │ ├── ResourcePackageId.h │ │ ├── ResourceTypes.h │ │ ├── StreamingZipInflater.h │ │ ├── TypeWrappers.h │ │ ├── ZipFileRO.h │ │ ├── ZipUtils.h │ │ └── misc.h │ ├── libs/ │ │ └── androidfw/ │ │ ├── Android.mk │ │ ├── Asset.cpp │ │ ├── AssetDir.cpp │ │ ├── AssetManager.cpp │ │ ├── BackupData.cpp │ │ ├── BackupHelpers.cpp │ │ ├── CursorWindow.cpp │ │ ├── MODULE_LICENSE_APACHE2 │ │ ├── NOTICE │ │ ├── ObbFile.cpp │ │ ├── ResourceTypes.cpp │ │ ├── StreamingZipInflater.cpp │ │ ├── TypeWrappers.cpp │ │ ├── ZipFileRO.cpp │ │ ├── ZipUtils.cpp │ │ ├── misc.cpp │ │ └── tests/ │ │ ├── Android.mk │ │ ├── BackupData_test.cpp │ │ ├── ByteBucketArray_test.cpp │ │ ├── ConfigLocale_test.cpp │ │ ├── Config_test.cpp │ │ ├── Idmap_test.cpp │ │ ├── ObbFile_test.cpp │ │ ├── ResTable_test.cpp │ │ ├── Split_test.cpp │ │ ├── TestHelpers.h │ │ ├── Theme_test.cpp │ │ ├── TypeWrappers_test.cpp │ │ ├── ZipUtils_test.cpp │ │ └── data/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── app_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── basic/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── basic_arsc.h │ │ │ ├── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── main.xml │ │ │ │ ├── layout-fr-sw600dp/ │ │ │ │ │ └── main.xml │ │ │ │ ├── values/ │ │ │ │ │ └── values.xml │ │ │ │ ├── values-de/ │ │ │ │ │ └── values.xml │ │ │ │ ├── values-fr/ │ │ │ │ │ └── values.xml │ │ │ │ └── values-sv/ │ │ │ │ └── values.xml │ │ │ └── split_de_fr_arsc.h │ │ ├── feature/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── feature_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── lib/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── R.h │ │ │ ├── lib_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ ├── overlay/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── overlay_arsc.h │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── values.xml │ │ └── system/ │ │ ├── AndroidManifest.xml │ │ ├── R.h │ │ ├── res/ │ │ │ └── values/ │ │ │ └── themes.xml │ │ └── system_arsc.h │ └── tools/ │ └── aapt/ │ ├── AaptAssets.cpp │ ├── AaptAssets.h │ ├── AaptConfig.cpp │ ├── AaptConfig.h │ ├── AaptUtil.cpp │ ├── AaptUtil.h │ ├── AaptXml.cpp │ ├── AaptXml.h │ ├── Android.mk │ ├── ApkBuilder.cpp │ ├── ApkBuilder.h │ ├── Bundle.h │ ├── CacheUpdater.h │ ├── Command.cpp │ ├── ConfigDescription.h │ ├── CrunchCache.cpp │ ├── CrunchCache.h │ ├── DirectoryWalker.h │ ├── FileFinder.cpp │ ├── FileFinder.h │ ├── Images.cpp │ ├── Images.h │ ├── IndentPrinter.h │ ├── Main.cpp │ ├── Main.h │ ├── NOTICE │ ├── OutputSet.h │ ├── Package.cpp │ ├── Resource.cpp │ ├── ResourceFilter.cpp │ ├── ResourceFilter.h │ ├── ResourceIdCache.cpp │ ├── ResourceIdCache.h │ ├── ResourceTable.cpp │ ├── ResourceTable.h │ ├── SourcePos.cpp │ ├── SourcePos.h │ ├── StringPool.cpp │ ├── StringPool.h │ ├── WorkQueue.cpp │ ├── WorkQueue.h │ ├── XMLNode.cpp │ ├── XMLNode.h │ ├── ZipEntry.cpp │ ├── ZipEntry.h │ ├── ZipFile.cpp │ ├── ZipFile.h │ ├── printapk.cpp │ ├── pseudolocalize.cpp │ ├── pseudolocalize.h │ ├── qsort_r_compat.c │ ├── qsort_r_compat.h │ └── tests/ │ ├── AaptConfig_test.cpp │ ├── AaptGroupEntry_test.cpp │ ├── CrunchCache_test.cpp │ ├── FileFinder_test.cpp │ ├── MockCacheUpdater.h │ ├── MockDirectoryWalker.h │ ├── MockFileFinder.h │ ├── ResourceFilter_test.cpp │ ├── TestHelper.h │ └── plurals/ │ ├── AndroidManifest.xml │ ├── res/ │ │ └── values/ │ │ └── strings.xml │ └── run.sh ├── atlas-core/ │ ├── .gitignore │ ├── README.md │ ├── README.zh_cn.md │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── lint.xml │ ├── proguard.cfg │ ├── project.properties │ ├── publish.sh │ ├── settings.gradle │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── android/ │ │ ├── app/ │ │ │ ├── IActivityManager/ │ │ │ │ └── ContentProviderHolder.aidl │ │ │ └── IServiceConnection.aidl │ │ └── taobao/ │ │ └── atlas/ │ │ └── runtime/ │ │ ├── ApplicationInitException.java │ │ └── newcomponent/ │ │ └── service/ │ │ └── IDelegateBinder.aidl │ ├── java/ │ │ ├── android/ │ │ │ ├── support/ │ │ │ │ └── multidex/ │ │ │ │ ├── DexElementsMaker.java │ │ │ │ ├── DexElementsMethodInvokerV14.java │ │ │ │ ├── DexElementsMethodInvokerV19.java │ │ │ │ ├── IDexElementsMaker.java │ │ │ │ ├── IDexElementsMethodInvoker.java │ │ │ │ ├── MultiDex.java │ │ │ │ ├── MultiDexExtractor.java │ │ │ │ └── ZipUtil.java │ │ │ └── taobao/ │ │ │ └── atlas/ │ │ │ ├── bridge/ │ │ │ │ └── BridgeApplicationDelegate.java │ │ │ ├── bundleInfo/ │ │ │ │ ├── AtlasBundleInfoGenerator.java │ │ │ │ ├── AtlasBundleInfoManager.java │ │ │ │ ├── BundleListing.java │ │ │ │ └── BundleListingUtil.java │ │ │ ├── framework/ │ │ │ │ ├── Atlas.java │ │ │ │ ├── Framework.java │ │ │ │ └── FrameworkProperties.java │ │ │ ├── hack/ │ │ │ │ ├── AndroidHack.java │ │ │ │ ├── AssertionArrayException.java │ │ │ │ ├── AtlasHacks.java │ │ │ │ ├── Hack.java │ │ │ │ └── Interception.java │ │ │ ├── profile/ │ │ │ │ └── AtlasProfile.java │ │ │ ├── runtime/ │ │ │ │ ├── ActivityLifeCycleObserver.java │ │ │ │ ├── ActivityTaskMgr.java │ │ │ │ ├── ApplicationInvoker.java │ │ │ │ ├── AtlasPreLauncher.java │ │ │ │ ├── BundleIniter.java │ │ │ │ ├── FrameworkLifecycleHandler.java │ │ │ │ ├── LowDiskException.java │ │ │ │ └── RuntimeVariables.java │ │ │ ├── startup/ │ │ │ │ ├── AtlasBridgeApplication.java │ │ │ │ ├── DexFileCompat.java │ │ │ │ ├── KernalVersionManager.java │ │ │ │ ├── NClassLoader.java │ │ │ │ └── patch/ │ │ │ │ ├── CombineDexMerger.java │ │ │ │ ├── CombineDexVerifier.java │ │ │ │ ├── KernalBundle.java │ │ │ │ ├── KernalBundleArchive.java │ │ │ │ ├── KernalConstants.java │ │ │ │ ├── KernalFileLock.java │ │ │ │ ├── PatchMerger.java │ │ │ │ ├── PatchVerifier.java │ │ │ │ └── releaser/ │ │ │ │ ├── BundleReleaser.java │ │ │ │ ├── DexReleaser.java │ │ │ │ ├── PatchDexProfile.java │ │ │ │ └── ReleaseType.java │ │ │ ├── util/ │ │ │ │ ├── ApkUtils.java │ │ │ │ ├── AtlasFileLock.java │ │ │ │ ├── BundleLock.java │ │ │ │ ├── FileUtils.java │ │ │ │ ├── IOUtil.java │ │ │ │ ├── RefectUtils.java │ │ │ │ ├── SoLoader.java │ │ │ │ ├── StringUtils.java │ │ │ │ ├── WrapperUtil.java │ │ │ │ └── log/ │ │ │ │ ├── IAlarmer.java │ │ │ │ ├── ILog.java │ │ │ │ ├── IMonitor.java │ │ │ │ └── impl/ │ │ │ │ ├── AtlasAlarmer.java │ │ │ │ ├── AtlasLog.java │ │ │ │ └── AtlasMonitor.java │ │ │ └── versionInfo/ │ │ │ └── BaselineInfoManager.java │ │ └── org/ │ │ └── osgi/ │ │ └── framework/ │ │ ├── Bundle.java │ │ ├── BundleEvent.java │ │ ├── BundleException.java │ │ ├── BundleListener.java │ │ ├── Constants.java │ │ ├── FrameworkEvent.java │ │ ├── FrameworkListener.java │ │ └── SynchronousBundleListener.java │ └── res/ │ ├── drawable/ │ │ └── atlas_waitview.xml │ ├── layout/ │ │ └── atlas_progress.xml │ └── values/ │ └── style_atlas.xml ├── atlas-demo/ │ ├── .gitignore │ ├── AtlasDemo/ │ │ ├── .gitignore │ │ ├── AwoForBundle.txt │ │ ├── AwoForHost.txt │ │ ├── README.md │ │ ├── Tpatch.txt │ │ ├── activitygroupcompat/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── android/ │ │ │ │ ├── ActivityGroupDelegate.java │ │ │ │ └── LocalActivityManager.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── .gradletasknamecache │ │ │ ├── build.gradle │ │ │ ├── dexPatchWraper.gradle │ │ │ ├── jd-gui.cfg │ │ │ ├── proguard-rules.pro │ │ │ ├── push_dexpatch_out.sh │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── demo/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ ├── demo/ │ │ │ │ │ ├── DemoApplication.java │ │ │ │ │ ├── DemoPreLaunch.java │ │ │ │ │ ├── MainActivity.java │ │ │ │ │ ├── MyContentProvider.java │ │ │ │ │ ├── RemoteDemoActivity.java │ │ │ │ │ ├── UpdateDemoActivity.java │ │ │ │ │ └── databind/ │ │ │ │ │ ├── DataBundleAarActivity.java │ │ │ │ │ └── User.java │ │ │ │ └── update/ │ │ │ │ └── Updater.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ ├── ic_notifications_black_24dp.xml │ │ │ │ └── side_nav_bar.xml │ │ │ ├── layout/ │ │ │ │ ├── aar_databind_main.xml │ │ │ │ ├── activity_main.xml │ │ │ │ ├── activity_navigation.xml │ │ │ │ ├── activity_scrolling.xml │ │ │ │ ├── activity_update.xml │ │ │ │ ├── app_bar_main.xml │ │ │ │ ├── content_main.xml │ │ │ │ ├── content_navigation_main.xml │ │ │ │ ├── content_scrolling.xml │ │ │ │ ├── guild_remote_bundle.xml │ │ │ │ └── nav_header_main.xml │ │ │ ├── menu/ │ │ │ │ ├── activity_main_drawer.xml │ │ │ │ ├── main.xml │ │ │ │ └── navigation.xml │ │ │ └── values/ │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── main_style.xml │ │ │ └── strings.xml │ │ ├── build.gradle │ │ ├── databindbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── databindbundle/ │ │ │ │ └── databind/ │ │ │ │ ├── DataBundleSampleActivity.java │ │ │ │ └── User.java │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ └── bundle_databind_main.xml │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── databindinglibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── databinding/ │ │ │ │ └── library/ │ │ │ │ ├── DataBingAarActivity.java │ │ │ │ └── User.java │ │ │ └── res/ │ │ │ └── layout/ │ │ │ └── aar_databind.xml │ │ ├── firstbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── firstbundle/ │ │ │ │ ├── FirstBundleActivity.java │ │ │ │ ├── FirstBundleService.java │ │ │ │ ├── UseremoteActivity.java │ │ │ │ └── fragment/ │ │ │ │ ├── BlankFragment.java │ │ │ │ ├── DummyContent.java │ │ │ │ ├── ItemFragment.java │ │ │ │ └── MyItemRecyclerViewAdapter.java │ │ │ └── res/ │ │ │ ├── layout/ │ │ │ │ ├── activity_firstbundle.xml │ │ │ │ ├── activity_useremote.xml │ │ │ │ ├── activity_web_view.xml │ │ │ │ ├── fragment_blank.xml │ │ │ │ ├── fragment_item.xml │ │ │ │ └── fragment_item_list.xml │ │ │ └── values/ │ │ │ └── strings.xml │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── lottie/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle.properties │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── airbnb/ │ │ │ │ └── lottie/ │ │ │ │ ├── AnimatableColorValue.java │ │ │ │ ├── AnimatableFloatValue.java │ │ │ │ ├── AnimatableIntegerValue.java │ │ │ │ ├── AnimatablePathValue.java │ │ │ │ ├── AnimatablePointValue.java │ │ │ │ ├── AnimatableScaleValue.java │ │ │ │ ├── AnimatableShapeValue.java │ │ │ │ ├── AnimatableSplitDimensionPathValue.java │ │ │ │ ├── AnimatableTransform.java │ │ │ │ ├── AnimatableValue.java │ │ │ │ ├── AnimatableValueParser.java │ │ │ │ ├── BaseAnimatableValue.java │ │ │ │ ├── BaseKeyframeAnimation.java │ │ │ │ ├── BaseLayer.java │ │ │ │ ├── BitmapCanvas.java │ │ │ │ ├── Cancellable.java │ │ │ │ ├── CanvasPool.java │ │ │ │ ├── CircleShape.java │ │ │ │ ├── ColorFactory.java │ │ │ │ ├── ColorKeyframeAnimation.java │ │ │ │ ├── CompositionLayer.java │ │ │ │ ├── CompositionLoader.java │ │ │ │ ├── Content.java │ │ │ │ ├── ContentGroup.java │ │ │ │ ├── CubicCurveData.java │ │ │ │ ├── DrawingContent.java │ │ │ │ ├── EllipseContent.java │ │ │ │ ├── FileCompositionLoader.java │ │ │ │ ├── FillContent.java │ │ │ │ ├── FloatKeyframeAnimation.java │ │ │ │ ├── GammaEvaluator.java │ │ │ │ ├── ImageAssetBitmapManager.java │ │ │ │ ├── ImageAssetDelegate.java │ │ │ │ ├── ImageLayer.java │ │ │ │ ├── IntegerKeyframeAnimation.java │ │ │ │ ├── JsonCompositionLoader.java │ │ │ │ ├── JsonUtils.java │ │ │ │ ├── Keyframe.java │ │ │ │ ├── KeyframeAnimation.java │ │ │ │ ├── L.java │ │ │ │ ├── Layer.java │ │ │ │ ├── LottieAnimationView.java │ │ │ │ ├── LottieComposition.java │ │ │ │ ├── LottieDrawable.java │ │ │ │ ├── LottieImageAsset.java │ │ │ │ ├── Mask.java │ │ │ │ ├── MaskKeyframeAnimation.java │ │ │ │ ├── MergePaths.java │ │ │ │ ├── MergePathsContent.java │ │ │ │ ├── MiscUtils.java │ │ │ │ ├── ModifierContent.java │ │ │ │ ├── NullLayer.java │ │ │ │ ├── OnCompositionLoadedListener.java │ │ │ │ ├── PathContent.java │ │ │ │ ├── PathKeyframe.java │ │ │ │ ├── PathKeyframeAnimation.java │ │ │ │ ├── PointFFactory.java │ │ │ │ ├── PointKeyframeAnimation.java │ │ │ │ ├── PolystarContent.java │ │ │ │ ├── PolystarShape.java │ │ │ │ ├── RectangleContent.java │ │ │ │ ├── RectangleShape.java │ │ │ │ ├── ScaleKeyframeAnimation.java │ │ │ │ ├── ScaleXY.java │ │ │ │ ├── ShapeContent.java │ │ │ │ ├── ShapeData.java │ │ │ │ ├── ShapeFill.java │ │ │ │ ├── ShapeGroup.java │ │ │ │ ├── ShapeKeyframeAnimation.java │ │ │ │ ├── ShapeLayer.java │ │ │ │ ├── ShapePath.java │ │ │ │ ├── ShapeStroke.java │ │ │ │ ├── ShapeTrimPath.java │ │ │ │ ├── SolidLayer.java │ │ │ │ ├── SplitDimensionPathKeyframeAnimation.java │ │ │ │ ├── StaticKeyframeAnimation.java │ │ │ │ ├── StrokeContent.java │ │ │ │ ├── TransformKeyframeAnimation.java │ │ │ │ ├── TrimPathContent.java │ │ │ │ └── Utils.java │ │ │ └── res/ │ │ │ └── values/ │ │ │ ├── attrs.xml │ │ │ └── ids.xml │ │ ├── middlewarelibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── middleware/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ ├── middleware/ │ │ │ │ │ │ └── dialog/ │ │ │ │ │ │ ├── Button.java │ │ │ │ │ │ ├── ButtonFlat.java │ │ │ │ │ │ ├── CustomView.java │ │ │ │ │ │ ├── Dialog.java │ │ │ │ │ │ └── Utils.java │ │ │ │ │ └── taobao/ │ │ │ │ │ └── middleware/ │ │ │ │ │ ├── ICaculator.java │ │ │ │ │ ├── ItemDetailActivity.java │ │ │ │ │ ├── ItemDetailFragment.java │ │ │ │ │ ├── ItemListActivity.java │ │ │ │ │ ├── StringUtil.java │ │ │ │ │ └── dummy/ │ │ │ │ │ └── DummyContent.java │ │ │ │ └── res/ │ │ │ │ ├── anim/ │ │ │ │ │ ├── dialog_main_hide_amination.xml │ │ │ │ │ ├── dialog_main_show_amination.xml │ │ │ │ │ ├── dialog_root_hide_amin.xml │ │ │ │ │ └── dialog_root_show_amin.xml │ │ │ │ ├── drawable/ │ │ │ │ │ └── background_transparent.xml │ │ │ │ ├── layout/ │ │ │ │ │ ├── activity_item_detail.xml │ │ │ │ │ ├── activity_item_list.xml │ │ │ │ │ ├── item_detail.xml │ │ │ │ │ ├── item_list.xml │ │ │ │ │ ├── item_list_content.xml │ │ │ │ │ └── update_dialog.xml │ │ │ │ ├── layout-w900dp/ │ │ │ │ │ └── item_list.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── middleware/ │ │ │ └── ExampleUnitTest.java │ │ ├── publicbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── publicBundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── publicBundle/ │ │ │ │ │ └── Tools.java │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── publicBundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── remotebundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── remotebunle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── remotebunle/ │ │ │ │ │ └── RemoteBundleActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_remote_bundle.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── remotebunle/ │ │ │ └── ExampleUnitTest.java │ │ ├── secondbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundle/ │ │ │ │ │ ├── MyRichView.java │ │ │ │ │ ├── PlusOneFragment.java │ │ │ │ │ ├── SecondBundleActivity.java │ │ │ │ │ ├── SecondBundleApplication.java │ │ │ │ │ ├── SecondBundleFragment.java │ │ │ │ │ └── SecondBundleIniter.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ ├── activity_secondbundle.xml │ │ │ │ │ ├── fragment_plus_one.xml │ │ │ │ │ └── test_layout.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── secondbundlelibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── secondbundlelibrary/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundlelibrary/ │ │ │ │ │ └── SecondbundleShareActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_secondbundle_share.xml │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundlelibrary/ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── splashscreen/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── splashscreen/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── assets/ │ │ │ │ │ ├── A.json │ │ │ │ │ ├── L.json │ │ │ │ │ ├── S.json │ │ │ │ │ └── T.json │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ ├── airbnb/ │ │ │ │ │ │ └── lottiesplash/ │ │ │ │ │ │ └── LottieFontViewGroup.java │ │ │ │ │ └── taobao/ │ │ │ │ │ └── splashscreen/ │ │ │ │ │ └── WelcomeActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_welcome.xml │ │ │ │ └── values/ │ │ │ │ ├── attrs.xml │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── splashscreen/ │ │ │ └── ExampleUnitTest.java │ │ └── structor.md │ ├── IncrementAtlasDemo/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── increment_app/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── AndroidManifest.xml │ │ └── settings.gradle │ ├── MyApplication/ │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── gradlew │ ├── README.md │ ├── multi-feature-module/ │ │ ├── .google/ │ │ │ └── packaging.yaml │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── README.md │ │ ├── base/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ ├── IntentUtil.kt │ │ │ │ ├── data/ │ │ │ │ │ ├── PhotoService.java │ │ │ │ │ ├── UnsplashService.java │ │ │ │ │ └── model/ │ │ │ │ │ └── Photo.java │ │ │ │ ├── test.kt │ │ │ │ ├── transition/ │ │ │ │ │ └── TextResize.java │ │ │ │ └── ui/ │ │ │ │ ├── DetailSharedElementEnterCallback.java │ │ │ │ ├── ForegroundImageView.java │ │ │ │ ├── ImageSize.java │ │ │ │ ├── ThreeTwoImageView.java │ │ │ │ ├── TransitionCallback.java │ │ │ │ ├── grid/ │ │ │ │ │ ├── GridMarginDecoration.java │ │ │ │ │ ├── OnItemSelectedListener.java │ │ │ │ │ ├── PhotoAdapter.java │ │ │ │ │ └── PhotoViewHolder.java │ │ │ │ └── pager/ │ │ │ │ └── DetailViewPagerAdapter.java │ │ │ └── res/ │ │ │ ├── animator/ │ │ │ │ └── raise.xml │ │ │ ├── drawable/ │ │ │ │ ├── grey_ripple.xml │ │ │ │ └── ic_arrow_back.xml │ │ │ ├── layout/ │ │ │ │ ├── detail_view.xml │ │ │ │ └── photo_item.xml │ │ │ ├── transition/ │ │ │ │ ├── grid_exit.xml │ │ │ │ ├── grid_reenter.xml │ │ │ │ └── shared_main_detail.xml │ │ │ └── values/ │ │ │ ├── attrs_foreground_view.xml │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── build.gradle │ │ ├── detail/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── DetailActivityTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── DetailActivity.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── page_margin.xml │ │ │ └── layout/ │ │ │ └── activity_detail.xml │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── installed/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ └── AndroidManifest.xml │ │ ├── instant/ │ │ │ └── build.gradle │ │ ├── main/ │ │ │ ├── build.gradle │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── MainActivityTest.java │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── android/ │ │ │ │ └── unsplash/ │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ └── layout/ │ │ │ └── activity_main.xml │ │ ├── proguard.pro │ │ └── settings.gradle │ └── 基于版本打包的demo/ │ ├── FirstBundle/ │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── firstbundle/ │ │ │ ├── FirstBundleActivity.java │ │ │ └── FirstBundleApplication.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── first_main.xml │ │ └── values/ │ │ └── strings.xml │ ├── README.md │ ├── README.zh_cn.md │ ├── app/ │ │ ├── activitygroupdelegate/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taoboa/ │ │ │ │ └── activitygroupdelegate/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taoboa/ │ │ │ └── activitygroupdelegate/ │ │ │ └── ExampleUnitTest.java │ │ ├── build.gradle │ │ ├── buildApk.sh │ │ ├── buildTpatch.sh │ │ ├── firstbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── firstbundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── firstbundle/ │ │ │ │ │ └── MainActivity.java │ │ │ │ └── res/ │ │ │ │ ├── drawable/ │ │ │ │ │ ├── ic_dashboard_black_24dp.xml │ │ │ │ │ ├── ic_home_black_24dp.xml │ │ │ │ │ └── ic_notifications_black_24dp.xml │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── menu/ │ │ │ │ │ └── navigation.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── firstbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── proguard.cfg │ │ ├── secondbundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── secondbundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── java/ │ │ │ │ │ └── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ └── secondbundle/ │ │ │ │ │ └── LoginActivity.java │ │ │ │ └── res/ │ │ │ │ ├── layout/ │ │ │ │ │ └── activity_login.xml │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── secondbundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── sharebundle/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── taobao/ │ │ │ │ └── sharebundle/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── sharebundle/ │ │ │ └── ExampleUnitTest.java │ │ ├── sharedlibrary/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── taobao/ │ │ │ │ └── sharedlibrary/ │ │ │ │ └── ExampleInstrumentedTest.java │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res/ │ │ │ │ └── values/ │ │ │ │ └── strings.xml │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── taobao/ │ │ │ └── sharedlibrary/ │ │ │ └── ExampleUnitTest.java │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── demo/ │ │ │ ├── DemoApplication.java │ │ │ ├── WelcomActivity.java │ │ │ └── update/ │ │ │ └── Updater.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── main.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── build.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle ├── atlas-docs/ │ ├── .gitignore │ ├── .si.yml │ ├── README.md │ ├── SUMMARY.md │ ├── _book/ │ │ ├── .gitignore │ │ ├── .si.yml │ │ ├── code_read/ │ │ │ ├── atlas_bundle_load/ │ │ │ │ ├── atlas_bundle_load.html │ │ │ │ ├── bundle_load.uml │ │ │ │ └── bundle_load_part_2.uml │ │ │ ├── atlas_gradle_apk/ │ │ │ │ └── atlas_atlas_gradle_apk.html │ │ │ └── atlas_start/ │ │ │ ├── atlas_core_start.uml │ │ │ ├── atlas_core_start_callback.uml │ │ │ ├── atlas_core_start_provider.uml │ │ │ ├── atlas_java_startup.uml │ │ │ ├── atlas_start_1.html │ │ │ └── atlas_start_2.html │ │ ├── faq/ │ │ │ ├── dynamic_failed_help.html │ │ │ ├── help.html │ │ │ ├── question.html │ │ │ └── variant.html │ │ ├── gitbook/ │ │ │ ├── fonts/ │ │ │ │ └── fontawesome/ │ │ │ │ └── FontAwesome.otf │ │ │ ├── gitbook-plugin-fontsettings/ │ │ │ │ ├── fontsettings.js │ │ │ │ └── website.css │ │ │ ├── gitbook-plugin-highlight/ │ │ │ │ ├── ebook.css │ │ │ │ └── website.css │ │ │ ├── gitbook-plugin-livereload/ │ │ │ │ └── plugin.js │ │ │ ├── gitbook-plugin-lunr/ │ │ │ │ └── search-lunr.js │ │ │ ├── gitbook-plugin-search/ │ │ │ │ ├── search-engine.js │ │ │ │ ├── search.css │ │ │ │ └── search.js │ │ │ ├── gitbook-plugin-sharing/ │ │ │ │ └── buttons.js │ │ │ ├── gitbook.js │ │ │ ├── style.css │ │ │ └── theme.js │ │ ├── guide-for-use/ │ │ │ ├── bundleCommunicate.html │ │ │ ├── guide_for_build.html │ │ │ ├── guide_for_bundle.html │ │ │ ├── guide_for_compile.html │ │ │ └── index.html │ │ ├── index.html │ │ ├── principle-intro/ │ │ │ ├── Apk_architecture.html │ │ │ ├── File_architecture_runtime.html │ │ │ ├── Project_architectured.html │ │ │ └── Runtime_principle.html │ │ ├── search_index.json │ │ └── update/ │ │ ├── dexpatch.html │ │ ├── dexpatch_use_guide.html │ │ ├── guide.html │ │ ├── index.html │ │ └── principle.html │ ├── code_read/ │ │ ├── atlas_bundle_load/ │ │ │ ├── atlas_bundle_load.md │ │ │ ├── bundle_load.uml │ │ │ └── bundle_load_part_2.uml │ │ ├── atlas_gradle_apk/ │ │ │ └── atlas_atlas_gradle_apk.md │ │ └── atlas_start/ │ │ ├── atlas_core_start.uml │ │ ├── atlas_core_start_callback.uml │ │ ├── atlas_core_start_provider.uml │ │ ├── atlas_java_startup.uml │ │ ├── atlas_start_1.md │ │ └── atlas_start_2.md │ ├── faq/ │ │ ├── dynamic_failed_help.md │ │ ├── help.md │ │ ├── question.md │ │ └── variant.md │ ├── guide-for-use/ │ │ ├── README.md │ │ ├── _book/ │ │ │ ├── bundleCommunicate.md │ │ │ ├── gitbook/ │ │ │ │ ├── fonts/ │ │ │ │ │ └── fontawesome/ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ ├── gitbook-plugin-fontsettings/ │ │ │ │ │ ├── fontsettings.js │ │ │ │ │ └── website.css │ │ │ │ ├── gitbook-plugin-highlight/ │ │ │ │ │ ├── ebook.css │ │ │ │ │ └── website.css │ │ │ │ ├── gitbook-plugin-livereload/ │ │ │ │ │ └── plugin.js │ │ │ │ ├── gitbook-plugin-lunr/ │ │ │ │ │ └── search-lunr.js │ │ │ │ ├── gitbook-plugin-search/ │ │ │ │ │ ├── search-engine.js │ │ │ │ │ ├── search.css │ │ │ │ │ └── search.js │ │ │ │ ├── gitbook-plugin-sharing/ │ │ │ │ │ └── buttons.js │ │ │ │ ├── gitbook.js │ │ │ │ ├── style.css │ │ │ │ └── theme.js │ │ │ ├── guide_for_build.md │ │ │ ├── guide_for_bundle.md │ │ │ ├── guide_for_compile.md │ │ │ ├── index.html │ │ │ └── search_index.json │ │ ├── bundleCommunicate.md │ │ ├── guide_for_build.md │ │ ├── guide_for_bundle.md │ │ ├── guide_for_compile.md │ │ └── guide_for_progurad.md │ ├── principle-intro/ │ │ ├── Apk_architecture.md │ │ ├── File_architecture_runtime.md │ │ ├── Project_architectured.md │ │ └── Runtime_principle.md │ └── update/ │ ├── README.md │ ├── dexpatch.md │ ├── dexpatch_use_guide.md │ ├── guide.md │ └── principle.md ├── atlas-gradle-plugin/ │ ├── README.md │ ├── aapt/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ └── android/ │ │ │ └── AaptLib.java │ │ └── resources/ │ │ └── aapt/ │ │ ├── linux/ │ │ │ └── aapt │ │ └── mac/ │ │ └── aapt │ ├── atlas-plugin/ │ │ ├── .gradletasknamecache │ │ ├── build/ │ │ │ └── resources/ │ │ │ └── main/ │ │ │ └── META-INF/ │ │ │ └── gradle-plugins/ │ │ │ ├── com.taobao.atlas.feature.properties │ │ │ └── com.taobao.atlas.instantapp.properties │ │ ├── build.gradle │ │ ├── increment.sh │ │ ├── libs/ │ │ │ └── libarsc.jar │ │ ├── publish.sh │ │ ├── src/ │ │ │ ├── main/ │ │ │ │ ├── java/ │ │ │ │ │ ├── android/ │ │ │ │ │ │ └── aapt/ │ │ │ │ │ │ └── pb/ │ │ │ │ │ │ └── internal/ │ │ │ │ │ │ └── ResourcesInternal.java │ │ │ │ │ ├── com/ │ │ │ │ │ │ ├── android/ │ │ │ │ │ │ │ ├── aapt/ │ │ │ │ │ │ │ │ └── Resources.java │ │ │ │ │ │ │ ├── build/ │ │ │ │ │ │ │ │ └── gradle/ │ │ │ │ │ │ │ │ ├── internal/ │ │ │ │ │ │ │ │ │ ├── AndroidComponent.java │ │ │ │ │ │ │ │ │ ├── ApkDataUtils.java │ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager.java │ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager2.java │ │ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ │ │ ├── ApContext.java │ │ │ │ │ │ │ │ │ │ ├── ApkFiles.java │ │ │ │ │ │ │ │ │ │ ├── AppVariantContext.java │ │ │ │ │ │ │ │ │ │ ├── AppVariantOutputContext.java │ │ │ │ │ │ │ │ │ │ ├── AwbTransform.java │ │ │ │ │ │ │ │ │ │ ├── FeatureVariantContext.java │ │ │ │ │ │ │ │ │ │ ├── LibVariantContext.java │ │ │ │ │ │ │ │ │ │ └── VariantContext.java │ │ │ │ │ │ │ │ │ ├── ide/ │ │ │ │ │ │ │ │ │ │ ├── AtlasAndroidLibraryImpl.java │ │ │ │ │ │ │ │ │ │ ├── AtlasDependencyGraph.java │ │ │ │ │ │ │ │ │ │ └── DependencyConvertUtils.java │ │ │ │ │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ │ │ │ │ ├── TBConstructorRedirection.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalChangeVisitor.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalSupportVisitor.java │ │ │ │ │ │ │ │ │ │ ├── TBIncrementalVisitor.java │ │ │ │ │ │ │ │ │ │ └── TBMethodRedirection.java │ │ │ │ │ │ │ │ │ ├── pipeline/ │ │ │ │ │ │ │ │ │ │ ├── AtlasExtendedContentType.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIncrementalFileMergeTransformUtils.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateFolderUtils.java │ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateStreamHelper.java │ │ │ │ │ │ │ │ │ │ ├── InjectTransform.java │ │ │ │ │ │ │ │ │ │ └── InjectTransformManager.java │ │ │ │ │ │ │ │ │ ├── publishing/ │ │ │ │ │ │ │ │ │ │ └── AtlasAndroidArtifacts.java │ │ │ │ │ │ │ │ │ ├── scope/ │ │ │ │ │ │ │ │ │ │ └── ConventionMappingHelper.java │ │ │ │ │ │ │ │ │ └── transforms/ │ │ │ │ │ │ │ │ │ ├── ApTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractApTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractAwbTransform.java │ │ │ │ │ │ │ │ │ ├── ExtractSolibTransform.java │ │ │ │ │ │ │ │ │ ├── LoadSolibFromLibsTransform.java │ │ │ │ │ │ │ │ │ └── LoadSolibTransform.java │ │ │ │ │ │ │ │ └── tasks/ │ │ │ │ │ │ │ │ ├── PackageAwb.java │ │ │ │ │ │ │ │ └── factory/ │ │ │ │ │ │ │ │ └── AwbAndroidJavaCompile.java │ │ │ │ │ │ │ ├── builder/ │ │ │ │ │ │ │ │ └── core/ │ │ │ │ │ │ │ │ ├── AtlasAapt.java │ │ │ │ │ │ │ │ └── AtlasBuilder.java │ │ │ │ │ │ │ ├── ide/ │ │ │ │ │ │ │ │ └── common/ │ │ │ │ │ │ │ │ └── process/ │ │ │ │ │ │ │ │ ├── CmdExecutor.java │ │ │ │ │ │ │ │ ├── MtlProcessExecutor.java │ │ │ │ │ │ │ │ ├── MtlProcessInfo.java │ │ │ │ │ │ │ │ └── MtlProcessInfoBuilder.java │ │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ │ └── r8/ │ │ │ │ │ │ │ ├── AtlasD8.java │ │ │ │ │ │ │ ├── AtlasD8DexArchiveBuilder.java │ │ │ │ │ │ │ ├── AtlasD8Merger.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasApplicationWriter.java │ │ │ │ │ │ │ └── AtlasVirtualFile.java │ │ │ │ │ │ └── taobao/ │ │ │ │ │ │ └── android/ │ │ │ │ │ │ └── builder/ │ │ │ │ │ │ ├── AtlasAppPlugin.java │ │ │ │ │ │ ├── AtlasBasePlugin.java │ │ │ │ │ │ ├── AtlasBuildContext.java │ │ │ │ │ │ ├── AtlasFeaturePlugin.java │ │ │ │ │ │ ├── AtlasInstantAppPlugin.java │ │ │ │ │ │ ├── AtlasLibPlugin.java │ │ │ │ │ │ ├── AtlasMainDexHelper.java │ │ │ │ │ │ ├── AtlasPlugin.java │ │ │ │ │ │ ├── adapter/ │ │ │ │ │ │ │ ├── AppVariantContextFactory.java │ │ │ │ │ │ │ ├── AtlasExtensionFactory.java │ │ │ │ │ │ │ └── BuilderAdapter.java │ │ │ │ │ │ ├── dependency/ │ │ │ │ │ │ │ ├── AtlasDependencyTree.java │ │ │ │ │ │ │ ├── AtlasProjectDependencyManager.java │ │ │ │ │ │ │ ├── ap/ │ │ │ │ │ │ │ │ └── ApDependency.java │ │ │ │ │ │ │ ├── diff/ │ │ │ │ │ │ │ │ ├── DependencyCompareUtils.java │ │ │ │ │ │ │ │ └── DependencyDiff.java │ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ │ ├── ApLibrary.java │ │ │ │ │ │ │ │ ├── ApkLibrary.java │ │ │ │ │ │ │ │ ├── AwbBundle.java │ │ │ │ │ │ │ │ └── SoLibrary.java │ │ │ │ │ │ │ ├── output/ │ │ │ │ │ │ │ │ └── DependencyJson.java │ │ │ │ │ │ │ └── parser/ │ │ │ │ │ │ │ ├── AtlasDepHelper.java │ │ │ │ │ │ │ ├── AtlasDepTreeParser.java │ │ │ │ │ │ │ ├── CircleDependencyCheck.java │ │ │ │ │ │ │ ├── DependencyLocationManager.java │ │ │ │ │ │ │ ├── ResolvedDependencyInfo.java │ │ │ │ │ │ │ └── helper/ │ │ │ │ │ │ │ ├── DependencyGroup.java │ │ │ │ │ │ │ └── DependencyResolver.java │ │ │ │ │ │ ├── extension/ │ │ │ │ │ │ │ ├── AtlasExtension.java │ │ │ │ │ │ │ ├── BundleConfig.java │ │ │ │ │ │ │ ├── DefaultChannelConfig.java │ │ │ │ │ │ │ ├── DexConfig.java │ │ │ │ │ │ │ ├── EnhanceConfig.java │ │ │ │ │ │ │ ├── ManifestOptions.java │ │ │ │ │ │ │ ├── MultiDexConfig.java │ │ │ │ │ │ │ ├── PatchConfig.java │ │ │ │ │ │ │ ├── TBuildConfig.java │ │ │ │ │ │ │ ├── TBuildType.java │ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ │ ├── Config.java │ │ │ │ │ │ │ │ └── ConfigGroup.java │ │ │ │ │ │ │ └── factory/ │ │ │ │ │ │ │ ├── DefaultChannelConfigFactory.java │ │ │ │ │ │ │ ├── DexConfigFactory.java │ │ │ │ │ │ │ ├── EnhanceConfigFactory.java │ │ │ │ │ │ │ ├── MultiDexConfigFactory.java │ │ │ │ │ │ │ ├── PatchConfigFactory.java │ │ │ │ │ │ │ └── TBuildTypeFactory.java │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ ├── AppPluginHook.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasD8Creator.java │ │ │ │ │ │ │ ├── AtlasDexArchiveMerger.java │ │ │ │ │ │ │ ├── DexArchiveMergerHook.java │ │ │ │ │ │ │ ├── DexByteCodeConverterHook.java │ │ │ │ │ │ │ ├── DexWrapperHook.java │ │ │ │ │ │ │ ├── DirDexArchiveHook.java │ │ │ │ │ │ │ └── NonIncrementalJarDexArchiveHook.java │ │ │ │ │ │ ├── insant/ │ │ │ │ │ │ │ ├── DelegateProguardTransform.java │ │ │ │ │ │ │ ├── InstantInfo.java │ │ │ │ │ │ │ ├── TaobaoExtractJarsTransform.java │ │ │ │ │ │ │ ├── TaobaoInstantRunDependenciesApkBuilder.java │ │ │ │ │ │ │ ├── TaobaoInstantRunDex.java │ │ │ │ │ │ │ ├── TaobaoInstantRunSlicer.java │ │ │ │ │ │ │ ├── TaobaoInstantRunTransform.java │ │ │ │ │ │ │ ├── matcher/ │ │ │ │ │ │ │ │ ├── AllMatcher.java │ │ │ │ │ │ │ │ ├── ClassMatcher.java │ │ │ │ │ │ │ │ ├── ExcludeMatcher.java │ │ │ │ │ │ │ │ ├── Imatcher.java │ │ │ │ │ │ │ │ ├── ImplementsMatcher.java │ │ │ │ │ │ │ │ ├── MatcherCreator.java │ │ │ │ │ │ │ │ ├── NoMatcher.java │ │ │ │ │ │ │ │ ├── PackageMatcher.java │ │ │ │ │ │ │ │ ├── SeveralExcludeMatcher.java │ │ │ │ │ │ │ │ └── SubPackgeMatcher.java │ │ │ │ │ │ │ └── visitor/ │ │ │ │ │ │ │ ├── ModifyClassVisitor.java │ │ │ │ │ │ │ ├── ModifyFieldVisitor.java │ │ │ │ │ │ │ └── ModifyMethodVisitor.java │ │ │ │ │ │ ├── manager/ │ │ │ │ │ │ │ ├── AtlasAppTaskManager.java │ │ │ │ │ │ │ ├── AtlasBaseTaskManager.java │ │ │ │ │ │ │ ├── AtlasConfigurationHelper.java │ │ │ │ │ │ │ ├── AtlasFeatureTaskManager.java │ │ │ │ │ │ │ ├── AtlasLibTaskManager.java │ │ │ │ │ │ │ ├── PluginManager.java │ │ │ │ │ │ │ └── Version.java │ │ │ │ │ │ ├── tasks/ │ │ │ │ │ │ │ ├── PrepareAPTask.java │ │ │ │ │ │ │ ├── app/ │ │ │ │ │ │ │ │ ├── ApBuildTask.java │ │ │ │ │ │ │ │ ├── BuildAtlasEnvTask.java │ │ │ │ │ │ │ │ ├── GenerateAtlasSourceTask.java │ │ │ │ │ │ │ │ ├── LogDependenciesTask.java │ │ │ │ │ │ │ │ ├── ResourcePatch.java │ │ │ │ │ │ │ │ ├── ScanDupResTask.java │ │ │ │ │ │ │ │ ├── bundle/ │ │ │ │ │ │ │ │ │ ├── AtlasSymbolIo.java │ │ │ │ │ │ │ │ │ ├── AwbApkPackageTask.java │ │ │ │ │ │ │ │ │ ├── AwbJavaCompileConfigAction.java │ │ │ │ │ │ │ │ │ ├── AwbPackagingScope.java │ │ │ │ │ │ │ │ │ ├── Dex.java │ │ │ │ │ │ │ │ │ ├── JavacAwbsTask.java │ │ │ │ │ │ │ │ │ ├── PackageAwbsTask.java │ │ │ │ │ │ │ │ │ ├── ProcessAwbAndroidResources.java │ │ │ │ │ │ │ │ │ ├── ProcessResAwbsTask.java │ │ │ │ │ │ │ │ │ └── actions/ │ │ │ │ │ │ │ │ │ ├── FirstApkAction.java │ │ │ │ │ │ │ │ │ ├── LastApkAction.java │ │ │ │ │ │ │ │ │ └── LastBundleAction.java │ │ │ │ │ │ │ │ ├── databinding/ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingExportBuildInfoTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingMergeArtifactsTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutTask.java │ │ │ │ │ │ │ │ │ ├── AwbDataBindingRenameTask.java │ │ │ │ │ │ │ │ │ └── AwbXmlProcessor.java │ │ │ │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ │ │ │ ├── PostProcessManifestAction.java │ │ │ │ │ │ │ │ │ ├── PreProcessManifestAction.java │ │ │ │ │ │ │ │ │ └── StandardizeLibManifestTask.java │ │ │ │ │ │ │ │ ├── merge/ │ │ │ │ │ │ │ │ │ ├── AppendMainArtifactsCollection.java │ │ │ │ │ │ │ │ │ ├── MainArtifactsCollection.java │ │ │ │ │ │ │ │ │ ├── MainFilesCollection.java │ │ │ │ │ │ │ │ │ ├── MergeAssetAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeAwbsJniFolder.java │ │ │ │ │ │ │ │ │ ├── MergeManifestAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeResAwbsConfigAction.java │ │ │ │ │ │ │ │ │ ├── MergeResV4Dir.java │ │ │ │ │ │ │ │ │ ├── MergeSoLibTask.java │ │ │ │ │ │ │ │ │ └── bundle/ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutsTask.java │ │ │ │ │ │ │ │ │ ├── MergeAwbAssets.java │ │ │ │ │ │ │ │ │ └── MergeAwbResource.java │ │ │ │ │ │ │ │ └── prepare/ │ │ │ │ │ │ │ │ ├── AddLocalJarTask.java │ │ │ │ │ │ │ │ ├── BundleInfoSourceCreator.java │ │ │ │ │ │ │ │ ├── PrepareAaptTask.java │ │ │ │ │ │ │ │ ├── PrepareBundleInfoTask.java │ │ │ │ │ │ │ │ └── PreparePackageIdsTask.java │ │ │ │ │ │ │ ├── awo/ │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ └── AwoInstaller.java │ │ │ │ │ │ │ ├── execution/ │ │ │ │ │ │ │ │ └── SkipExecuter.java │ │ │ │ │ │ │ ├── feature/ │ │ │ │ │ │ │ │ ├── FeatureLibManifestTask.java │ │ │ │ │ │ │ │ └── PrePareFeatureTask.java │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ └── AtlasListTask.java │ │ │ │ │ │ │ ├── instantapp/ │ │ │ │ │ │ │ │ └── AtlasBundleInstantApp.java │ │ │ │ │ │ │ ├── library/ │ │ │ │ │ │ │ │ ├── AndroidComponetCreator.java │ │ │ │ │ │ │ │ ├── AwbGenerator.java │ │ │ │ │ │ │ │ ├── JarExtractTask.java │ │ │ │ │ │ │ │ ├── ModuleInfoWriter.java │ │ │ │ │ │ │ │ └── publish/ │ │ │ │ │ │ │ │ ├── PublishHooker.java │ │ │ │ │ │ │ │ └── UpdatePomTask.java │ │ │ │ │ │ │ ├── manager/ │ │ │ │ │ │ │ │ ├── AbstractBundleTask.java │ │ │ │ │ │ │ │ ├── MtlBaseTaskAction.java │ │ │ │ │ │ │ │ ├── MtlParallelTask.java │ │ │ │ │ │ │ │ ├── MtlTaskContext.java │ │ │ │ │ │ │ │ ├── MtlTaskFactory.java │ │ │ │ │ │ │ │ ├── MtlTaskFactoryImpl.java │ │ │ │ │ │ │ │ ├── MtlTaskInjector.java │ │ │ │ │ │ │ │ ├── TaskCreater.java │ │ │ │ │ │ │ │ ├── TaskQueryHelper.java │ │ │ │ │ │ │ │ └── transform/ │ │ │ │ │ │ │ │ ├── MtlInjectTransform.java │ │ │ │ │ │ │ │ ├── MtlTransformContext.java │ │ │ │ │ │ │ │ ├── MtlTransformInjector.java │ │ │ │ │ │ │ │ └── TransformManager.java │ │ │ │ │ │ │ ├── maven/ │ │ │ │ │ │ │ │ └── PublishToMavenRepositoryHook.java │ │ │ │ │ │ │ ├── tpatch/ │ │ │ │ │ │ │ │ ├── DiffBundleInfoTask.java │ │ │ │ │ │ │ │ ├── PackageTPatchConfigAction.java │ │ │ │ │ │ │ │ ├── TPatchDiffApkBuildTask.java │ │ │ │ │ │ │ │ ├── TPatchDiffResAPBuildTask.java │ │ │ │ │ │ │ │ └── TPatchTask.java │ │ │ │ │ │ │ └── transform/ │ │ │ │ │ │ │ ├── AtlasDataBindingMergeArtifactsTransform.java │ │ │ │ │ │ │ ├── AtlasDesugarTransform.java │ │ │ │ │ │ │ ├── AtlasFixStackFramesTransform.java │ │ │ │ │ │ │ ├── AtlasMergeJavaResourcesTransform.java │ │ │ │ │ │ │ ├── AtlasProguardTransform.java │ │ │ │ │ │ │ ├── AtlasTransformUtils.java │ │ │ │ │ │ │ ├── ClassInjectTransform.java │ │ │ │ │ │ │ ├── ResourcesShrinker.java │ │ │ │ │ │ │ ├── TransformReplacer.java │ │ │ │ │ │ │ └── dex/ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderCacheHander.java │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderTransform.java │ │ │ │ │ │ │ ├── AtlasDexMerger.java │ │ │ │ │ │ │ ├── AtlasDexMergerTransform.java │ │ │ │ │ │ │ ├── AtlasMainDexMerger.java │ │ │ │ │ │ │ ├── AtlasMultiDexListTransform.java │ │ │ │ │ │ │ ├── AwbDexsMerger.java │ │ │ │ │ │ │ └── DexMergeTransformCallable.java │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── BuildHelper.java │ │ │ │ │ │ ├── EnvHelper.java │ │ │ │ │ │ ├── FileNameUtils.java │ │ │ │ │ │ ├── JarUtils.java │ │ │ │ │ │ ├── MD5Util.java │ │ │ │ │ │ ├── OSUtils.java │ │ │ │ │ │ ├── PathUtil.java │ │ │ │ │ │ ├── PluginTypeUtils.java │ │ │ │ │ │ ├── Profiler.java │ │ │ │ │ │ ├── ReflectUtils.java │ │ │ │ │ │ ├── TransformInputUtils.java │ │ │ │ │ │ ├── VersionUtils.java │ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ │ ├── ClassNameRenamer.java │ │ │ │ │ │ │ ├── ClazzBasicHandler.java │ │ │ │ │ │ │ ├── ClazzReplacer.java │ │ │ │ │ │ │ ├── MethodReplacer.java │ │ │ │ │ │ │ ├── field/ │ │ │ │ │ │ │ │ ├── AsmFieldEditor.java │ │ │ │ │ │ │ │ ├── Field.java │ │ │ │ │ │ │ │ └── ModifyClassVisiter.java │ │ │ │ │ │ │ └── method/ │ │ │ │ │ │ │ ├── Method.java │ │ │ │ │ │ │ ├── MethodReplaceClazzVisitor.java │ │ │ │ │ │ │ ├── MethodReplaceMethodVisitor.java │ │ │ │ │ │ │ └── MethodStore.java │ │ │ │ │ │ ├── bundleinfo/ │ │ │ │ │ │ │ ├── ApkFileListUtils.java │ │ │ │ │ │ │ ├── BundleGraphExecutor.java │ │ │ │ │ │ │ ├── BundleInfoUtils.java │ │ │ │ │ │ │ ├── BundleItem.java │ │ │ │ │ │ │ ├── BundleItemRunner.java │ │ │ │ │ │ │ ├── DynamicBundleInfo.java │ │ │ │ │ │ │ └── model/ │ │ │ │ │ │ │ ├── BasicBundleInfo.java │ │ │ │ │ │ │ └── BundleInfo.java │ │ │ │ │ │ ├── cache/ │ │ │ │ │ │ │ ├── Cache.java │ │ │ │ │ │ │ ├── FileCacheCenter.java │ │ │ │ │ │ │ ├── FileCacheException.java │ │ │ │ │ │ │ ├── FileLockUtils.java │ │ │ │ │ │ │ ├── SimpleLocalCache.java │ │ │ │ │ │ │ └── SimpleNetworkCache.java │ │ │ │ │ │ ├── classinject/ │ │ │ │ │ │ │ ├── ApkInjectInfoCreator.java │ │ │ │ │ │ │ ├── ClazzInjecter.java │ │ │ │ │ │ │ ├── CodeInjectByJavassist.java │ │ │ │ │ │ │ ├── FrameworkProperties.java │ │ │ │ │ │ │ └── InjectParam.java │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ ├── CommandExecutor.java │ │ │ │ │ │ │ └── ExecutionException.java │ │ │ │ │ │ ├── concurrent/ │ │ │ │ │ │ │ └── ExecutorServicesHelper.java │ │ │ │ │ │ ├── diff/ │ │ │ │ │ │ │ └── DiffResExtractor.java │ │ │ │ │ │ ├── groovy/ │ │ │ │ │ │ │ └── ClosureFactory.java │ │ │ │ │ │ ├── guide/ │ │ │ │ │ │ │ ├── AtlasConfigField.java │ │ │ │ │ │ │ ├── AtlasConfigHelper.java │ │ │ │ │ │ │ └── AtlasExtensionOutput.java │ │ │ │ │ │ ├── ideaplugin/ │ │ │ │ │ │ │ ├── ApDownloader.java │ │ │ │ │ │ │ └── AwoPropHandler.java │ │ │ │ │ │ ├── jarmerge/ │ │ │ │ │ │ │ └── JarMergerWithOverride.java │ │ │ │ │ │ ├── log/ │ │ │ │ │ │ │ ├── FileLogger.java │ │ │ │ │ │ │ └── LogOutputListener.java │ │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ │ ├── AtlasProxy.java │ │ │ │ │ │ │ ├── ManifestFileUtils.java │ │ │ │ │ │ │ ├── ManifestHelper.java │ │ │ │ │ │ │ ├── ManifestInfo.java │ │ │ │ │ │ │ ├── Permission.java │ │ │ │ │ │ │ └── Result.java │ │ │ │ │ │ ├── multidex/ │ │ │ │ │ │ │ ├── FastMultiDexer.java │ │ │ │ │ │ │ ├── dex/ │ │ │ │ │ │ │ │ ├── DexGroup.java │ │ │ │ │ │ │ │ ├── DexMerger.java │ │ │ │ │ │ │ │ └── FileComparator.java │ │ │ │ │ │ │ └── mutli/ │ │ │ │ │ │ │ ├── JarRefactor.java │ │ │ │ │ │ │ ├── MainDexLister.java │ │ │ │ │ │ │ ├── MappingReaderProcess.java │ │ │ │ │ │ │ └── NameComparator.java │ │ │ │ │ │ ├── process/ │ │ │ │ │ │ │ └── ApkProcessor.java │ │ │ │ │ │ ├── proguard/ │ │ │ │ │ │ │ ├── AtlasProguardHelper.java │ │ │ │ │ │ │ ├── AwbProguardConfiguration.java │ │ │ │ │ │ │ ├── BundleProguarder.java │ │ │ │ │ │ │ ├── KeepOnlyConfigurationParser.java │ │ │ │ │ │ │ ├── ProGuardPercentPrinter.java │ │ │ │ │ │ │ ├── domain/ │ │ │ │ │ │ │ │ ├── Input.java │ │ │ │ │ │ │ │ └── Result.java │ │ │ │ │ │ │ └── dump/ │ │ │ │ │ │ │ ├── AbstractClasslVisitor.java │ │ │ │ │ │ │ ├── BundleProguardDumper.java │ │ │ │ │ │ │ ├── ClassDetailVisitor.java │ │ │ │ │ │ │ ├── ClassStructVisitor.java │ │ │ │ │ │ │ ├── ClazzRefInfo.java │ │ │ │ │ │ │ ├── ClazzRefInfoContainer.java │ │ │ │ │ │ │ ├── KeepConverter.java │ │ │ │ │ │ │ ├── VisitorDTO.java │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── ReflectUtils.java │ │ │ │ │ │ ├── sign/ │ │ │ │ │ │ │ ├── AndroidSigner.java │ │ │ │ │ │ │ ├── LocalSignHelper.java │ │ │ │ │ │ │ └── LocalSignedJarBuilder.java │ │ │ │ │ │ ├── solib/ │ │ │ │ │ │ │ ├── NativeSoFilter.java │ │ │ │ │ │ │ └── NativeSoUtils.java │ │ │ │ │ │ ├── xml/ │ │ │ │ │ │ │ └── XmlHelper.java │ │ │ │ │ │ ├── zip/ │ │ │ │ │ │ │ ├── BetterZip.java │ │ │ │ │ │ │ ├── FileMkUtils.java │ │ │ │ │ │ │ └── ZipUtils.java │ │ │ │ │ │ └── zipalign/ │ │ │ │ │ │ └── ZipAlignUtils.java │ │ │ │ │ └── proguard/ │ │ │ │ │ ├── AtlasProguardConstants.java │ │ │ │ │ └── io/ │ │ │ │ │ └── JarWriter.java │ │ │ │ └── resources/ │ │ │ │ └── META-INF/ │ │ │ │ └── gradle-plugins/ │ │ │ │ ├── com.taobao.atlas.application.properties │ │ │ │ ├── com.taobao.atlas.dexpatch.properties │ │ │ │ ├── com.taobao.atlas.feature.properties │ │ │ │ ├── com.taobao.atlas.instantapp.properties │ │ │ │ ├── com.taobao.atlas.library.properties │ │ │ │ └── com.taobao.atlas.properties │ │ │ └── test/ │ │ │ ├── java/ │ │ │ │ ├── com/ │ │ │ │ │ └── taobao/ │ │ │ │ │ ├── asm/ │ │ │ │ │ │ ├── AsmExample.java │ │ │ │ │ │ ├── AsmFieldTest.java │ │ │ │ │ │ ├── AsmTest.java │ │ │ │ │ │ └── Config.java │ │ │ │ │ └── atlas/ │ │ │ │ │ ├── bundle/ │ │ │ │ │ │ └── BundleDependenyTest.java │ │ │ │ │ ├── cache/ │ │ │ │ │ │ └── FileLockTest.java │ │ │ │ │ ├── dex/ │ │ │ │ │ │ └── FastDexMergeTest.java │ │ │ │ │ └── manifest/ │ │ │ │ │ ├── ManifestHelperTest.java │ │ │ │ │ └── ManifestTest.java │ │ │ │ └── proguard/ │ │ │ │ └── KeepOnlyConfigurationParserTest.java │ │ │ └── resources/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── AndroidManifest2.xml │ │ │ ├── bundleInfoList.json │ │ │ └── log4j.properties │ │ ├── test.sh │ │ └── todo.txt │ ├── build.gradle │ ├── dexpatch/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ ├── android/ │ │ │ │ └── content/ │ │ │ │ └── res/ │ │ │ │ ├── AXMLResource.java │ │ │ │ ├── IntReader.java │ │ │ │ └── chunk/ │ │ │ │ ├── AttributeType.java │ │ │ │ ├── ChunkType.java │ │ │ │ ├── ChunkUtil.java │ │ │ │ ├── PoolItem.java │ │ │ │ ├── sections/ │ │ │ │ │ ├── ChunkSection.java │ │ │ │ │ ├── GenericChunkSection.java │ │ │ │ │ ├── ResourceSection.java │ │ │ │ │ └── StringSection.java │ │ │ │ └── types/ │ │ │ │ ├── AXMLHeader.java │ │ │ │ ├── Attribute.java │ │ │ │ ├── Buffer.java │ │ │ │ ├── Chunk.java │ │ │ │ ├── EndTag.java │ │ │ │ ├── GenericChunk.java │ │ │ │ ├── NameSpace.java │ │ │ │ ├── StartTag.java │ │ │ │ └── TextTag.java │ │ │ └── com/ │ │ │ └── taobao/ │ │ │ ├── android/ │ │ │ │ ├── PatchManager.java │ │ │ │ ├── PatchType.java │ │ │ │ ├── apatch/ │ │ │ │ │ ├── AndFixFilterImpl.java │ │ │ │ │ ├── ApkPatch.java │ │ │ │ │ ├── Build.java │ │ │ │ │ ├── FastBuild.java │ │ │ │ │ ├── MergePatch.java │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ └── MethodReplaceAnnotation.java │ │ │ │ │ ├── builder/ │ │ │ │ │ │ ├── PatchBuilder.java │ │ │ │ │ │ └── SignedJarBuilder.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── Formater.java │ │ │ │ │ ├── HexUtil.java │ │ │ │ │ ├── MappingParser.java │ │ │ │ │ ├── SmaliDiffUtils.java │ │ │ │ │ └── TypeGenUtil.java │ │ │ │ ├── baksmali/ │ │ │ │ │ ├── Renderers/ │ │ │ │ │ │ ├── BooleanRenderer.java │ │ │ │ │ │ ├── ByteRenderer.java │ │ │ │ │ │ ├── CharRenderer.java │ │ │ │ │ │ ├── DoubleRenderer.java │ │ │ │ │ │ ├── FloatRenderer.java │ │ │ │ │ │ ├── IntegerRenderer.java │ │ │ │ │ │ ├── LongRenderer.java │ │ │ │ │ │ └── ShortRenderer.java │ │ │ │ │ ├── adaptors/ │ │ │ │ │ │ ├── AnnotationFormatter.java │ │ │ │ │ │ ├── BlankMethodItem.java │ │ │ │ │ │ ├── CatchMethodItem.java │ │ │ │ │ │ ├── ClassDefinition.java │ │ │ │ │ │ ├── CommentMethodItem.java │ │ │ │ │ │ ├── CommentedOutMethodItem.java │ │ │ │ │ │ ├── CommentingIndentingWriter.java │ │ │ │ │ │ ├── Debug/ │ │ │ │ │ │ │ ├── BeginEpilogueMethodItem.java │ │ │ │ │ │ │ ├── DebugMethodItem.java │ │ │ │ │ │ │ ├── EndLocalMethodItem.java │ │ │ │ │ │ │ ├── EndPrologueMethodItem.java │ │ │ │ │ │ │ ├── LineNumberMethodItem.java │ │ │ │ │ │ │ ├── LocalFormatter.java │ │ │ │ │ │ │ ├── RestartLocalMethodItem.java │ │ │ │ │ │ │ ├── SetSourceFileMethodItem.java │ │ │ │ │ │ │ └── StartLocalMethodItem.java │ │ │ │ │ │ ├── EncodedValue/ │ │ │ │ │ │ │ ├── AnnotationEncodedValueAdaptor.java │ │ │ │ │ │ │ ├── ArrayEncodedValueAdaptor.java │ │ │ │ │ │ │ └── EncodedValueAdaptor.java │ │ │ │ │ │ ├── EndTryLabelMethodItem.java │ │ │ │ │ │ ├── FieldDefinition.java │ │ │ │ │ │ ├── Format/ │ │ │ │ │ │ │ ├── ArrayDataMethodItem.java │ │ │ │ │ │ │ ├── InstructionMethodItem.java │ │ │ │ │ │ │ ├── InstructionMethodItemFactory.java │ │ │ │ │ │ │ ├── OffsetInstructionFormatMethodItem.java │ │ │ │ │ │ │ ├── PackedSwitchMethodItem.java │ │ │ │ │ │ │ ├── SparseSwitchMethodItem.java │ │ │ │ │ │ │ └── UnresolvedOdexInstructionMethodItem.java │ │ │ │ │ │ ├── LabelMethodItem.java │ │ │ │ │ │ ├── MethodDefinition.java │ │ │ │ │ │ ├── MethodItem.java │ │ │ │ │ │ ├── PostInstructionRegisterInfoMethodItem.java │ │ │ │ │ │ ├── PreInstructionRegisterInfoMethodItem.java │ │ │ │ │ │ ├── ReferenceFormatter.java │ │ │ │ │ │ ├── RegisterFormatter.java │ │ │ │ │ │ └── SyntheticAccessCommentMethodItem.java │ │ │ │ │ └── util/ │ │ │ │ │ └── ReferenceUtil.java │ │ │ │ ├── dex/ │ │ │ │ │ ├── Annotation.java │ │ │ │ │ ├── ClassData.java │ │ │ │ │ ├── ClassDef.java │ │ │ │ │ ├── Code.java │ │ │ │ │ ├── Dex.java │ │ │ │ │ ├── DexException.java │ │ │ │ │ ├── DexFormat.java │ │ │ │ │ ├── DexIndexOverflowException.java │ │ │ │ │ ├── EncodedValue.java │ │ │ │ │ ├── EncodedValueCodec.java │ │ │ │ │ ├── EncodedValueReader.java │ │ │ │ │ ├── FieldId.java │ │ │ │ │ ├── Leb128.java │ │ │ │ │ ├── MethodId.java │ │ │ │ │ ├── Mutf8.java │ │ │ │ │ ├── ProtoId.java │ │ │ │ │ ├── SizeOf.java │ │ │ │ │ ├── TableOfContents.java │ │ │ │ │ ├── TypeList.java │ │ │ │ │ └── util/ │ │ │ │ │ ├── ByteArrayByteInput.java │ │ │ │ │ ├── ByteInput.java │ │ │ │ │ ├── ByteOutput.java │ │ │ │ │ ├── ExceptionWithContext.java │ │ │ │ │ ├── FileUtils.java │ │ │ │ │ └── Unsigned.java │ │ │ │ ├── differ/ │ │ │ │ │ └── dex/ │ │ │ │ │ ├── ApkDiff.java │ │ │ │ │ ├── BundleDiffResult.java │ │ │ │ │ ├── DexDiffer.java │ │ │ │ │ └── PatchException.java │ │ │ │ ├── dx/ │ │ │ │ │ ├── Version.java │ │ │ │ │ ├── cf/ │ │ │ │ │ │ ├── attrib/ │ │ │ │ │ │ │ ├── AttAnnotationDefault.java │ │ │ │ │ │ │ ├── AttCode.java │ │ │ │ │ │ │ ├── AttConstantValue.java │ │ │ │ │ │ │ ├── AttDeprecated.java │ │ │ │ │ │ │ ├── AttEnclosingMethod.java │ │ │ │ │ │ │ ├── AttExceptions.java │ │ │ │ │ │ │ ├── AttInnerClasses.java │ │ │ │ │ │ │ ├── AttLineNumberTable.java │ │ │ │ │ │ │ ├── AttLocalVariableTable.java │ │ │ │ │ │ │ ├── AttLocalVariableTypeTable.java │ │ │ │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeVisibleAnnotations.java │ │ │ │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java │ │ │ │ │ │ │ ├── AttSignature.java │ │ │ │ │ │ │ ├── AttSourceFile.java │ │ │ │ │ │ │ ├── AttSynthetic.java │ │ │ │ │ │ │ ├── BaseAnnotations.java │ │ │ │ │ │ │ ├── BaseAttribute.java │ │ │ │ │ │ │ ├── BaseLocalVariables.java │ │ │ │ │ │ │ ├── BaseParameterAnnotations.java │ │ │ │ │ │ │ ├── InnerClassList.java │ │ │ │ │ │ │ ├── RawAttribute.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── BaseMachine.java │ │ │ │ │ │ │ ├── BasicBlocker.java │ │ │ │ │ │ │ ├── ByteBlock.java │ │ │ │ │ │ │ ├── ByteBlockList.java │ │ │ │ │ │ │ ├── ByteCatchList.java │ │ │ │ │ │ │ ├── ByteOps.java │ │ │ │ │ │ │ ├── BytecodeArray.java │ │ │ │ │ │ │ ├── ConcreteMethod.java │ │ │ │ │ │ │ ├── ExecutionStack.java │ │ │ │ │ │ │ ├── Frame.java │ │ │ │ │ │ │ ├── LineNumberList.java │ │ │ │ │ │ │ ├── LocalVariableList.java │ │ │ │ │ │ │ ├── LocalsArray.java │ │ │ │ │ │ │ ├── LocalsArraySet.java │ │ │ │ │ │ │ ├── Machine.java │ │ │ │ │ │ │ ├── Merger.java │ │ │ │ │ │ │ ├── OneLocalsArray.java │ │ │ │ │ │ │ ├── ReturnAddress.java │ │ │ │ │ │ │ ├── Ropper.java │ │ │ │ │ │ │ ├── RopperMachine.java │ │ │ │ │ │ │ ├── SimException.java │ │ │ │ │ │ │ ├── Simulator.java │ │ │ │ │ │ │ ├── SwitchList.java │ │ │ │ │ │ │ ├── ValueAwareMachine.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── cst/ │ │ │ │ │ │ │ ├── ConstantPoolParser.java │ │ │ │ │ │ │ └── ConstantTags.java │ │ │ │ │ │ ├── direct/ │ │ │ │ │ │ │ ├── AnnotationParser.java │ │ │ │ │ │ │ ├── AttributeFactory.java │ │ │ │ │ │ │ ├── AttributeListParser.java │ │ │ │ │ │ │ ├── ClassPathOpener.java │ │ │ │ │ │ │ ├── CodeObserver.java │ │ │ │ │ │ │ ├── DirectClassFile.java │ │ │ │ │ │ │ ├── FieldListParser.java │ │ │ │ │ │ │ ├── MemberListParser.java │ │ │ │ │ │ │ ├── MethodListParser.java │ │ │ │ │ │ │ ├── StdAttributeFactory.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ └── iface/ │ │ │ │ │ │ ├── Attribute.java │ │ │ │ │ │ ├── AttributeList.java │ │ │ │ │ │ ├── ClassFile.java │ │ │ │ │ │ ├── Field.java │ │ │ │ │ │ ├── FieldList.java │ │ │ │ │ │ ├── HasAttribute.java │ │ │ │ │ │ ├── Member.java │ │ │ │ │ │ ├── Method.java │ │ │ │ │ │ ├── MethodList.java │ │ │ │ │ │ ├── ParseException.java │ │ │ │ │ │ ├── ParseObserver.java │ │ │ │ │ │ ├── StdAttributeList.java │ │ │ │ │ │ ├── StdField.java │ │ │ │ │ │ ├── StdFieldList.java │ │ │ │ │ │ ├── StdMember.java │ │ │ │ │ │ ├── StdMethod.java │ │ │ │ │ │ ├── StdMethodList.java │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── command/ │ │ │ │ │ │ ├── DxConsole.java │ │ │ │ │ │ ├── Main.java │ │ │ │ │ │ ├── UsageException.java │ │ │ │ │ │ ├── annotool/ │ │ │ │ │ │ │ ├── AnnotationLister.java │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ ├── dexer/ │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ ├── dump/ │ │ │ │ │ │ │ ├── Args.java │ │ │ │ │ │ │ ├── BaseDumper.java │ │ │ │ │ │ │ ├── BlockDumper.java │ │ │ │ │ │ │ ├── ClassDumper.java │ │ │ │ │ │ │ ├── DotDumper.java │ │ │ │ │ │ │ ├── Main.java │ │ │ │ │ │ │ └── SsaDumper.java │ │ │ │ │ │ ├── findusages/ │ │ │ │ │ │ │ ├── FindUsages.java │ │ │ │ │ │ │ └── Main.java │ │ │ │ │ │ └── grep/ │ │ │ │ │ │ ├── Grep.java │ │ │ │ │ │ └── Main.java │ │ │ │ │ ├── dex/ │ │ │ │ │ │ ├── DexOptions.java │ │ │ │ │ │ ├── cf/ │ │ │ │ │ │ │ ├── AttributeTranslator.java │ │ │ │ │ │ │ ├── CfOptions.java │ │ │ │ │ │ │ ├── CfTranslator.java │ │ │ │ │ │ │ ├── CodeStatistics.java │ │ │ │ │ │ │ ├── OptimizerOptions.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── ArrayData.java │ │ │ │ │ │ │ ├── BlockAddresses.java │ │ │ │ │ │ │ ├── CatchBuilder.java │ │ │ │ │ │ │ ├── CatchHandlerList.java │ │ │ │ │ │ │ ├── CatchTable.java │ │ │ │ │ │ │ ├── CodeAddress.java │ │ │ │ │ │ │ ├── CstInsn.java │ │ │ │ │ │ │ ├── DalvCode.java │ │ │ │ │ │ │ ├── DalvInsn.java │ │ │ │ │ │ │ ├── DalvInsnList.java │ │ │ │ │ │ │ ├── Dop.java │ │ │ │ │ │ │ ├── Dops.java │ │ │ │ │ │ │ ├── FixedSizeInsn.java │ │ │ │ │ │ │ ├── HighRegisterPrefix.java │ │ │ │ │ │ │ ├── InsnFormat.java │ │ │ │ │ │ │ ├── LocalList.java │ │ │ │ │ │ │ ├── LocalSnapshot.java │ │ │ │ │ │ │ ├── LocalStart.java │ │ │ │ │ │ │ ├── OddSpacer.java │ │ │ │ │ │ │ ├── OutputCollector.java │ │ │ │ │ │ │ ├── OutputFinisher.java │ │ │ │ │ │ │ ├── PositionList.java │ │ │ │ │ │ │ ├── RopToDop.java │ │ │ │ │ │ │ ├── RopTranslator.java │ │ │ │ │ │ │ ├── SimpleInsn.java │ │ │ │ │ │ │ ├── StdCatchBuilder.java │ │ │ │ │ │ │ ├── SwitchData.java │ │ │ │ │ │ │ ├── TargetInsn.java │ │ │ │ │ │ │ ├── VariableSizeInsn.java │ │ │ │ │ │ │ ├── ZeroSizeInsn.java │ │ │ │ │ │ │ └── form/ │ │ │ │ │ │ │ ├── Form10t.java │ │ │ │ │ │ │ ├── Form10x.java │ │ │ │ │ │ │ ├── Form11n.java │ │ │ │ │ │ │ ├── Form11x.java │ │ │ │ │ │ │ ├── Form12x.java │ │ │ │ │ │ │ ├── Form20t.java │ │ │ │ │ │ │ ├── Form21c.java │ │ │ │ │ │ │ ├── Form21h.java │ │ │ │ │ │ │ ├── Form21s.java │ │ │ │ │ │ │ ├── Form21t.java │ │ │ │ │ │ │ ├── Form22b.java │ │ │ │ │ │ │ ├── Form22c.java │ │ │ │ │ │ │ ├── Form22s.java │ │ │ │ │ │ │ ├── Form22t.java │ │ │ │ │ │ │ ├── Form22x.java │ │ │ │ │ │ │ ├── Form23x.java │ │ │ │ │ │ │ ├── Form30t.java │ │ │ │ │ │ │ ├── Form31c.java │ │ │ │ │ │ │ ├── Form31i.java │ │ │ │ │ │ │ ├── Form31t.java │ │ │ │ │ │ │ ├── Form32x.java │ │ │ │ │ │ │ ├── Form35c.java │ │ │ │ │ │ │ ├── Form3rc.java │ │ │ │ │ │ │ ├── Form51l.java │ │ │ │ │ │ │ └── SpecialFormat.java │ │ │ │ │ │ └── file/ │ │ │ │ │ │ ├── AnnotationItem.java │ │ │ │ │ │ ├── AnnotationSetItem.java │ │ │ │ │ │ ├── AnnotationSetRefItem.java │ │ │ │ │ │ ├── AnnotationUtils.java │ │ │ │ │ │ ├── AnnotationsDirectoryItem.java │ │ │ │ │ │ ├── CatchStructs.java │ │ │ │ │ │ ├── ClassDataItem.java │ │ │ │ │ │ ├── ClassDefItem.java │ │ │ │ │ │ ├── ClassDefsSection.java │ │ │ │ │ │ ├── CodeItem.java │ │ │ │ │ │ ├── DebugInfoConstants.java │ │ │ │ │ │ ├── DebugInfoDecoder.java │ │ │ │ │ │ ├── DebugInfoEncoder.java │ │ │ │ │ │ ├── DebugInfoItem.java │ │ │ │ │ │ ├── DexFile.java │ │ │ │ │ │ ├── EncodedArrayItem.java │ │ │ │ │ │ ├── EncodedField.java │ │ │ │ │ │ ├── EncodedMember.java │ │ │ │ │ │ ├── EncodedMethod.java │ │ │ │ │ │ ├── FieldAnnotationStruct.java │ │ │ │ │ │ ├── FieldIdItem.java │ │ │ │ │ │ ├── FieldIdsSection.java │ │ │ │ │ │ ├── HeaderItem.java │ │ │ │ │ │ ├── HeaderSection.java │ │ │ │ │ │ ├── IdItem.java │ │ │ │ │ │ ├── IndexedItem.java │ │ │ │ │ │ ├── Item.java │ │ │ │ │ │ ├── ItemType.java │ │ │ │ │ │ ├── MapItem.java │ │ │ │ │ │ ├── MemberIdItem.java │ │ │ │ │ │ ├── MemberIdsSection.java │ │ │ │ │ │ ├── MethodAnnotationStruct.java │ │ │ │ │ │ ├── MethodIdItem.java │ │ │ │ │ │ ├── MethodIdsSection.java │ │ │ │ │ │ ├── MixedItemSection.java │ │ │ │ │ │ ├── OffsettedItem.java │ │ │ │ │ │ ├── ParameterAnnotationStruct.java │ │ │ │ │ │ ├── ProtoIdItem.java │ │ │ │ │ │ ├── ProtoIdsSection.java │ │ │ │ │ │ ├── Section.java │ │ │ │ │ │ ├── Statistics.java │ │ │ │ │ │ ├── StringDataItem.java │ │ │ │ │ │ ├── StringIdItem.java │ │ │ │ │ │ ├── StringIdsSection.java │ │ │ │ │ │ ├── TypeIdItem.java │ │ │ │ │ │ ├── TypeIdsSection.java │ │ │ │ │ │ ├── TypeListItem.java │ │ │ │ │ │ ├── UniformItemSection.java │ │ │ │ │ │ ├── UniformListItem.java │ │ │ │ │ │ └── ValueEncoder.java │ │ │ │ │ ├── io/ │ │ │ │ │ │ ├── CodeReader.java │ │ │ │ │ │ ├── DexIndexPrinter.java │ │ │ │ │ │ ├── IndexType.java │ │ │ │ │ │ ├── OpcodeInfo.java │ │ │ │ │ │ ├── Opcodes.java │ │ │ │ │ │ └── instructions/ │ │ │ │ │ │ ├── AddressMap.java │ │ │ │ │ │ ├── BaseCodeCursor.java │ │ │ │ │ │ ├── CodeCursor.java │ │ │ │ │ │ ├── CodeInput.java │ │ │ │ │ │ ├── CodeOutput.java │ │ │ │ │ │ ├── DecodedInstruction.java │ │ │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java │ │ │ │ │ │ ├── FiveRegisterDecodedInstruction.java │ │ │ │ │ │ ├── FourRegisterDecodedInstruction.java │ │ │ │ │ │ ├── InstructionCodec.java │ │ │ │ │ │ ├── OneRegisterDecodedInstruction.java │ │ │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java │ │ │ │ │ │ ├── RegisterRangeDecodedInstruction.java │ │ │ │ │ │ ├── ShortArrayCodeInput.java │ │ │ │ │ │ ├── ShortArrayCodeOutput.java │ │ │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java │ │ │ │ │ │ ├── ThreeRegisterDecodedInstruction.java │ │ │ │ │ │ ├── TwoRegisterDecodedInstruction.java │ │ │ │ │ │ └── ZeroRegisterDecodedInstruction.java │ │ │ │ │ ├── merge/ │ │ │ │ │ │ ├── CollisionPolicy.java │ │ │ │ │ │ ├── DexMerger.java │ │ │ │ │ │ ├── IndexMap.java │ │ │ │ │ │ ├── InstructionTransformer.java │ │ │ │ │ │ └── SortableType.java │ │ │ │ │ ├── rop/ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ ├── Annotation.java │ │ │ │ │ │ │ ├── AnnotationVisibility.java │ │ │ │ │ │ │ ├── Annotations.java │ │ │ │ │ │ │ ├── AnnotationsList.java │ │ │ │ │ │ │ └── NameValuePair.java │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── AccessFlags.java │ │ │ │ │ │ │ ├── BasicBlock.java │ │ │ │ │ │ │ ├── BasicBlockList.java │ │ │ │ │ │ │ ├── ConservativeTranslationAdvice.java │ │ │ │ │ │ │ ├── CstInsn.java │ │ │ │ │ │ │ ├── DexTranslationAdvice.java │ │ │ │ │ │ │ ├── Exceptions.java │ │ │ │ │ │ │ ├── FillArrayDataInsn.java │ │ │ │ │ │ │ ├── Insn.java │ │ │ │ │ │ │ ├── InsnList.java │ │ │ │ │ │ │ ├── LocalItem.java │ │ │ │ │ │ │ ├── LocalVariableExtractor.java │ │ │ │ │ │ │ ├── LocalVariableInfo.java │ │ │ │ │ │ │ ├── PlainCstInsn.java │ │ │ │ │ │ │ ├── PlainInsn.java │ │ │ │ │ │ │ ├── RegOps.java │ │ │ │ │ │ │ ├── RegisterSpec.java │ │ │ │ │ │ │ ├── RegisterSpecList.java │ │ │ │ │ │ │ ├── RegisterSpecSet.java │ │ │ │ │ │ │ ├── Rop.java │ │ │ │ │ │ │ ├── RopMethod.java │ │ │ │ │ │ │ ├── Rops.java │ │ │ │ │ │ │ ├── SourcePosition.java │ │ │ │ │ │ │ ├── SwitchInsn.java │ │ │ │ │ │ │ ├── ThrowingCstInsn.java │ │ │ │ │ │ │ ├── ThrowingInsn.java │ │ │ │ │ │ │ ├── TranslationAdvice.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── cst/ │ │ │ │ │ │ │ ├── Constant.java │ │ │ │ │ │ │ ├── ConstantPool.java │ │ │ │ │ │ │ ├── CstAnnotation.java │ │ │ │ │ │ │ ├── CstArray.java │ │ │ │ │ │ │ ├── CstBaseMethodRef.java │ │ │ │ │ │ │ ├── CstBoolean.java │ │ │ │ │ │ │ ├── CstByte.java │ │ │ │ │ │ │ ├── CstChar.java │ │ │ │ │ │ │ ├── CstDouble.java │ │ │ │ │ │ │ ├── CstEnumRef.java │ │ │ │ │ │ │ ├── CstFieldRef.java │ │ │ │ │ │ │ ├── CstFloat.java │ │ │ │ │ │ │ ├── CstInteger.java │ │ │ │ │ │ │ ├── CstInterfaceMethodRef.java │ │ │ │ │ │ │ ├── CstKnownNull.java │ │ │ │ │ │ │ ├── CstLiteral32.java │ │ │ │ │ │ │ ├── CstLiteral64.java │ │ │ │ │ │ │ ├── CstLiteralBits.java │ │ │ │ │ │ │ ├── CstLong.java │ │ │ │ │ │ │ ├── CstMemberRef.java │ │ │ │ │ │ │ ├── CstMethodRef.java │ │ │ │ │ │ │ ├── CstNat.java │ │ │ │ │ │ │ ├── CstShort.java │ │ │ │ │ │ │ ├── CstString.java │ │ │ │ │ │ │ ├── CstType.java │ │ │ │ │ │ │ ├── StdConstantPool.java │ │ │ │ │ │ │ ├── TypedConstant.java │ │ │ │ │ │ │ ├── Zeroes.java │ │ │ │ │ │ │ └── package.html │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── type/ │ │ │ │ │ │ ├── Prototype.java │ │ │ │ │ │ ├── StdTypeList.java │ │ │ │ │ │ ├── Type.java │ │ │ │ │ │ ├── TypeBearer.java │ │ │ │ │ │ ├── TypeList.java │ │ │ │ │ │ └── package.html │ │ │ │ │ ├── ssa/ │ │ │ │ │ │ ├── BasicRegisterMapper.java │ │ │ │ │ │ ├── ConstCollector.java │ │ │ │ │ │ ├── DeadCodeRemover.java │ │ │ │ │ │ ├── DomFront.java │ │ │ │ │ │ ├── Dominators.java │ │ │ │ │ │ ├── EscapeAnalysis.java │ │ │ │ │ │ ├── InterferenceRegisterMapper.java │ │ │ │ │ │ ├── LiteralOpUpgrader.java │ │ │ │ │ │ ├── LocalVariableExtractor.java │ │ │ │ │ │ ├── LocalVariableInfo.java │ │ │ │ │ │ ├── MoveParamCombiner.java │ │ │ │ │ │ ├── NormalSsaInsn.java │ │ │ │ │ │ ├── Optimizer.java │ │ │ │ │ │ ├── PhiInsn.java │ │ │ │ │ │ ├── PhiTypeResolver.java │ │ │ │ │ │ ├── RegisterMapper.java │ │ │ │ │ │ ├── SCCP.java │ │ │ │ │ │ ├── SetFactory.java │ │ │ │ │ │ ├── SsaBasicBlock.java │ │ │ │ │ │ ├── SsaConverter.java │ │ │ │ │ │ ├── SsaInsn.java │ │ │ │ │ │ ├── SsaMethod.java │ │ │ │ │ │ ├── SsaRenamer.java │ │ │ │ │ │ ├── back/ │ │ │ │ │ │ │ ├── FirstFitAllocator.java │ │ │ │ │ │ │ ├── FirstFitLocalCombiningAllocator.java │ │ │ │ │ │ │ ├── IdenticalBlockCombiner.java │ │ │ │ │ │ │ ├── InterferenceGraph.java │ │ │ │ │ │ │ ├── LivenessAnalyzer.java │ │ │ │ │ │ │ ├── NullRegisterAllocator.java │ │ │ │ │ │ │ ├── RegisterAllocator.java │ │ │ │ │ │ │ └── SsaToRop.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ └── util/ │ │ │ │ │ ├── AnnotatedOutput.java │ │ │ │ │ ├── BitIntSet.java │ │ │ │ │ ├── Bits.java │ │ │ │ │ ├── ByteArray.java │ │ │ │ │ ├── ByteArrayAnnotatedOutput.java │ │ │ │ │ ├── FixedSizeList.java │ │ │ │ │ ├── Hex.java │ │ │ │ │ ├── HexParser.java │ │ │ │ │ ├── IndentingWriter.java │ │ │ │ │ ├── IntIterator.java │ │ │ │ │ ├── IntList.java │ │ │ │ │ ├── IntSet.java │ │ │ │ │ ├── LabeledItem.java │ │ │ │ │ ├── LabeledList.java │ │ │ │ │ ├── ListIntSet.java │ │ │ │ │ ├── MutabilityControl.java │ │ │ │ │ ├── MutabilityException.java │ │ │ │ │ ├── Output.java │ │ │ │ │ ├── ToHuman.java │ │ │ │ │ ├── TwoColumnOutput.java │ │ │ │ │ ├── Warning.java │ │ │ │ │ ├── Writers.java │ │ │ │ │ └── package.html │ │ │ │ ├── filter/ │ │ │ │ │ ├── AbstractDexFilter.java │ │ │ │ │ ├── DexDiffFilter.java │ │ │ │ │ └── Filter.java │ │ │ │ ├── inputs/ │ │ │ │ │ ├── ApatchInput.java │ │ │ │ │ ├── BaseInput.java │ │ │ │ │ ├── DexPatchInput.java │ │ │ │ │ ├── HotPatchInput.java │ │ │ │ │ └── TpatchInput.java │ │ │ │ ├── multidex/ │ │ │ │ │ ├── ArchivePathElement.java │ │ │ │ │ ├── ClassPathElement.java │ │ │ │ │ ├── ClassReferenceListBuilder.java │ │ │ │ │ ├── FolderPathElement.java │ │ │ │ │ ├── MainDexListBuilder.java │ │ │ │ │ └── Path.java │ │ │ │ ├── object/ │ │ │ │ │ ├── ApkFileList.java │ │ │ │ │ ├── ArtifactBundleInfo.java │ │ │ │ │ ├── BuildPatchInfos.java │ │ │ │ │ ├── ClassDiffInfo.java │ │ │ │ │ ├── DexDiffInfo.java │ │ │ │ │ ├── DiffType.java │ │ │ │ │ ├── FieldDiffInfo.java │ │ │ │ │ ├── FieldObject.java │ │ │ │ │ ├── MethodDiffInfo.java │ │ │ │ │ ├── MethodDiffInfoObject.java │ │ │ │ │ ├── MethodObject.java │ │ │ │ │ ├── PatchBundleInfo.java │ │ │ │ │ ├── PatchInfo.java │ │ │ │ │ └── SoFileDef.java │ │ │ │ ├── outputs/ │ │ │ │ │ ├── APatchFile.java │ │ │ │ │ ├── DexPatchFile.java │ │ │ │ │ ├── PatchFile.java │ │ │ │ │ └── TpatchFile.java │ │ │ │ ├── reader/ │ │ │ │ │ ├── AtlasFrameworkPropertiesReader.java │ │ │ │ │ ├── BundleListing.java │ │ │ │ │ ├── BundleListingUtil.java │ │ │ │ │ ├── ClassReader.java │ │ │ │ │ ├── DexReader.java │ │ │ │ │ ├── FieldReader.java │ │ │ │ │ ├── MethodReader.java │ │ │ │ │ └── Reader.java │ │ │ │ ├── repatch/ │ │ │ │ │ ├── AbIClassDef.java │ │ │ │ │ ├── ClassReIClassDef.java │ │ │ │ │ ├── FastPatchObject.java │ │ │ │ │ ├── IClassDef.java │ │ │ │ │ ├── InsTructionsReIClassDef.java │ │ │ │ │ ├── MethodImplReIClassDef.java │ │ │ │ │ ├── MethodReIClassDef.java │ │ │ │ │ ├── Utils/ │ │ │ │ │ │ └── DefineUtils.java │ │ │ │ │ ├── mapping/ │ │ │ │ │ │ ├── MappingProcessor.java │ │ │ │ │ │ ├── MappingProcessorImpl.java │ │ │ │ │ │ └── MappingReader.java │ │ │ │ │ └── processor/ │ │ │ │ │ ├── ClassProcessor.java │ │ │ │ │ └── MappingClassProcessor.java │ │ │ │ ├── smali/ │ │ │ │ │ ├── AfBakSmali.java │ │ │ │ │ ├── BakSmali.java │ │ │ │ │ └── SmaliMod.java │ │ │ │ ├── task/ │ │ │ │ │ └── ExecutorServicesHelper.java │ │ │ │ ├── tools/ │ │ │ │ │ ├── APatchTool.java │ │ │ │ │ ├── AbstractTool.java │ │ │ │ │ ├── DexObfuscatedTool.java │ │ │ │ │ ├── DexPatchDexTool.java │ │ │ │ │ ├── DexPatchTool.java │ │ │ │ │ ├── FastPatchTool.java │ │ │ │ │ ├── HotDexPatchDexTool.java │ │ │ │ │ ├── HotPatchTool.java │ │ │ │ │ ├── PatchDexTool.java │ │ │ │ │ ├── PatchFieldTool.java │ │ │ │ │ ├── PatchMethodTool.java │ │ │ │ │ ├── TPatchTool.java │ │ │ │ │ └── TpatchDexTool.java │ │ │ │ ├── tpatch/ │ │ │ │ │ ├── builder/ │ │ │ │ │ │ └── PatchFileBuilder.java │ │ │ │ │ ├── manifest/ │ │ │ │ │ │ ├── AXMLPrint.java │ │ │ │ │ │ ├── AndroidManifestDiffFactory.java │ │ │ │ │ │ └── Manifest.java │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── ApkBO.java │ │ │ │ │ │ ├── BundleBO.java │ │ │ │ │ │ └── PatchFile.java │ │ │ │ │ └── utils/ │ │ │ │ │ ├── DexBuilderUtils.java │ │ │ │ │ ├── FileLock.java │ │ │ │ │ ├── HttpClientUtils.java │ │ │ │ │ ├── JarSplitUtils.java │ │ │ │ │ ├── MD5Util.java │ │ │ │ │ ├── PatchUtils.java │ │ │ │ │ ├── PathUtils.java │ │ │ │ │ └── SmaliUtils.java │ │ │ │ ├── transform/ │ │ │ │ │ └── DexTransform.java │ │ │ │ └── utils/ │ │ │ │ ├── CommandUtils.java │ │ │ │ ├── DexCompareUtils.java │ │ │ │ ├── PathMatcher.java │ │ │ │ ├── Profiler.java │ │ │ │ ├── SmaliCodeUtils.java │ │ │ │ ├── SoDiffUtils.java │ │ │ │ ├── SystemUtils.java │ │ │ │ └── ZipUtils.java │ │ │ ├── checker/ │ │ │ │ ├── Checker.java │ │ │ │ └── PatchChecker.java │ │ │ ├── update/ │ │ │ │ └── UpdateInfo.java │ │ │ └── utils/ │ │ │ └── SparseIntArray.java │ │ └── resources/ │ │ ├── linux/ │ │ │ ├── bsdiff │ │ │ └── bspatch │ │ └── mac/ │ │ ├── bsdiff │ │ └── bspatch │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── publish_bintray.gradle │ ├── publish_mvn.gradle │ └── settings.gradle └── atlas-update/ ├── README.md ├── README.zh-cn.md ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── settings.gradle └── src/ └── main/ ├── AndroidManifest.xml └── java/ └── com/ └── taobao/ ├── MainThreadDisposable.java ├── atlas/ │ ├── dex/ │ │ ├── Annotation.java │ │ ├── ClassData.java │ │ ├── ClassDef.java │ │ ├── Code.java │ │ ├── Dex.java │ │ ├── DexException2.java │ │ ├── DexFormat.java │ │ ├── DexIndexOverflowException.java │ │ ├── EncodedValue.java │ │ ├── EncodedValueCodec.java │ │ ├── EncodedValueReader.java │ │ ├── FieldId.java │ │ ├── Leb128.java │ │ ├── MethodId.java │ │ ├── Mutf8.java │ │ ├── ProtoId.java │ │ ├── SizeOf.java │ │ ├── TableOfContents.java │ │ ├── TypeList.java │ │ └── util/ │ │ ├── AnnotatedOutput.java │ │ ├── ByteArrayByteInput.java │ │ ├── ByteInput.java │ │ ├── ByteOutput.java │ │ ├── ExceptionWithContext.java │ │ ├── FileUtils.java │ │ ├── Iterators.java │ │ ├── NaturalOrdering.java │ │ ├── PeekingIterator.java │ │ └── Unsigned.java │ ├── dexmerge/ │ │ ├── DexMergeClient.java │ │ ├── DexMergeService.java │ │ ├── IDexMergeBinder.java │ │ ├── IDexMergeCallback.java │ │ ├── MergeCallback.java │ │ ├── MergeConstants.java │ │ ├── MergeException.java │ │ ├── MergeExcutorServices.java │ │ ├── MergeObject.java │ │ ├── MergeTool.java │ │ ├── PatchVersionReceiver.java │ │ └── dx/ │ │ ├── io/ │ │ │ ├── CodeReader.java │ │ │ ├── DexIndexPrinter.java │ │ │ ├── IndexType.java │ │ │ ├── OpcodeInfo.java │ │ │ ├── Opcodes.java │ │ │ └── instructions/ │ │ │ ├── AddressMap.java │ │ │ ├── BaseCodeCursor.java │ │ │ ├── CodeCursor.java │ │ │ ├── CodeInput.java │ │ │ ├── CodeOutput.java │ │ │ ├── DecodedInstruction.java │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java │ │ │ ├── FiveRegisterDecodedInstruction.java │ │ │ ├── FourRegisterDecodedInstruction.java │ │ │ ├── InstructionCodec.java │ │ │ ├── OneRegisterDecodedInstruction.java │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java │ │ │ ├── RegisterRangeDecodedInstruction.java │ │ │ ├── ShortArrayCodeInput.java │ │ │ ├── ShortArrayCodeOutput.java │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java │ │ │ ├── ThreeRegisterDecodedInstruction.java │ │ │ ├── TwoRegisterDecodedInstruction.java │ │ │ └── ZeroRegisterDecodedInstruction.java │ │ ├── merge/ │ │ │ ├── CollisionPolicy.java │ │ │ ├── DexMerger.java │ │ │ ├── DexSectionItem.java │ │ │ ├── DexTransform.java │ │ │ ├── IndexMap.java │ │ │ ├── InstructionTransformer.java │ │ │ └── SortableType.java │ │ └── util/ │ │ ├── AnnotatedOutput.java │ │ ├── BitIntSet.java │ │ ├── Bits.java │ │ ├── ByteArray.java │ │ ├── ByteArrayAnnotatedOutput.java │ │ ├── FixedSizeList.java │ │ ├── Hex.java │ │ ├── HexParser.java │ │ ├── IndentingWriter.java │ │ ├── IntIterator.java │ │ ├── IntList.java │ │ ├── IntSet.java │ │ ├── LabeledItem.java │ │ ├── LabeledList.java │ │ ├── ListIntSet.java │ │ ├── MutabilityControl.java │ │ ├── MutabilityException.java │ │ ├── Output.java │ │ ├── ToHuman.java │ │ ├── TwoColumnOutput.java │ │ ├── Warning.java │ │ └── Writers.java │ └── update/ │ ├── AtlasUpdater.java │ ├── AwoPatchReceiver.java │ ├── DexPatchUpdater.java │ ├── UpdateBundleDivider.java │ ├── exception/ │ │ └── MergeException.java │ ├── model/ │ │ └── UpdateInfo.java │ └── util/ │ ├── PatchCleaner.java │ ├── PatchInstaller.java │ ├── PatchMerger.java │ └── ZipUtils.java ├── plugins/ │ └── RxAndroidPlugins.java ├── schedulers/ │ ├── AndroidSchedulers.java │ └── HandlerScheduler.java └── utils/ └── SparseIntArray.java