// THIS FILE IS AUTOGENERATED BY development/vndk/snapshot/gen_buildfiles.py
// DO NOT EDIT

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "prebuilts_vndk_v29_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    //   SPDX-license-identifier-BSD
    //   SPDX-license-identifier-GPL
    //   SPDX-license-identifier-GPL-2.0
    //   SPDX-license-identifier-ISC
    //   SPDX-license-identifier-LGPL
    //   SPDX-license-identifier-LGPL-2.1
    //   SPDX-license-identifier-LGPL-3.0
    //   SPDX-license-identifier-MIT
    //   SPDX-license-identifier-NCSA
    //   SPDX-license-identifier-OpenSSL
    //   SPDX-license-identifier-Zlib
    //   legacy_permissive
    default_applicable_licenses: ["prebuilts_vndk_v29_license"],
}

filegroup {
    name: "vndk-v29-libaudioroute.so-notice",
    srcs: ["NOTICE_FILES/libaudioroute.so.txt"],
}

filegroup {
    name: "vndk-v29-libblas.so-notice",
    srcs: ["NOTICE_FILES/libblas.so.txt"],
}

filegroup {
    name: "vndk-v29-libc++.so-notice",
    srcs: ["NOTICE_FILES/libc++.so.txt"],
}

filegroup {
    name: "vndk-v29-libcap.so-notice",
    srcs: ["NOTICE_FILES/libcap.so.txt"],
}

filegroup {
    name: "vndk-v29-libcompiler_rt.so-notice",
    srcs: ["NOTICE_FILES/libcompiler_rt.so.txt"],
}

filegroup {
    name: "vndk-v29-libcrypto.so-notice",
    srcs: ["NOTICE_FILES/libcrypto.so.txt"],
}

filegroup {
    name: "vndk-v29-libcurl.so-notice",
    srcs: ["NOTICE_FILES/libcurl.so.txt"],
}

filegroup {
    name: "vndk-v29-libcutils.so-notice",
    srcs: ["NOTICE_FILES/libcutils.so.txt"],
}

filegroup {
    name: "vndk-v29-libevent.so-notice",
    srcs: ["NOTICE_FILES/libevent.so.txt"],
}

filegroup {
    name: "vndk-v29-libexif.so-notice",
    srcs: ["NOTICE_FILES/libexif.so.txt"],
}

filegroup {
    name: "vndk-v29-libexpat.so-notice",
    srcs: ["NOTICE_FILES/libexpat.so.txt"],
}

filegroup {
    name: "vndk-v29-libhardware.so-notice",
    srcs: ["NOTICE_FILES/libhardware.so.txt"],
}

filegroup {
    name: "vndk-v29-libhardware_legacy.so-notice",
    srcs: ["NOTICE_FILES/libhardware_legacy.so.txt"],
}

filegroup {
    name: "vndk-v29-libhidlbase.so-notice",
    srcs: ["NOTICE_FILES/libhidlbase.so.txt"],
}

filegroup {
    name: "vndk-v29-libhidltransport.so-notice",
    srcs: ["NOTICE_FILES/libhidltransport.so.txt"],
}

filegroup {
    name: "vndk-v29-libhwbinder.so-notice",
    srcs: ["NOTICE_FILES/libhwbinder.so.txt"],
}

filegroup {
    name: "vndk-v29-libhwbinder_noltopgo.so-notice",
    srcs: ["NOTICE_FILES/libhwbinder_noltopgo.so.txt"],
}

filegroup {
    name: "vndk-v29-libjpeg.so-notice",
    srcs: ["NOTICE_FILES/libjpeg.so.txt"],
}

filegroup {
    name: "vndk-v29-libkeymaster_messages.so-notice",
    srcs: ["NOTICE_FILES/libkeymaster_messages.so.txt"],
}

filegroup {
    name: "vndk-v29-libkeymaster_portable.so-notice",
    srcs: ["NOTICE_FILES/libkeymaster_portable.so.txt"],
}

filegroup {
    name: "vndk-v29-libldacBT_abr.so-notice",
    srcs: ["NOTICE_FILES/libldacBT_abr.so.txt"],
}

filegroup {
    name: "vndk-v29-libldacBT_enc.so-notice",
    srcs: ["NOTICE_FILES/libldacBT_enc.so.txt"],
}

filegroup {
    name: "vndk-v29-liblz4.so-notice",
    srcs: ["NOTICE_FILES/liblz4.so.txt"],
}

filegroup {
    name: "vndk-v29-libmedia_helper.so-notice",
    srcs: ["NOTICE_FILES/libmedia_helper.so.txt"],
}

filegroup {
    name: "vndk-v29-libmedia_omx.so-notice",
    srcs: ["NOTICE_FILES/libmedia_omx.so.txt"],
}

filegroup {
    name: "vndk-v29-libminijail.so-notice",
    srcs: ["NOTICE_FILES/libminijail.so.txt"],
}

filegroup {
    name: "vndk-v29-libnetutils.so-notice",
    srcs: ["NOTICE_FILES/libnetutils.so.txt"],
}

filegroup {
    name: "vndk-v29-libnl.so-notice",
    srcs: ["NOTICE_FILES/libnl.so.txt"],
}

filegroup {
    name: "vndk-v29-libpcre2.so-notice",
    srcs: ["NOTICE_FILES/libpcre2.so.txt"],
}

filegroup {
    name: "vndk-v29-libpiex.so-notice",
    srcs: ["NOTICE_FILES/libpiex.so.txt"],
}

filegroup {
    name: "vndk-v29-libpower.so-notice",
    srcs: ["NOTICE_FILES/libpower.so.txt"],
}

filegroup {
    name: "vndk-v29-libprotobuf-cpp-full.so-notice",
    srcs: ["NOTICE_FILES/libprotobuf-cpp-full.so.txt"],
}

filegroup {
    name: "vndk-v29-libprotobuf-cpp-lite.so-notice",
    srcs: ["NOTICE_FILES/libprotobuf-cpp-lite.so.txt"],
}

filegroup {
    name: "vndk-v29-libpuresoftkeymasterdevice.so-notice",
    srcs: ["NOTICE_FILES/libpuresoftkeymasterdevice.so.txt"],
}

filegroup {
    name: "vndk-v29-libsoftkeymasterdevice.so-notice",
    srcs: ["NOTICE_FILES/libsoftkeymasterdevice.so.txt"],
}

filegroup {
    name: "vndk-v29-libspeexresampler.so-notice",
    srcs: ["NOTICE_FILES/libspeexresampler.so.txt"],
}

filegroup {
    name: "vndk-v29-libsqlite.so-notice",
    srcs: ["NOTICE_FILES/libsqlite.so.txt"],
}

filegroup {
    name: "vndk-v29-libssl.so-notice",
    srcs: ["NOTICE_FILES/libssl.so.txt"],
}

filegroup {
    name: "vndk-v29-libstagefright_foundation.so-notice",
    srcs: ["NOTICE_FILES/libstagefright_foundation.so.txt"],
}

filegroup {
    name: "vndk-v29-libstagefright_omx.so-notice",
    srcs: ["NOTICE_FILES/libstagefright_omx.so.txt"],
}

filegroup {
    name: "vndk-v29-libstagefright_omx_utils.so-notice",
    srcs: ["NOTICE_FILES/libstagefright_omx_utils.so.txt"],
}

filegroup {
    name: "vndk-v29-libtinyalsa.so-notice",
    srcs: ["NOTICE_FILES/libtinyalsa.so.txt"],
}

filegroup {
    name: "vndk-v29-libtinyxml2.so-notice",
    srcs: ["NOTICE_FILES/libtinyxml2.so.txt"],
}

filegroup {
    name: "vndk-v29-libui.so-notice",
    srcs: ["NOTICE_FILES/libui.so.txt"],
}

filegroup {
    name: "vndk-v29-libutils.so-notice",
    srcs: ["NOTICE_FILES/libutils.so.txt"],
}

filegroup {
    name: "vndk-v29-libutilscallstack.so-notice",
    srcs: ["NOTICE_FILES/libutilscallstack.so.txt"],
}

filegroup {
    name: "vndk-v29-libxml2.so-notice",
    srcs: ["NOTICE_FILES/libxml2.so.txt"],
}

filegroup {
    name: "vndk-v29-libz.so-notice",
    srcs: ["NOTICE_FILES/libz.so.txt"],
}
