Upgrade to 20210324.2

Change-Id: Ibd4f4563ef7e38c7b3b41b4ce8e2192bbb79188e
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..05de691
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,198 @@
+package {
+    default_applicable_licenses: ["external_abseil-cpp_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+// See: http://go/android-license-faq
+license {
+    name: "external_abseil-cpp_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "LICENSE",
+    ],
+}
+
+cc_library_headers {
+    name: "libabsl_headers",
+    device_supported: false,
+    host_supported: true,
+    export_include_dirs: ["."],
+}
+
+cc_library_host_static {
+    name: "libabsl_base",
+    srcs: [
+        "absl/base/internal/cycleclock.cc",
+        "absl/base/internal/exponential_biased.cc",
+        "absl/base/internal/low_level_alloc.cc",
+        "absl/base/internal/periodic_sampler.cc",
+        "absl/base/internal/raw_logging.cc",
+        "absl/base/internal/spinlock.cc",
+        "absl/base/internal/spinlock_wait.cc",
+        "absl/base/internal/strerror.cc",
+        "absl/base/internal/sysinfo.cc",
+        "absl/base/internal/thread_identity.cc",
+        "absl/base/internal/throw_delegate.cc",
+        "absl/base/internal/unscaledcycleclock.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_container",
+    srcs: [
+        "absl/container/internal/test_instance_tracker.cc",
+        "absl/container/internal/hash_generator_testing.cc",
+        "absl/container/internal/hashtablez_sampler.cc",
+        "absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
+        "absl/container/internal/raw_hash_set.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_debugging",
+    srcs: [
+        "absl/debugging/failure_signal_handler.cc",
+        "absl/debugging/internal/address_is_readable.cc",
+        "absl/debugging/internal/demangle.cc",
+        "absl/debugging/internal/elf_mem_image.cc",
+        "absl/debugging/internal/examine_stack.cc",
+        "absl/debugging/internal/stack_consumption.cc",
+        "absl/debugging/internal/vdso_support.cc",
+        "absl/debugging/leak_check.cc",
+        "absl/debugging/stacktrace.cc",
+        "absl/debugging/symbolize.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_flags",
+    srcs: [
+        "absl/flags/commandlineflag.cc",
+        "absl/flags/usage_config.cc",
+        "absl/flags/marshalling.cc",
+        "absl/flags/usage.cc",
+        "absl/flags/flag.cc",
+        "absl/flags/parse.cc",
+        "absl/flags/internal/commandlineflag.cc",
+        "absl/flags/internal/flag.cc",
+        "absl/flags/internal/private_handle_accessor.cc",
+        "absl/flags/internal/program_name.cc",
+        "absl/flags/internal/usage.cc",
+        "absl/flags/flag_test_defs.cc",
+        "absl/flags/reflection.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_hash",
+    srcs: [
+        "absl/hash/internal/city.cc",
+        "absl/hash/internal/hash.cc",
+        "absl/hash/internal/wyhash.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_numeric",
+    srcs: ["absl/numeric/int128.cc"],
+}
+
+cc_library_host_static {
+    name: "libabsl_status",
+    srcs: [
+        "absl/status/status.cc",
+        "absl/status/status_payload_printer.cc",
+        "absl/status/statusor.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_strings",
+    srcs: [
+        "absl/strings/ascii.cc",
+        "absl/strings/charconv.cc",
+        "absl/strings/cord.cc",
+        "absl/strings/escaping.cc",
+        "absl/strings/internal/charconv_bigint.cc",
+        "absl/strings/internal/charconv_parse.cc",
+        "absl/strings/internal/cord_internal.cc",
+        "absl/strings/internal/cord_rep_ring.cc",
+        "absl/strings/internal/escaping.cc",
+        "absl/strings/internal/memutil.cc",
+        "absl/strings/internal/ostringstream.cc",
+        "absl/strings/internal/str_format/arg.cc",
+        "absl/strings/internal/str_format/bind.cc",
+        "absl/strings/internal/str_format/extension.cc",
+        "absl/strings/internal/str_format/float_conversion.cc",
+        "absl/strings/internal/str_format/output.cc",
+        "absl/strings/internal/str_format/parser.cc",
+        "absl/strings/internal/utf8.cc",
+        "absl/strings/match.cc",
+        "absl/strings/numbers.cc",
+        "absl/strings/str_cat.cc",
+        "absl/strings/str_replace.cc",
+        "absl/strings/str_split.cc",
+        "absl/strings/string_view.cc",
+        "absl/strings/substitute.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_synchronization",
+    srcs: [
+        "absl/synchronization/barrier.cc",
+        "absl/synchronization/blocking_counter.cc",
+        "absl/synchronization/internal/create_thread_identity.cc",
+        "absl/synchronization/internal/per_thread_sem.cc",
+        "absl/synchronization/internal/waiter.cc",
+        "absl/synchronization/internal/graphcycles.cc",
+        "absl/synchronization/notification.cc",
+        "absl/synchronization/mutex.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_time",
+    srcs: [
+        "absl/time/civil_time.cc",
+        "absl/time/clock.cc",
+        "absl/time/duration.cc",
+        "absl/time/format.cc",
+        "absl/time/internal/cctz/src/civil_time_detail.cc",
+        "absl/time/internal/cctz/src/time_zone_fixed.cc",
+        "absl/time/internal/cctz/src/time_zone_format.cc",
+        "absl/time/internal/cctz/src/time_zone_if.cc",
+        "absl/time/internal/cctz/src/time_zone_impl.cc",
+        "absl/time/internal/cctz/src/time_zone_info.cc",
+        "absl/time/internal/cctz/src/time_zone_libc.cc",
+        "absl/time/internal/cctz/src/time_zone_lookup.cc",
+        "absl/time/internal/cctz/src/time_zone_posix.cc",
+        "absl/time/internal/cctz/src/zone_info_source.cc",
+        "absl/time/time.cc",
+    ],
+}
+
+cc_library_host_static {
+    name: "libabsl_types",
+    srcs: [
+        "absl/types/bad_any_cast.cc",
+        "absl/types/bad_optional_access.cc",
+        "absl/types/bad_variant_access.cc",
+    ],
+}
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..23f8fb2
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,18 @@
+name: "extern/abseil-cpp"
+description:
+    "An open-source collection of C++ code designed to augment the C++ standard "
+    "library"
+
+third_party {
+  url {
+    type: HOMEPAGE
+    value: "https://abseil.io"
+  }
+  url {
+    type: GIT
+    value: "https://github.com/abseil/abseil-cpp"
+  }
+  version: "20210324.2"
+  last_upgrade_date { year: 2021 month: 07 day: 23 }
+}
+
diff --git a/MODULE_LICENSE_APACHE2 b/MODULE_LICENSE_APACHE2
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_APACHE2
diff --git a/NOTICE b/NOTICE
new file mode 120000
index 0000000..7a694c9
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1 @@
+LICENSE
\ No newline at end of file
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..cd410bc
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,2 @@
+dwillemsen@google.com
+enh@google.com
\ No newline at end of file