# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This file is generated by device/common/generate-blob-lists.sh - DO NOT EDIT

/system/app/AppDirectedSmsService.apk
/system/app/ConnMO.apk
/system/app/DMService.apk
/system/app/MotoImsServer.apk
/system/app/MotoLocationProxy.apk
/system/app/MotoLteTelephony.apk
/system/app/MotoModemUtil.apk
/system/app/MotoSimUiHelper.apk
/system/app/StingrayProgramMenu.apk
/system/app/StingrayProgramMenuSystem.apk
/system/bin/akmd2
/system/bin/batch
/system/bin/brcm_guci_drv
/system/bin/bugtogo.sh
/system/bin/bypassfactory
/system/bin/ftmipcd
/system/bin/location
/system/bin/savebpver
/system/bin/tcmd
/system/etc/cpcap_gain.bin
/system/etc/firmware/bcm4329.hcd
/system/etc/firmware/nvddk_audiofx_core.axf
/system/etc/firmware/nvddk_audiofx_transport.axf
/system/etc/firmware/nvmm_aacdec.axf
/system/etc/firmware/nvmm_adtsdec.axf
/system/etc/firmware/nvmm_audiomixer.axf
/system/etc/firmware/nvmm_h264dec.axf
/system/etc/firmware/nvmm_jpegdec.axf
/system/etc/firmware/nvmm_jpegenc.axf
/system/etc/firmware/nvmm_manager.axf
/system/etc/firmware/nvmm_mp2dec.axf
/system/etc/firmware/nvmm_mp3dec.axf
/system/etc/firmware/nvmm_mpeg4dec.axf
/system/etc/firmware/nvmm_reference.axf
/system/etc/firmware/nvmm_service.axf
/system/etc/firmware/nvmm_sorensondec.axf
/system/etc/firmware/nvmm_sw_mp3dec.axf
/system/etc/firmware/nvmm_wavdec.axf
/system/etc/firmware/nvrm_avp.bin
/system/etc/gps.conf
/system/etc/gpsconfig.xml
/system/etc/location.cfg
/system/etc/motorola/12m/key_code_map.txt
/system/etc/motorola/12m/tcmd_leds.cfg
/system/etc/security/suplcerts.bks
/system/etc/voip_aud_params.bin
/system/etc/wifi/bcm4329.cal
/system/lib/egl/libEGL_perfhud.so
/system/lib/egl/libEGL_tegra.so
/system/lib/egl/libGLESv1_CM_perfhud.so
/system/lib/egl/libGLESv1_CM_tegra.so
/system/lib/egl/libGLESv2_perfhud.so
/system/lib/egl/libGLESv2_tegra.so
/system/lib/hw/camera.stingray.so
/system/lib/hw/gps.stingray.so
/system/lib/hw/gralloc.tegra.so
/system/lib/hw/hwcomposer.tegra.so
/system/lib/libcgdrv.so
/system/lib/libdmengine.so
/system/lib/libdmjavaplugin.so
/system/lib/libims_client_jni.so
/system/lib/libmoto_ecnswrapper.so
/system/lib/libnvddk_2d.so
/system/lib/libnvddk_2d_v2.so
/system/lib/libnvddk_audiofx.so
/system/lib/libnvdispatch_helper.so
/system/lib/libnvdispmgr_d.so
/system/lib/libnvmm.so
/system/lib/libnvmm_camera.so
/system/lib/libnvmm_contentpipe.so
/system/lib/libnvmm_image.so
/system/lib/libnvmm_manager.so
/system/lib/libnvmm_service.so
/system/lib/libnvmm_tracklist.so
/system/lib/libnvmm_utils.so
/system/lib/libnvmm_video.so
/system/lib/libnvodm_imager.so
/system/lib/libnvodm_query.so
/system/lib/libnvomx.so
/system/lib/libnvomxilclient.so
/system/lib/libnvos.so
/system/lib/libnvrm.so
/system/lib/libnvrm_channel.so
/system/lib/libnvrm_graphics.so
/system/lib/libnvsm.so
/system/lib/libnvwsi.so
/system/lib/libpkip.so
/system/lib/libstagefrighthw.so
/system/lib/libtpa.so
/system/lib/libtpa_core.so
/system/media/bootanimation-encrypted.zip
/system/media/bootanimation.zip
/system/vendor/etc/audio_effects.conf
/system/vendor/firmware/fw_bcm4329_mfg.bin
