mount("ext4", "EMMC", "/dev/block/by-name/system", "/system", "max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc");
markOtaState(begin);
getprop("ro.product.device") == "petrel-p1" || abort("E3004: This package is for \"petrel-p1\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: Allwinner/petrel_fvd_p1/petrel-p1:7.0/NRD91N/20190123:eng/test-keys");
ui_print("Target: Allwinner/petrel_fvd_p1/petrel-p1:7.0/NRD91N/20190625:eng/test-keys");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
apply_patch_check("/system/app/BLEAutoPair/BLEAutoPair.apk", "1d958e0716596111c2e9d6705a86db8a4097ed3f", "1e659bd75e102e721e924c512b9f377b785b15da") || abort("E3005: \"/system/app/BLEAutoPair/BLEAutoPair.apk\" has unexpected contents.");
apply_patch_check("/system/app/BasicDreams/BasicDreams.apk", "c370768981d6ad117405a464f1deb4e5d8fc6f4f", "584dc9847e0d0a2e1e6d871067868966f68601c4") || abort("E3005: \"/system/app/BasicDreams/BasicDreams.apk\" has unexpected contents.");
apply_patch_check("/system/app/Bluetooth/Bluetooth.apk", "f3e1293741e9d21d811b2279f134b747580dfb47", "93b63e4ef10a186ba08f293e3770943df83798d9") || abort("E3005: \"/system/app/Bluetooth/Bluetooth.apk\" has unexpected contents.");
apply_patch_check("/system/app/BluetoothMidiService/BluetoothMidiService.apk", "61d669c59ca4adec148a4487c763d6e362e1e76d", "192131a21d25be8a6cb9660dea2eedc32ad3e3fb") || abort("E3005: \"/system/app/BluetoothMidiService/BluetoothMidiService.apk\" has unexpected contents.");
apply_patch_check("/system/app/BookmarkProvider/BookmarkProvider.apk", "1f773171d9d2e073e9def13da3d5797da0de4462", "76b680ea19833e2d2da0b4c77dd0f10a32adfb9a") || abort("E3005: \"/system/app/BookmarkProvider/BookmarkProvider.apk\" has unexpected contents.");
apply_patch_check("/system/app/Camera2/Camera2.apk", "a17589d810ec233db0d63cbe3063688283ac7e0c", "b646240b42b625d8d292f558f9f8409f8ea36916") || abort("E3005: \"/system/app/Camera2/Camera2.apk\" has unexpected contents.");
apply_patch_check("/system/app/CaptivePortalLogin/CaptivePortalLogin.apk", "85faf09aed8ee81502025861bfce48b21dcb5959", "efe164414e5d7fa42d2f3026e5ac0e143351c766") || abort("E3005: \"/system/app/CaptivePortalLogin/CaptivePortalLogin.apk\" has unexpected contents.");
apply_patch_check("/system/app/CertInstaller/CertInstaller.apk", "2e147092468bba0dc17c8fa73bbaf66eacf3d04d", "883f42f4e8a2a2e4e6ae9140b8a79dc3cc0bd915") || abort("E3005: \"/system/app/CertInstaller/CertInstaller.apk\" has unexpected contents.");
apply_patch_check("/system/app/DownloadProviderUi/DownloadProviderUi.apk", "c1fa9c57c3d38c6d0ade199cc9641ca55bd97aa6", "2bca73eaca8bf9701127140654c068e4aadaa3aa") || abort("E3005: \"/system/app/DownloadProviderUi/DownloadProviderUi.apk\" has unexpected contents.");
apply_patch_check("/system/app/EasterEgg/EasterEgg.apk", "4cceb18af5cb3cac678b20572d92674535e5af37", "6a872b2874ca185dc2d6d13700544a59c8e1dec1") || abort("E3005: \"/system/app/EasterEgg/EasterEgg.apk\" has unexpected contents.");
apply_patch_check("/system/app/ExactCalculator/ExactCalculator.apk", "50835fbef645e3a610e19093f02cff216e208993", "678e0a8cee539bc94e426acd2929ffb0663d7677") || abort("E3005: \"/system/app/ExactCalculator/ExactCalculator.apk\" has unexpected contents.");
apply_patch_check("/system/app/ExtShared/ExtShared.apk", "6ffb250f8a95393c612e9de3dba2cb438da017b0", "ca87a1e195e2251c91041ec7c1492fb3bec63ebb") || abort("E3005: \"/system/app/ExtShared/ExtShared.apk\" has unexpected contents.");
apply_patch_check("/system/app/H6_FT/H6_FT.apk", "b2b2af8fa00a29fd05ce71d80d38fd99f59256c2", "8ba15936cddd432f18ff7d1f37946bfa3ec55c47") || abort("E3005: \"/system/app/H6_FT/H6_FT.apk\" has unexpected contents.");
apply_patch_check("/system/app/HTMLViewer/HTMLViewer.apk", "f56c20ff68032edee7c2f9c8672afe23b7399827", "430a0bc46562cd5406dcca37e88a00f2de37a1b3") || abort("E3005: \"/system/app/HTMLViewer/HTMLViewer.apk\" has unexpected contents.");
apply_patch_check("/system/app/KeyChain/KeyChain.apk", "a3df0d17bd230a0cb2f3824875217cb586c78d44", "f5ce1994b72d0ec4939faa3b53bca90531609652") || abort("E3005: \"/system/app/KeyChain/KeyChain.apk\" has unexpected contents.");
apply_patch_check("/system/app/LatinIME/LatinIME.apk", "e3adb353fee16bad7ccf61b3e740db19bced044b", "33d1faa26aeb6ecaa4dfef5bcd8fa15e70cf55b4") || abort("E3005: \"/system/app/LatinIME/LatinIME.apk\" has unexpected contents.");
apply_patch_check("/system/app/LiveWallpapersPicker/LiveWallpapersPicker.apk", "591263d296873f9923e1597ca9c09a36911b340f", "b277e7241fdb3a67d5f71e044d3238f8d1a40f52") || abort("E3005: \"/system/app/LiveWallpapersPicker/LiveWallpapersPicker.apk\" has unexpected contents.");
apply_patch_check("/system/app/Music/Music.apk", "339d782fc288c545ec81451acec6e52d005316e4", "2473670fe2ac0104dd754a9b07a19e6f8f5d9a43") || abort("E3005: \"/system/app/Music/Music.apk\" has unexpected contents.");
apply_patch_check("/system/app/OpenWnn/OpenWnn.apk", "b12439574d7ae679e0cc91e908826da45943c01a", "e0ee9fa7cef313dfd60906dcc0dabec791243ca4") || abort("E3005: \"/system/app/OpenWnn/OpenWnn.apk\" has unexpected contents.");
apply_patch_check("/system/app/PacProcessor/PacProcessor.apk", "07448a14268447b700e150e0575d9780fc3f81a5", "efe54277ed9a952f03de1f4c2a605896273ed872") || abort("E3005: \"/system/app/PacProcessor/PacProcessor.apk\" has unexpected contents.");
apply_patch_check("/system/app/PhotoTable/PhotoTable.apk", "4ffb3c1aca1fb303ef025535de703612c5b208cd", "0cf6ae3babe55f06aa02b4845196572f0824df54") || abort("E3005: \"/system/app/PhotoTable/PhotoTable.apk\" has unexpected contents.");
apply_patch_check("/system/app/PicoTts/PicoTts.apk", "d95e36bc3f11161f9e5d3910a349ef766e9c3a90", "9bf904fcce0ed15d4b5d02e611280e8d75a460e6") || abort("E3005: \"/system/app/PicoTts/PicoTts.apk\" has unexpected contents.");
apply_patch_check("/system/app/PrintRecommendationService/PrintRecommendationService.apk", "5c8a5777a527c7b0de47a4f0da80fcfaaa930634", "700852812e927e6916ef92e42d24d7323649bf4b") || abort("E3005: \"/system/app/PrintRecommendationService/PrintRecommendationService.apk\" has unexpected contents.");
apply_patch_check("/system/app/PrintSpooler/PrintSpooler.apk", "f203c1f6cebe3d7c92c4b97599e230699e423e40", "4d9c121ccd7218bf8757d00ad1c4c1b17a0b220d") || abort("E3005: \"/system/app/PrintSpooler/PrintSpooler.apk\" has unexpected contents.");
apply_patch_check("/system/app/QuickSearchBox/QuickSearchBox.apk", "eb3da4e7ed79eecb0d7a425d8bd04d7b0f31f94f", "8653c4c8f4a2156bcad5f4c582d696f334a356e3") || abort("E3005: \"/system/app/QuickSearchBox/QuickSearchBox.apk\" has unexpected contents.");
apply_patch_check("/system/app/TvdVideo/TvdVideo.apk", "a1a52c95a6bc9a44c9c432a755eff71b1ee7ee79", "202bfb1cce53dffc9072dfa5e348697e3bb278ee") || abort("E3005: \"/system/app/TvdVideo/TvdVideo.apk\" has unexpected contents.");
apply_patch_check("/system/app/UserDictionaryProvider/UserDictionaryProvider.apk", "80781b27005e8a1d92a69ce77901cd75bd139fb7", "f95cf49fd4204f3b21382b0dc3fc2aaf0554f5c0") || abort("E3005: \"/system/app/UserDictionaryProvider/UserDictionaryProvider.apk\" has unexpected contents.");
apply_patch_check("/system/app/WAPPushManager/WAPPushManager.apk", "767c9a09b5e898293a4758aca0ebd39285bed203", "db36ceb94be95266a6aeb1186467c7d77dd08081") || abort("E3005: \"/system/app/WAPPushManager/WAPPushManager.apk\" has unexpected contents.");
apply_patch_check("/system/app/WallpaperBackup/WallpaperBackup.apk", "ae91a7798abdd1b64dd8a1f7fceebf2ff8b4b935", "08ab19179aced77fa6ab90f4ec5664b03931de54") || abort("E3005: \"/system/app/WallpaperBackup/WallpaperBackup.apk\" has unexpected contents.");
apply_patch_check("/system/bin/preinstall.sh", "d67e95b9b43153ff299632eac9aa2473b02ff607", "15e20f97f660805c649eb134d9e8d7f5e9ee9830") || abort("E3005: \"/system/bin/preinstall.sh\" has unexpected contents.");
apply_patch_check("/system/build.prop", "15078931196f847cb5097fe466e03c187d21e574", "adc821af8f7484a3bdb5d9b74f3187334e6bb089") || abort("E3005: \"/system/build.prop\" has unexpected contents.");
apply_patch_check("/system/framework/am.jar", "90d12f9318519837bab82ec68e4855488beceb18", "9876091304dd2d5736246e32f29ee2cdfc7d0a44") || abort("E3005: \"/system/framework/am.jar\" has unexpected contents.");
apply_patch_check("/system/framework/android.test.runner.jar", "d9c762d0fdac0eb2fb73bdeb59ebde6c0edb2d8b", "417f602612f456c90a05083b09e15cf3051852fe") || abort("E3005: \"/system/framework/android.test.runner.jar\" has unexpected contents.");
apply_patch_check("/system/framework/appwidget.jar", "48655b29ed18d415ce91bfb698cea0bac2bcc239", "c002cf20a890a72c88c4479172f62aa3aed47d43") || abort("E3005: \"/system/framework/appwidget.jar\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-framework.art", "b1e71f772df458d9731b521a871d70d82dbebfca", "e8a3adecf15c6cb1f8b036b477f2a44f945b47a3") || abort("E3005: \"/system/framework/arm/boot-framework.art\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-framework.oat", "f36ac086e8815ce4c4965419b205c3171e54ff71", "a09b1ea2104f63497fcd570d6007c81a100b9c55") || abort("E3005: \"/system/framework/arm/boot-framework.oat\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-ims-common.art", "a1deb063146994450ee28ca5a72bd0539160e04a", "a8151c95be17f6931e776cc0ebbc8b33d228591c") || abort("E3005: \"/system/framework/arm/boot-ims-common.art\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-ims-common.oat", "8743b1da2878e0f85c153d970fb4c8f1eae621dd", "705242d2326c7aabde6782772ae915a4cebb3f06") || abort("E3005: \"/system/framework/arm/boot-ims-common.oat\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-org.apache.http.legacy.boot.art", "43da1bf880f94144a28053cedea975fb418ac44d", "04f3bf9a89905117bf337d8374392efef57abbfd") || abort("E3005: \"/system/framework/arm/boot-org.apache.http.legacy.boot.art\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-org.apache.http.legacy.boot.oat", "0312f178c6cbf899c5b1993d3184c97b59e52bc0", "24d34cfc5ff85721a3166925d6ec7520b0bd28f6") || abort("E3005: \"/system/framework/arm/boot-org.apache.http.legacy.boot.oat\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-telephony-common.art", "6c2c94f3fcbd87cc597a7de47610ddec58bb1e71", "f43ff5c2f47652f8453e37e89e1263672cff9f93") || abort("E3005: \"/system/framework/arm/boot-telephony-common.art\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot-telephony-common.oat", "0dc6924d5e267311a4c1cbf1f4e73c5718d23745", "b5a0bd7baa0d2864b131b0da535cc4ca097d03c6") || abort("E3005: \"/system/framework/arm/boot-telephony-common.oat\" has unexpected contents.");
apply_patch_check("/system/framework/bmgr.jar", "e7f1d870022f71302e7a280acaf8605f955f9442", "7cfeeae703c9b554af05f7ad6eaa9e652924a581") || abort("E3005: \"/system/framework/bmgr.jar\" has unexpected contents.");
apply_patch_check("/system/framework/bu.jar", "6f7eec9bd4a7cb3410f73ec4ffa0537cbf0b6827", "dcbe3911fd101fbd51f64c35dd3401b2f123bf12") || abort("E3005: \"/system/framework/bu.jar\" has unexpected contents.");
apply_patch_check("/system/framework/com.android.future.usb.accessory.jar", "4a5775d1cf8b8895879a2a644fc6a61f0e7a10d0", "0d6c5f9f4ee3cb7dfbf664e9e1493395a47a410f") || abort("E3005: \"/system/framework/com.android.future.usb.accessory.jar\" has unexpected contents.");
apply_patch_check("/system/framework/com.android.location.provider.jar", "f8f8dbd275f272297432f0f08b53702935c53b4c", "44c56eff398ae4cc82527a9bc23b22a6db9d5ad7") || abort("E3005: \"/system/framework/com.android.location.provider.jar\" has unexpected contents.");
apply_patch_check("/system/framework/com.android.media.remotedisplay.jar", "da67fe4922855cfe06fb4f44faf4ef33a2200219", "e2f39e31cdc2d397717ff05bad3d1dab65bd3703") || abort("E3005: \"/system/framework/com.android.media.remotedisplay.jar\" has unexpected contents.");
apply_patch_check("/system/framework/com.android.mediadrm.signer.jar", "76cbf584f0decb869826502dbda6578574f1b4cb", "65a62101f9571c36ea40a4b7fe6320e8e8f7b99d") || abort("E3005: \"/system/framework/com.android.mediadrm.signer.jar\" has unexpected contents.");
apply_patch_check("/system/framework/content.jar", "b3dcfae8b001b2058c2c767bacda4884ef39d54f", "aea8f972db6e6159e244d46464d360ee0a5384f9") || abort("E3005: \"/system/framework/content.jar\" has unexpected contents.");
apply_patch_check("/system/framework/dpm.jar", "646bc124a48a0cd05dc2ffc949cd33d11f87e605", "0eb24bde0f3c6d79966314546d0b09c0cf83c23e") || abort("E3005: \"/system/framework/dpm.jar\" has unexpected contents.");
apply_patch_check("/system/framework/ethernet-service.jar", "17e00f9d4314a4d6573e4bd2cef0ee77b8b25110", "73759ee9fe9a5032ea943af86c960114f4b5ef49") || abort("E3005: \"/system/framework/ethernet-service.jar\" has unexpected contents.");
apply_patch_check("/system/framework/framework-res.apk", "859fbd64a1b38bfce6e51d4ddef1328947294dcb", "5a7efcca7609d0b6c3dc9d4796a701f37f377a1f") || abort("E3005: \"/system/framework/framework-res.apk\" has unexpected contents.");
apply_patch_check("/system/framework/hid.jar", "72f9ce99d25359f40ed38f561dafc3a0e0e3b651", "b0f4034e35d9c0ad4e8251761f5912ac73caaec5") || abort("E3005: \"/system/framework/hid.jar\" has unexpected contents.");
apply_patch_check("/system/framework/ime.jar", "6c13c76bbf6aa9d747dbaab1fd442f81ba181e95", "8ca4eaee14a7edab29b57909b08e3d8f322840b7") || abort("E3005: \"/system/framework/ime.jar\" has unexpected contents.");
apply_patch_check("/system/framework/input.jar", "5b4683dbcd2c17380e07a7efebcea8b0050d5180", "327dee9929af5477c88cc46fc62dc3593acb890b") || abort("E3005: \"/system/framework/input.jar\" has unexpected contents.");
apply_patch_check("/system/framework/javax.obex.jar", "90af00f3e694c9464726db09dfdf4f8ace484dd3", "fa32c25f3ebf1c707c0a0b7e15b04c0772412345") || abort("E3005: \"/system/framework/javax.obex.jar\" has unexpected contents.");
apply_patch_check("/system/framework/media_cmd.jar", "053bde0e4e1729df28f4415505e35366a2979348", "0a57233b6b347faf568d9f89cc55cb16dd4de1dd") || abort("E3005: \"/system/framework/media_cmd.jar\" has unexpected contents.");
apply_patch_check("/system/framework/monkey.jar", "7c3fe5f94d85e0a215dcf1b80daa3fb4d6cc9675", "a7c170b0e1d6ede4471c9ccaa61a5f4624a009ea") || abort("E3005: \"/system/framework/monkey.jar\" has unexpected contents.");
apply_patch_check("/system/framework/pm.jar", "819ecdd7345f9f140205972d5249fb1358838214", "419a3a9319697472dd6306b439b56d761776cb78") || abort("E3005: \"/system/framework/pm.jar\" has unexpected contents.");
apply_patch_check("/system/framework/pppoe-service.jar", "ed743263a11556cf0017e5bf67fde9ca95199f6c", "b5936c72b59d00c4533c026ac2caa34d30a1c5a2") || abort("E3005: \"/system/framework/pppoe-service.jar\" has unexpected contents.");
apply_patch_check("/system/framework/requestsync.jar", "1cfbdebf5ebeeb2ac19d1a8ee8d23cf6eb0cd1f5", "9357af90d6731ec0c370b73437666cef00990fc2") || abort("E3005: \"/system/framework/requestsync.jar\" has unexpected contents.");
apply_patch_check("/system/framework/settings.jar", "eb42db3b51cd762f7356b311bff3f49740eb6843", "770622a8b5f1567da8457ec9e25c16c37100fa95") || abort("E3005: \"/system/framework/settings.jar\" has unexpected contents.");
apply_patch_check("/system/framework/sm.jar", "6f6568920133e437ab3ccff744f2d90989952660", "56365bc41c24eff7fb189767527dc5300a20c800") || abort("E3005: \"/system/framework/sm.jar\" has unexpected contents.");
apply_patch_check("/system/framework/svc.jar", "9b062d0218faf9cb32fcab5c9cfd16f8a2907ea9", "ff62426bccfc1055228d5c13b931dd87f3104ed9") || abort("E3005: \"/system/framework/svc.jar\" has unexpected contents.");
apply_patch_check("/system/framework/telecom.jar", "a648769cd4998ea9d24ea71109b9feae8a1cf0fd", "6e9a3efe52aab7c69d415cf12963f8651a630b84") || abort("E3005: \"/system/framework/telecom.jar\" has unexpected contents.");
apply_patch_check("/system/framework/uiautomator.jar", "caa62f57d8c10bc301a6ed2285f59e0b8a04e221", "ec1798589f98dfbb6536603188002ba78b041945") || abort("E3005: \"/system/framework/uiautomator.jar\" has unexpected contents.");
apply_patch_check("/system/framework/wm.jar", "5e21c60293d225b83a76a879c1140f3d59161efc", "aedc1b4cf1cb5c3a942d7bf3057e2c240b5203cc") || abort("E3005: \"/system/framework/wm.jar\" has unexpected contents.");
apply_patch_check("/system/lib/libOmxVenc.so", "dd8366cc0744d5d691abd0a75f9d1ced0f995b75", "1d52c5a0473b2f36fb22236733e2196427e1386a") || abort("E3005: \"/system/lib/libOmxVenc.so\" has unexpected contents.");
apply_patch_check("/system/lib/libandroid_runtime.so", "85e1a70d6cdddf022d9d8352728486b8e7670624", "414b1e00e5736c46dc1255b87412b506304b1d5b") || abort("E3005: \"/system/lib/libandroid_runtime.so\" has unexpected contents.");
apply_patch_check("/system/lib/libhwui.so", "e1cdfec9e39f99e73f79c10e7405ba11b951c520", "420f3da80c742be44c51396b11556d3d85b2dead") || abort("E3005: \"/system/lib/libhwui.so\" has unexpected contents.");
apply_patch_check("/system/lib/libinputflinger.so", "6eb9ef420adc7d212555951e0fd82989e656c953", "a162255ba5da24035419a95dbf18f80e5ad16d96") || abort("E3005: \"/system/lib/libinputflinger.so\" has unexpected contents.");
apply_patch_check("/system/lib/libsurfaceflinger.so", "2b1f1358163abb37096050c94726b1b6e85f46ef", "6bead26672a0764ee0b9445f07c2690cc2316fd4") || abort("E3005: \"/system/lib/libsurfaceflinger.so\" has unexpected contents.");
apply_patch_check("/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk", "4ee6900adfb0d8cd7ecf83ae308c4a3aab56dd35", "a7041be3052560db4e246c9065c9d53f0e3a0e4e") || abort("E3005: \"/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/BlockedNumberProvider/BlockedNumberProvider.apk", "b14853048cb6511e5bcd30fce3eda01f4ddb5110", "120d5a0f696a4cf074a6202e1c39b7a957051228") || abort("E3005: \"/system/priv-app/BlockedNumberProvider/BlockedNumberProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/CalendarProvider/CalendarProvider.apk", "4f2c26057550a9d13392afa3424598d19f3e375c", "75ac30409b3f6daee81831e603afa0433a5bb6ed") || abort("E3005: \"/system/priv-app/CalendarProvider/CalendarProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ContactsProvider/ContactsProvider.apk", "a2fb646e6b74ad1a88fb45f053164589f7ef7b61", "7ec9a432a4076251e83a7a8b5534f6bb4b75d5f0") || abort("E3005: \"/system/priv-app/ContactsProvider/ContactsProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/DefaultContainerService/DefaultContainerService.apk", "51af8513f4d3349aade001551b9220d0816dd3eb", "7e8974301e2d5494d725530a88f32fb454d5c8da") || abort("E3005: \"/system/priv-app/DefaultContainerService/DefaultContainerService.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/DocumentsUI/DocumentsUI.apk", "794ae557a315aa154f2db0e33867b2e8b5df231d", "a7119c451eee79e2541dc42551e8821aeaa434d6") || abort("E3005: \"/system/priv-app/DocumentsUI/DocumentsUI.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/DownloadProvider/DownloadProvider.apk", "024f9cd3589f27194c8106e8e23564d2b782e212", "4069fd76ba8433e3ba33279eaebdf6c2e1e90144") || abort("E3005: \"/system/priv-app/DownloadProvider/DownloadProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/EmergencyInfo/EmergencyInfo.apk", "042ee988a24d339924526859ff15c798b0c53486", "29cb1d335583956fc4d33f4c4e3aaadd7d6db58c") || abort("E3005: \"/system/priv-app/EmergencyInfo/EmergencyInfo.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ExtServices/ExtServices.apk", "2e3f4ea3b0101bcd0c3d927c622708137470facc", "51e54a98f90688cd648ba17a772c129191974eb8") || abort("E3005: \"/system/priv-app/ExtServices/ExtServices.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk", "6dd3d7535e8cc84e6a2739daec2994bef582059c", "a2e853f8b64a70355f38f069ccc09733f1c2879b") || abort("E3005: \"/system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/FusedLocation/FusedLocation.apk", "c3bb611139a9b23b05f8d99179fa8f307c8e4924", "8ce1d29cfcddc69b3694073e5318c5e42bc883e0") || abort("E3005: \"/system/priv-app/FusedLocation/FusedLocation.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/InputDevices/InputDevices.apk", "ab439558a339221db4e75a76388f2d5e388c336a", "9bf2f92f3e2e793aa970a9e055d86761e48fc563") || abort("E3005: \"/system/priv-app/InputDevices/InputDevices.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk", "5eeb92af0672a6e95af5ae6eb349adf61eb20b33", "d346710e918d84653024aa7df0f7a4d18303a57d") || abort("E3005: \"/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/MediaProvider/MediaProvider.apk", "6b6f2f6cc3f5aabbaca50379dd1d90b1720e9d4c", "2c63de994b4f721d7acb3482ce0ccc82df8bece4") || abort("E3005: \"/system/priv-app/MediaProvider/MediaProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/MmsService/MmsService.apk", "a916d4253a6291de6f428a9e085e5ffdd049e8c3", "f5073ce3c2828101460b7e50aff99f3ce5866b33") || abort("E3005: \"/system/priv-app/MmsService/MmsService.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/MtpDocumentsProvider/MtpDocumentsProvider.apk", "b7ab53f6f9384143e4c04b3d475c0ae5063452f4", "6980656d3c3ecf994c826051e1a89f269ac98863") || abort("E3005: \"/system/priv-app/MtpDocumentsProvider/MtpDocumentsProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/MusicFX/MusicFX.apk", "a77da6a175d7d416506a90516aba4f05cdc23d56", "90ba5e086ed8ebbab622cf677bff15f249ebae43") || abort("E3005: \"/system/priv-app/MusicFX/MusicFX.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/OneTimeInitializer/OneTimeInitializer.apk", "463921a150575fbb19ee2e0793e318a0a53b9005", "e0140766d7245569c3260b9b2472dd0796ec2f58") || abort("E3005: \"/system/priv-app/OneTimeInitializer/OneTimeInitializer.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/PackageInstaller/PackageInstaller.apk", "b7269aa3ff72049049186ac9822e7d0782f4b869", "8299d2ff2e662f1d65f9db64726c43c9d87c0b15") || abort("E3005: \"/system/priv-app/PackageInstaller/PackageInstaller.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/Provision/Provision.apk", "e5b7b90a50d37c9355fd939dc16b620f0f0c6287", "b30f965af9d10ccaf039a844fd73e4e60d519812") || abort("E3005: \"/system/priv-app/Provision/Provision.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ProxyHandler/ProxyHandler.apk", "d75b125d01bc43d5f979a9e9d8792004aaf029b8", "4475c66f535d521246232888a8dbc39db1b222ce") || abort("E3005: \"/system/priv-app/ProxyHandler/ProxyHandler.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/Settings/Settings.apk", "bcaa20dcb7523f89989bd15d6c5a34f61fd18f71", "3ad3806b327de0e547da00458f3f945e035953e1") || abort("E3005: \"/system/priv-app/Settings/Settings.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SettingsAssist/SettingsAssist.apk", "083753e51a21316e4ca58274dddb89249926b5f1", "741353af3ec0fecd6c881cfa09cd86388de2c652") || abort("E3005: \"/system/priv-app/SettingsAssist/SettingsAssist.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SettingsProvider/SettingsProvider.apk", "4818b826fa2dc3d800a87a75d1ec910221a75376", "ab5420520e9e9190b064884624122b9e8ccac2fa") || abort("E3005: \"/system/priv-app/SettingsProvider/SettingsProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SharedStorageBackup/SharedStorageBackup.apk", "c1a40d54b932c1be55b27783f7f772c15fec0f3f", "593b8b08eca6533556dbf9da771072cff477f5d0") || abort("E3005: \"/system/priv-app/SharedStorageBackup/SharedStorageBackup.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/Shell/Shell.apk", "8f5e03e932e975060eee0eea2f0a6ad8a87217a5", "9596ff2ecfc3140c31ef9c0b47d214c54cf1c4a1") || abort("E3005: \"/system/priv-app/Shell/Shell.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/StatementService/StatementService.apk", "c9488b9eaa2cf5d3c3d7c89395877870a2d64035", "faa02e0cbf937a8f57348b0c8339f866565fb34a") || abort("E3005: \"/system/priv-app/StatementService/StatementService.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SystemUI/SystemUI.apk", "5b37690e85568f7177f6d768c17592c9074ab7d7", "f45f24ce0760f4e82feea926ab0b0ac904ce3fd6") || abort("E3005: \"/system/priv-app/SystemUI/SystemUI.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/TeleService/TeleService.apk", "bd7e26299fb60bbfcb033c825355e70725f619d5", "7a7985ae810e57b77b5fe3acba0965b6e6c4b3e1") || abort("E3005: \"/system/priv-app/TeleService/TeleService.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/Telecom/Telecom.apk", "20b4aaeec65c22568d7e73d1a80f226832b61052", "5609f7a215776d4fbc2c471d4fb786b0e375de39") || abort("E3005: \"/system/priv-app/Telecom/Telecom.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/TelephonyProvider/TelephonyProvider.apk", "3664f01d8935bcdfdeaab1c40e8c8101661be7bf", "54623ece8dc0a05f2646ea1851c9c7bfbcfa952c") || abort("E3005: \"/system/priv-app/TelephonyProvider/TelephonyProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/TvdFileManager/TvdFileManager.apk", "07d181634348f169a3b42593a36252b53793ad53", "690bd975bba5af6b5fdaa6131c0df658ef651fb9") || abort("E3005: \"/system/priv-app/TvdFileManager/TvdFileManager.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/USBBT/USBBT.apk", "6e36c646dd2bd22dc1760a3fa6ea73b32cdc5f6e", "ba21a1a4be6957ccd44d4fb9ffa4ed27401fb93e") || abort("E3005: \"/system/priv-app/USBBT/USBBT.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/VpnDialogs/VpnDialogs.apk", "faca97c1552dfcef1fb856cceb77a9e55a751ef5", "45375aa4918509722bf74243dc1934d427061a6c") || abort("E3005: \"/system/priv-app/VpnDialogs/VpnDialogs.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/WallpaperCropper/WallpaperCropper.apk", "7749489844ef47ba5129d7479fa664a0acd0d72a", "09aa5d59ceab60c919d4d61d3ccd0f9721e49c01") || abort("E3005: \"/system/priv-app/WallpaperCropper/WallpaperCropper.apk\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/6174a.ko", "73c3c17f01c084a137e5d1fc669545bacb7cf54d", "09a06bce04be24d27fbd36265d0f059d81a4f3e7") || abort("E3005: \"/system/vendor/modules/6174a.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8188eu.ko", "75a08b1ddd0269a5fe59e3d114f35d9bdd12aa88", "85f4b7e91b8f96c4237babf85ac42e56f25e0139") || abort("E3005: \"/system/vendor/modules/8188eu.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8189es.ko", "21c2e62ebd5788816f1036cf1288050f4ad4bce6", "ed05a96f5dd9a83e0d8c6fcfb07e57cee4a4d825") || abort("E3005: \"/system/vendor/modules/8189es.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8189fs.ko", "e6cacc264d9fbd4456e2f31b084f99c00c9904fd", "d7199d00284637122376ecaa0e7de85d269a8aee") || abort("E3005: \"/system/vendor/modules/8189fs.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8192eu.ko", "6c0848c9e5dfd5a9ece413155e0b1fbeb1ce890c", "0521148b9e0439e040ed5484d6ccdf555be97bcf") || abort("E3005: \"/system/vendor/modules/8192eu.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8723bs.ko", "0a1b08b3cc1a8a102d738dc6b744345ca924d287", "75b14d3dffc2a1c15b6e5d907cec959bc2119f1d") || abort("E3005: \"/system/vendor/modules/8723bs.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8723bu.ko", "537833ab46639c1fb7c0a21054effba385d9f43f", "f332dbd0d3bcc3d1638a3c81bfbe26f59c644781") || abort("E3005: \"/system/vendor/modules/8723bu.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/8723ds.ko", "5bf4f37635b4df79347194e216eb7c63e4eaa73a", "348deba71c8bbcb75a0f1f7ed8bd1acaf2fb0417") || abort("E3005: \"/system/vendor/modules/8723ds.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/88x2be.ko", "0d56effcd183807aa0cad04da1d8158bf79136ac", "adaf17123c7b92adbb15d3097aec4b564cb14f8d") || abort("E3005: \"/system/vendor/modules/88x2be.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/88x2bs.ko", "d2ca506bd474c48caa84a87dc32d29e437e90286", "6ed9b75b9772bfa4330ffde7427ace2a8ffe4d03") || abort("E3005: \"/system/vendor/modules/88x2bs.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/actuator.ko", "e7f976307bf6547ce5abfb13e2dfa1b4c01119be", "4b7ff3e7fca54f877115929ddd0dbe21378404c4") || abort("E3005: \"/system/vendor/modules/actuator.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/ad5820_act.ko", "b9f63bc45db659574b3031fca2d03a9c345a66f4", "eb1f876710c9c07221e06494828779a870b1462b") || abort("E3005: \"/system/vendor/modules/ad5820_act.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/atbm_wifi_sdio.ko", "9ee788d6c8e3cffd64a982689e3a7570d1dfdf52", "3507e31b7b31b0e1c931188e2ebca32a36afcd13") || abort("E3005: \"/system/vendor/modules/atbm_wifi_sdio.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/bcm_btlpm_rc.ko", "419e8d4c44d6b79f2a8045236e71b2093fa618f5", "fcb1ab038d178d5c1d4b5666e2cd0c65c914f555") || abort("E3005: \"/system/vendor/modules/bcm_btlpm_rc.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/bcmdhd.ko", "f1a0439129b13cc0c554090799842d8cd6a193a1", "6514e81db206c6e1e5be2176bb414b6671aaec46") || abort("E3005: \"/system/vendor/modules/bcmdhd.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/bcmdhdpci.ko", "da70d4a3a139e08a2b2e05d14f24982ea54bf918", "3fe98898aa496cd48e3146c45b51bce2cc8d13b6") || abort("E3005: \"/system/vendor/modules/bcmdhdpci.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/dma-buf-test-exporter.ko", "fd2ef501db5fcb9411e09b142c9820df30f1ad2c", "8152af613ac54003588a42ea0538c471277de16a") || abort("E3005: \"/system/vendor/modules/dma-buf-test-exporter.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/dw9714_act.ko", "091dd42b090b73a17bf7ffaa82f421bb302ab8d3", "570d83b1e73fb96ca793a49ff2ae62ef17b6c685") || abort("E3005: \"/system/vendor/modules/dw9714_act.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/f22_xc7021.ko", "f9dfb977ba30235d2b00556c091c487adc8e1fea", "a20752a30d5e8c7621e2f9f5561be4cb4e0ba12c") || abort("E3005: \"/system/vendor/modules/f22_xc7021.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/fivm.ko", "022780fd868205848b9a465711f865fc4b8053cb", "571c42be2f160904e97bfb19c691e95567f89038") || abort("E3005: \"/system/vendor/modules/fivm.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/gator.ko", "1814413ee0872cd606fae20f593f316ef2a00d8a", "76d4846db8d1eca552073f1463030fd987c2b3da") || abort("E3005: \"/system/vendor/modules/gator.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/gspca_main.ko", "1f90864346b6d829522f6dc1ad5f9bc53a6da889", "be244cc32c9340f97210974b6a7dcc97058543bb") || abort("E3005: \"/system/vendor/modules/gspca_main.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/kds.ko", "5d41292da5d22568f02a9171868eab097b27a6e2", "239b0065ee05b0ae46c152cb4d77486dc0293c66") || abort("E3005: \"/system/vendor/modules/kds.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/mali_kbase.ko", "3617c24052500d2470409c237b5b6d46dfa345e2", "dedc64c2021539a9e356ff23ba0ec57cf35a0dd9") || abort("E3005: \"/system/vendor/modules/mali_kbase.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/nand.ko", "b7e977aa73e374672cd4491ecd68240cf53e3974", "48afefa57b5e741ec0b068902d92e4ef2a6bc2d7") || abort("E3005: \"/system/vendor/modules/nand.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/ov8825_act.ko", "6b4a85cab98c6031c09fcf299ab9d73252fee3ab", "bb6544f92c1aa4f72415ba923fa5f834110a749b") || abort("E3005: \"/system/vendor/modules/ov8825_act.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/pktgen.ko", "2121c5d94d8a268ccb1aca87cd46f9e1344ca184", "ef6da91213a1b72a243e2ea926bcc5d9437bd736") || abort("E3005: \"/system/vendor/modules/pktgen.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/ps5220_xc7021.ko", "41831133cb88f8f55159219fa319dc6c762b2d86", "2318df424c1bd77e79fc5fac3ab748ef32bd5140") || abort("E3005: \"/system/vendor/modules/ps5220_xc7021.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/qualcomm.ko", "42b35d18b31bf430bb376a6435c119365254bad7", "eb07d10a0845950b12c445d9bd13df4608b12a7e") || abort("E3005: \"/system/vendor/modules/qualcomm.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/rtk_btusb.ko", "1fdb92c5778ab7714443d64357622b1c46026d63", "5882231963f312819af8d9ca8afcdd1c06c73871") || abort("E3005: \"/system/vendor/modules/rtk_btusb.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/rtl_btlpm.ko", "edcbdfcfaa2bcb4d43da1a45053814fa75c35c7e", "070651bb5781346fed3db294c455348cbc9c6ad0") || abort("E3005: \"/system/vendor/modules/rtl_btlpm.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/sc2233_xc7021.ko", "a9ce445a03fb8819a3ac37fe82ff9a29ca8af025", "821906d77ae4cde8ce4fec433909aa7458929be3") || abort("E3005: \"/system/vendor/modules/sc2233_xc7021.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/sunxi-ir-rx.ko", "038467e570fbaa0629e18075fee32e18ffaf49a4", "365e1cfd0009c25c0313972fbb6215f1dbe9a8e7") || abort("E3005: \"/system/vendor/modules/sunxi-ir-rx.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/sunxi_timer_test.ko", "750e536a3d545e36fd16d984276bde6bcb4ca767", "14b41f026a87184bbbdf475e40496d0972fbe86b") || abort("E3005: \"/system/vendor/modules/sunxi_timer_test.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/sw-device.ko", "a97ed5cc8afb20839ce253c22ea1a3ed8b2d89c4", "03a2399e61eb9aff75f704be3cffed354e5c2ee4") || abort("E3005: \"/system/vendor/modules/sw-device.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/uvcvideo.ko", "8fd9338e39c10bfe70a53087de8c11edb29547cd", "7395f39d6b02178930f90813eba5d62962e0b63a") || abort("E3005: \"/system/vendor/modules/uvcvideo.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/videobuf2-core.ko", "5759ebcacd5b221496383bc63cf32b7065be1b13", "1387780a5f897bff26fd95177d5b334887190214") || abort("E3005: \"/system/vendor/modules/videobuf2-core.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/videobuf2-dma-contig.ko", "2d0959a1fd2dc272465288bf1268dbd163e26c93", "b2ac03a52d349ba2372c931295afe50b1b070a57") || abort("E3005: \"/system/vendor/modules/videobuf2-dma-contig.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/videobuf2-memops.ko", "026c72413da530ee4eb16ce89ef5868da22a5f91", "fcddb2675cb5c81dcb65f59152c2e937d80ab618") || abort("E3005: \"/system/vendor/modules/videobuf2-memops.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/videobuf2-vmalloc.ko", "0b069aaef66b64a4d1569d9e3fbc8c93151e4f3b", "a7b5536af65277fee588f7a14b3fdc28b6b86930") || abort("E3005: \"/system/vendor/modules/videobuf2-vmalloc.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/vin_io.ko", "d06b3b44078a5ca4e443dc646cbc5c76e8835e70", "8858367c3e3905a9e013b9c53bf42fb618036266") || abort("E3005: \"/system/vendor/modules/vin_io.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/vin_v4l2.ko", "71921eea79090ac9c3e4628adb2fe2759e026394", "74276253527976250572c445dc56e93d7c086c2e") || abort("E3005: \"/system/vendor/modules/vin_v4l2.ko\" has unexpected contents.");
apply_patch_check("/system/vendor/modules/xradio_wlan.ko", "ca4e4e6a6fa9ea99dfb09628e639c6d86542cee7", "ea8da09570216b0e6ef4ae79edcfbb281f9073ae") || abort("E3005: \"/system/vendor/modules/xradio_wlan.ko\" has unexpected contents.");
apply_patch_check("/system/xbmc_preinstall/org.xbmc.kodi.apk", "eb46249daeac89d61310aadfaa5253970b239204", "c1b9fc5518fd4d45e90c48f0a82b56fe45449306") || abort("E3005: \"/system/xbmc_preinstall/org.xbmc.kodi.apk\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/by-name/boot:17647616:5a45753d288bdb6b1ad17c070b0f419a9c24b5db:17647616:e0cb1483fa8aee4f50be9343a315ba7ad0674bed") || abort("E3005: \"EMMC:/dev/block/by-name/boot:17647616:5a45753d288bdb6b1ad17c070b0f419a9c24b5db:17647616:e0cb1483fa8aee4f50be9343a315ba7ad0674bed\" has unexpected contents.");
apply_patch_space(94782143) || abort("E3006: Not enough free space on /cache to apply patches.");
markOtaState(passCheck);

# ---- start making changes here ----

ui_print("Removing unneeded files...");
delete("/system/recovery.img", "/system/recovery-from-boot.p",
       "/system/preinstall/com.mobdro.android_2.1.14.apk",
       "/system/preinstall/AptoideTV.apk", "/system/framework/wifi-service.jar",
       "/system/framework/voip-common.jar",
       "/system/framework/telephony-common.jar",
       "/system/framework/services.jar",
       "/system/framework/org.apache.http.legacy.boot.jar",
       "/system/framework/okhttp.jar", "/system/framework/ims-common.jar",
       "/system/framework/framework.jar", "/system/framework/core-junit.jar",
       "/system/framework/conscrypt.jar", "/system/framework/bouncycastle.jar",
       "/system/fast_preinstall/com.netflix.mediaclient_6.26.1.apk",
       "/system/fast_preinstall/com.netflix.mediaclient_6.16.0.apk");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/app/BLEAutoPair/BLEAutoPair.apk", "-",
            1d958e0716596111c2e9d6705a86db8a4097ed3f, 12552,
            1e659bd75e102e721e924c512b9f377b785b15da,
            package_extract_file("patch/system/app/BLEAutoPair/BLEAutoPair.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/BLEAutoPair/BLEAutoPair.apk");
set_progress(0.000022);
apply_patch("/system/app/BasicDreams/BasicDreams.apk", "-",
            c370768981d6ad117405a464f1deb4e5d8fc6f4f, 40248,
            584dc9847e0d0a2e1e6d871067868966f68601c4,
            package_extract_file("patch/system/app/BasicDreams/BasicDreams.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/BasicDreams/BasicDreams.apk");
set_progress(0.000093);
apply_patch("/system/app/Bluetooth/Bluetooth.apk", "-",
            f3e1293741e9d21d811b2279f134b747580dfb47, 1937577,
            93b63e4ef10a186ba08f293e3770943df83798d9,
            package_extract_file("patch/system/app/Bluetooth/Bluetooth.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/Bluetooth/Bluetooth.apk");
set_progress(0.003498);
apply_patch("/system/app/BluetoothMidiService/BluetoothMidiService.apk",
            "-", 61d669c59ca4adec148a4487c763d6e362e1e76d, 14849,
            192131a21d25be8a6cb9660dea2eedc32ad3e3fb,
            package_extract_file("patch/system/app/BluetoothMidiService/BluetoothMidiService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/BluetoothMidiService/BluetoothMidiService.apk");
set_progress(0.003525);
apply_patch("/system/app/BookmarkProvider/BookmarkProvider.apk",
            "-", 1f773171d9d2e073e9def13da3d5797da0de4462, 19146,
            76b680ea19833e2d2da0b4c77dd0f10a32adfb9a,
            package_extract_file("patch/system/app/BookmarkProvider/BookmarkProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/BookmarkProvider/BookmarkProvider.apk");
set_progress(0.003558);
apply_patch("/system/app/Camera2/Camera2.apk", "-",
            a17589d810ec233db0d63cbe3063688283ac7e0c, 9646543,
            b646240b42b625d8d292f558f9f8409f8ea36916,
            package_extract_file("patch/system/app/Camera2/Camera2.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/Camera2/Camera2.apk");
set_progress(0.020514);
apply_patch("/system/app/CaptivePortalLogin/CaptivePortalLogin.apk",
            "-", 85faf09aed8ee81502025861bfce48b21dcb5959, 70416,
            efe164414e5d7fa42d2f3026e5ac0e143351c766,
            package_extract_file("patch/system/app/CaptivePortalLogin/CaptivePortalLogin.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/CaptivePortalLogin/CaptivePortalLogin.apk");
set_progress(0.020638);
apply_patch("/system/app/CertInstaller/CertInstaller.apk", "-",
            2e147092468bba0dc17c8fa73bbaf66eacf3d04d, 371179,
            883f42f4e8a2a2e4e6ae9140b8a79dc3cc0bd915,
            package_extract_file("patch/system/app/CertInstaller/CertInstaller.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/CertInstaller/CertInstaller.apk");
set_progress(0.021290);
apply_patch("/system/app/DownloadProviderUi/DownloadProviderUi.apk",
            "-", c1fa9c57c3d38c6d0ade199cc9641ca55bd97aa6, 235841,
            2bca73eaca8bf9701127140654c068e4aadaa3aa,
            package_extract_file("patch/system/app/DownloadProviderUi/DownloadProviderUi.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/DownloadProviderUi/DownloadProviderUi.apk");
set_progress(0.021704);
apply_patch("/system/app/EasterEgg/EasterEgg.apk", "-",
            4cceb18af5cb3cac678b20572d92674535e5af37, 196020,
            6a872b2874ca185dc2d6d13700544a59c8e1dec1,
            package_extract_file("patch/system/app/EasterEgg/EasterEgg.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/EasterEgg/EasterEgg.apk");
set_progress(0.022049);
apply_patch("/system/app/ExactCalculator/ExactCalculator.apk", "-",
            50835fbef645e3a610e19093f02cff216e208993, 396048,
            678e0a8cee539bc94e426acd2929ffb0663d7677,
            package_extract_file("patch/system/app/ExactCalculator/ExactCalculator.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/ExactCalculator/ExactCalculator.apk");
set_progress(0.022745);
apply_patch("/system/app/ExtShared/ExtShared.apk", "-",
            6ffb250f8a95393c612e9de3dba2cb438da017b0, 6616,
            ca87a1e195e2251c91041ec7c1492fb3bec63ebb,
            package_extract_file("patch/system/app/ExtShared/ExtShared.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/ExtShared/ExtShared.apk");
set_progress(0.022757);
apply_patch("/system/app/H6_FT/H6_FT.apk", "-",
            b2b2af8fa00a29fd05ce71d80d38fd99f59256c2, 15023449,
            8ba15936cddd432f18ff7d1f37946bfa3ec55c47,
            package_extract_file("patch/system/app/H6_FT/H6_FT.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/H6_FT/H6_FT.apk");
set_progress(0.049163);
apply_patch("/system/app/HTMLViewer/HTMLViewer.apk", "-",
            f56c20ff68032edee7c2f9c8672afe23b7399827, 18118,
            430a0bc46562cd5406dcca37e88a00f2de37a1b3,
            package_extract_file("patch/system/app/HTMLViewer/HTMLViewer.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/HTMLViewer/HTMLViewer.apk");
set_progress(0.049195);
apply_patch("/system/app/KeyChain/KeyChain.apk", "-",
            a3df0d17bd230a0cb2f3824875217cb586c78d44, 109901,
            f5ce1994b72d0ec4939faa3b53bca90531609652,
            package_extract_file("patch/system/app/KeyChain/KeyChain.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/KeyChain/KeyChain.apk");
set_progress(0.049388);
apply_patch("/system/app/LatinIME/LatinIME.apk", "-",
            e3adb353fee16bad7ccf61b3e740db19bced044b, 17317179,
            33d1faa26aeb6ecaa4dfef5bcd8fa15e70cf55b4,
            package_extract_file("patch/system/app/LatinIME/LatinIME.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/LatinIME/LatinIME.apk");
set_progress(0.079826);
apply_patch("/system/app/LiveWallpapersPicker/LiveWallpapersPicker.apk",
            "-", 591263d296873f9923e1597ca9c09a36911b340f, 292383,
            b277e7241fdb3a67d5f71e044d3238f8d1a40f52,
            package_extract_file("patch/system/app/LiveWallpapersPicker/LiveWallpapersPicker.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/LiveWallpapersPicker/LiveWallpapersPicker.apk");
set_progress(0.080340);
apply_patch("/system/app/Music/Music.apk", "-",
            339d782fc288c545ec81451acec6e52d005316e4, 912511,
            2473670fe2ac0104dd754a9b07a19e6f8f5d9a43,
            package_extract_file("patch/system/app/Music/Music.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/Music/Music.apk");
set_progress(0.081944);
apply_patch("/system/app/OpenWnn/OpenWnn.apk", "-",
            b12439574d7ae679e0cc91e908826da45943c01a, 1481909,
            e0ee9fa7cef313dfd60906dcc0dabec791243ca4,
            package_extract_file("patch/system/app/OpenWnn/OpenWnn.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/OpenWnn/OpenWnn.apk");
set_progress(0.084549);
apply_patch("/system/app/PacProcessor/PacProcessor.apk", "-",
            07448a14268447b700e150e0575d9780fc3f81a5, 7986,
            efe54277ed9a952f03de1f4c2a605896273ed872,
            package_extract_file("patch/system/app/PacProcessor/PacProcessor.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/PacProcessor/PacProcessor.apk");
set_progress(0.084563);
apply_patch("/system/app/PhotoTable/PhotoTable.apk", "-",
            4ffb3c1aca1fb303ef025535de703612c5b208cd, 496265,
            0cf6ae3babe55f06aa02b4845196572f0824df54,
            package_extract_file("patch/system/app/PhotoTable/PhotoTable.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/PhotoTable/PhotoTable.apk");
set_progress(0.085435);
apply_patch("/system/app/PicoTts/PicoTts.apk", "-",
            d95e36bc3f11161f9e5d3910a349ef766e9c3a90, 23390,
            9bf904fcce0ed15d4b5d02e611280e8d75a460e6,
            package_extract_file("patch/system/app/PicoTts/PicoTts.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/PicoTts/PicoTts.apk");
set_progress(0.085476);
apply_patch("/system/app/PrintRecommendationService/PrintRecommendationService.apk",
            "-", 5c8a5777a527c7b0de47a4f0da80fcfaaa930634, 30209,
            700852812e927e6916ef92e42d24d7323649bf4b,
            package_extract_file("patch/system/app/PrintRecommendationService/PrintRecommendationService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/PrintRecommendationService/PrintRecommendationService.apk");
set_progress(0.085529);
apply_patch("/system/app/PrintSpooler/PrintSpooler.apk", "-",
            f203c1f6cebe3d7c92c4b97599e230699e423e40, 721009,
            4d9c121ccd7218bf8757d00ad1c4c1b17a0b220d,
            package_extract_file("patch/system/app/PrintSpooler/PrintSpooler.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/PrintSpooler/PrintSpooler.apk");
set_progress(0.086797);
apply_patch("/system/app/QuickSearchBox/QuickSearchBox.apk", "-",
            eb3da4e7ed79eecb0d7a425d8bd04d7b0f31f94f, 508917,
            8653c4c8f4a2156bcad5f4c582d696f334a356e3,
            package_extract_file("patch/system/app/QuickSearchBox/QuickSearchBox.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/QuickSearchBox/QuickSearchBox.apk");
set_progress(0.087691);
apply_patch("/system/app/TvdVideo/TvdVideo.apk", "-",
            a1a52c95a6bc9a44c9c432a755eff71b1ee7ee79, 250957,
            202bfb1cce53dffc9072dfa5e348697e3bb278ee,
            package_extract_file("patch/system/app/TvdVideo/TvdVideo.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/TvdVideo/TvdVideo.apk");
set_progress(0.088132);
apply_patch("/system/app/UserDictionaryProvider/UserDictionaryProvider.apk",
            "-", 80781b27005e8a1d92a69ce77901cd75bd139fb7, 24687,
            f95cf49fd4204f3b21382b0dc3fc2aaf0554f5c0,
            package_extract_file("patch/system/app/UserDictionaryProvider/UserDictionaryProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/UserDictionaryProvider/UserDictionaryProvider.apk");
set_progress(0.088176);
apply_patch("/system/app/WAPPushManager/WAPPushManager.apk", "-",
            767c9a09b5e898293a4758aca0ebd39285bed203, 20909,
            db36ceb94be95266a6aeb1186467c7d77dd08081,
            package_extract_file("patch/system/app/WAPPushManager/WAPPushManager.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/WAPPushManager/WAPPushManager.apk");
set_progress(0.088212);
apply_patch("/system/app/WallpaperBackup/WallpaperBackup.apk", "-",
            ae91a7798abdd1b64dd8a1f7fceebf2ff8b4b935, 7705,
            08ab19179aced77fa6ab90f4ec5664b03931de54,
            package_extract_file("patch/system/app/WallpaperBackup/WallpaperBackup.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/app/WallpaperBackup/WallpaperBackup.apk");
set_progress(0.088226);
set_progress(0.088227);
apply_patch("/system/bin/preinstall.sh", "-",
            d67e95b9b43153ff299632eac9aa2473b02ff607, 730,
            15e20f97f660805c649eb134d9e8d7f5e9ee9830,
            package_extract_file("patch/system/bin/preinstall.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/preinstall.sh");
set_progress(0.088228);
apply_patch("/system/framework/am.jar", "-",
            90d12f9318519837bab82ec68e4855488beceb18, 29400,
            9876091304dd2d5736246e32f29ee2cdfc7d0a44,
            package_extract_file("patch/system/framework/am.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/am.jar");
set_progress(0.088280);
apply_patch("/system/framework/android.test.runner.jar", "-",
            d9c762d0fdac0eb2fb73bdeb59ebde6c0edb2d8b, 78204,
            417f602612f456c90a05083b09e15cf3051852fe,
            package_extract_file("patch/system/framework/android.test.runner.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/android.test.runner.jar");
set_progress(0.088417);
apply_patch("/system/framework/appwidget.jar", "-",
            48655b29ed18d415ce91bfb698cea0bac2bcc239, 3072,
            c002cf20a890a72c88c4479172f62aa3aed47d43,
            package_extract_file("patch/system/framework/appwidget.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/appwidget.jar");
set_progress(0.088423);
apply_patch("/system/framework/arm/boot-framework.art", "-",
            b1e71f772df458d9731b521a871d70d82dbebfca, 4337664,
            e8a3adecf15c6cb1f8b036b477f2a44f945b47a3,
            package_extract_file("patch/system/framework/arm/boot-framework.art.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-framework.art");
set_progress(0.096047);
apply_patch("/system/framework/arm/boot-framework.oat", "-",
            f36ac086e8815ce4c4965419b205c3171e54ff71, 35780156,
            a09b1ea2104f63497fcd570d6007c81a100b9c55,
            package_extract_file("patch/system/framework/arm/boot-framework.oat.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-framework.oat");
set_progress(0.158937);
apply_patch("/system/framework/arm/boot-ims-common.art", "-",
            a1deb063146994450ee28ca5a72bd0539160e04a, 16384,
            a8151c95be17f6931e776cc0ebbc8b33d228591c,
            package_extract_file("patch/system/framework/arm/boot-ims-common.art.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-ims-common.art");
set_progress(0.158966);
apply_patch("/system/framework/arm/boot-ims-common.oat", "-",
            8743b1da2878e0f85c153d970fb4c8f1eae621dd, 261120,
            705242d2326c7aabde6782772ae915a4cebb3f06,
            package_extract_file("patch/system/framework/arm/boot-ims-common.oat.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-ims-common.oat");
set_progress(0.159425);
apply_patch("/system/framework/arm/boot-org.apache.http.legacy.boot.art",
            "-", 43da1bf880f94144a28053cedea975fb418ac44d, 73728,
            04f3bf9a89905117bf337d8374392efef57abbfd,
            package_extract_file("patch/system/framework/arm/boot-org.apache.http.legacy.boot.art.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-org.apache.http.legacy.boot.art");
set_progress(0.159554);
apply_patch("/system/framework/arm/boot-org.apache.http.legacy.boot.oat",
            "-", 0312f178c6cbf899c5b1993d3184c97b59e52bc0, 1060188,
            24d34cfc5ff85721a3166925d6ec7520b0bd28f6,
            package_extract_file("patch/system/framework/arm/boot-org.apache.http.legacy.boot.oat.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-org.apache.http.legacy.boot.oat");
set_progress(0.161418);
apply_patch("/system/framework/arm/boot-telephony-common.art", "-",
            6c2c94f3fcbd87cc597a7de47610ddec58bb1e71, 151552,
            f43ff5c2f47652f8453e37e89e1263672cff9f93,
            package_extract_file("patch/system/framework/arm/boot-telephony-common.art.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-telephony-common.art");
set_progress(0.161684);
apply_patch("/system/framework/arm/boot-telephony-common.oat", "-",
            0dc6924d5e267311a4c1cbf1f4e73c5718d23745, 4367560,
            b5a0bd7baa0d2864b131b0da535cc4ca097d03c6,
            package_extract_file("patch/system/framework/arm/boot-telephony-common.oat.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/arm/boot-telephony-common.oat");
set_progress(0.169361);
apply_patch("/system/framework/bmgr.jar", "-",
            e7f1d870022f71302e7a280acaf8605f955f9442, 8720,
            7cfeeae703c9b554af05f7ad6eaa9e652924a581,
            package_extract_file("patch/system/framework/bmgr.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/bmgr.jar");
set_progress(0.169376);
apply_patch("/system/framework/bu.jar", "-",
            6f7eec9bd4a7cb3410f73ec4ffa0537cbf0b6827, 2848,
            dcbe3911fd101fbd51f64c35dd3401b2f123bf12,
            package_extract_file("patch/system/framework/bu.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/bu.jar");
set_progress(0.169381);
apply_patch("/system/framework/com.android.future.usb.accessory.jar",
            "-", 4a5775d1cf8b8895879a2a644fc6a61f0e7a10d0, 2845,
            0d6c5f9f4ee3cb7dfbf664e9e1493395a47a410f,
            package_extract_file("patch/system/framework/com.android.future.usb.accessory.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/com.android.future.usb.accessory.jar");
set_progress(0.169386);
apply_patch("/system/framework/com.android.location.provider.jar",
            "-", f8f8dbd275f272297432f0f08b53702935c53b4c, 12482,
            44c56eff398ae4cc82527a9bc23b22a6db9d5ad7,
            package_extract_file("patch/system/framework/com.android.location.provider.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/com.android.location.provider.jar");
set_progress(0.169408);
apply_patch("/system/framework/com.android.media.remotedisplay.jar",
            "-", da67fe4922855cfe06fb4f44faf4ef33a2200219, 4548,
            e2f39e31cdc2d397717ff05bad3d1dab65bd3703,
            package_extract_file("patch/system/framework/com.android.media.remotedisplay.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/com.android.media.remotedisplay.jar");
set_progress(0.169416);
apply_patch("/system/framework/com.android.mediadrm.signer.jar",
            "-", 76cbf584f0decb869826502dbda6578574f1b4cb, 1721,
            65a62101f9571c36ea40a4b7fe6320e8e8f7b99d,
            package_extract_file("patch/system/framework/com.android.mediadrm.signer.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/com.android.mediadrm.signer.jar");
set_progress(0.169419);
apply_patch("/system/framework/content.jar", "-",
            b3dcfae8b001b2058c2c767bacda4884ef39d54f, 8672,
            aea8f972db6e6159e244d46464d360ee0a5384f9,
            package_extract_file("patch/system/framework/content.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/content.jar");
set_progress(0.169435);
apply_patch("/system/framework/dpm.jar", "-",
            646bc124a48a0cd05dc2ffc949cd33d11f87e605, 3572,
            0eb24bde0f3c6d79966314546d0b09c0cf83c23e,
            package_extract_file("patch/system/framework/dpm.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/dpm.jar");
set_progress(0.169441);
apply_patch("/system/framework/ethernet-service.jar", "-",
            17e00f9d4314a4d6573e4bd2cef0ee77b8b25110, 10691,
            73759ee9fe9a5032ea943af86c960114f4b5ef49,
            package_extract_file("patch/system/framework/ethernet-service.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/ethernet-service.jar");
set_progress(0.169460);
apply_patch("/system/framework/framework-res.apk", "-",
            859fbd64a1b38bfce6e51d4ddef1328947294dcb, 34773728,
            5a7efcca7609d0b6c3dc9d4796a701f37f377a1f,
            package_extract_file("patch/system/framework/framework-res.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/framework-res.apk");
set_progress(0.230581);
apply_patch("/system/framework/hid.jar", "-",
            72f9ce99d25359f40ed38f561dafc3a0e0e3b651, 7532,
            b0f4034e35d9c0ad4e8251761f5912ac73caaec5,
            package_extract_file("patch/system/framework/hid.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/hid.jar");
set_progress(0.230594);
apply_patch("/system/framework/ime.jar", "-",
            6c13c76bbf6aa9d747dbaab1fd442f81ba181e95, 3320,
            8ca4eaee14a7edab29b57909b08e3d8f322840b7,
            package_extract_file("patch/system/framework/ime.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/ime.jar");
set_progress(0.230600);
apply_patch("/system/framework/input.jar", "-",
            5b4683dbcd2c17380e07a7efebcea8b0050d5180, 4955,
            327dee9929af5477c88cc46fc62dc3593acb890b,
            package_extract_file("patch/system/framework/input.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/input.jar");
set_progress(0.230609);
apply_patch("/system/framework/javax.obex.jar", "-",
            90af00f3e694c9464726db09dfdf4f8ace484dd3, 28387,
            fa32c25f3ebf1c707c0a0b7e15b04c0772412345,
            package_extract_file("patch/system/framework/javax.obex.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/javax.obex.jar");
set_progress(0.230658);
apply_patch("/system/framework/media_cmd.jar", "-",
            053bde0e4e1729df28f4415505e35366a2979348, 5464,
            0a57233b6b347faf568d9f89cc55cb16dd4de1dd,
            package_extract_file("patch/system/framework/media_cmd.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/media_cmd.jar");
set_progress(0.230668);
apply_patch("/system/framework/monkey.jar", "-",
            7c3fe5f94d85e0a215dcf1b80daa3fb4d6cc9675, 52303,
            a7c170b0e1d6ede4471c9ccaa61a5f4624a009ea,
            package_extract_file("patch/system/framework/monkey.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/monkey.jar");
set_progress(0.230760);
apply_patch("/system/framework/pm.jar", "-",
            819ecdd7345f9f140205972d5249fb1358838214, 17277,
            419a3a9319697472dd6306b439b56d761776cb78,
            package_extract_file("patch/system/framework/pm.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/pm.jar");
set_progress(0.230790);
apply_patch("/system/framework/pppoe-service.jar", "-",
            ed743263a11556cf0017e5bf67fde9ca95199f6c, 10572,
            b5936c72b59d00c4533c026ac2caa34d30a1c5a2,
            package_extract_file("patch/system/framework/pppoe-service.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/pppoe-service.jar");
set_progress(0.230809);
apply_patch("/system/framework/requestsync.jar", "-",
            1cfbdebf5ebeeb2ac19d1a8ee8d23cf6eb0cd1f5, 4196,
            9357af90d6731ec0c370b73437666cef00990fc2,
            package_extract_file("patch/system/framework/requestsync.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/requestsync.jar");
set_progress(0.230816);
apply_patch("/system/framework/settings.jar", "-",
            eb42db3b51cd762f7356b311bff3f49740eb6843, 5532,
            770622a8b5f1567da8457ec9e25c16c37100fa95,
            package_extract_file("patch/system/framework/settings.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/settings.jar");
set_progress(0.230826);
apply_patch("/system/framework/sm.jar", "-",
            6f6568920133e437ab3ccff744f2d90989952660, 3968,
            56365bc41c24eff7fb189767527dc5300a20c800,
            package_extract_file("patch/system/framework/sm.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/sm.jar");
set_progress(0.230833);
apply_patch("/system/framework/svc.jar", "-",
            9b062d0218faf9cb32fcab5c9cfd16f8a2907ea9, 4939,
            ff62426bccfc1055228d5c13b931dd87f3104ed9,
            package_extract_file("patch/system/framework/svc.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/svc.jar");
set_progress(0.230842);
apply_patch("/system/framework/telecom.jar", "-",
            a648769cd4998ea9d24ea71109b9feae8a1cf0fd, 3902,
            6e9a3efe52aab7c69d415cf12963f8651a630b84,
            package_extract_file("patch/system/framework/telecom.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/telecom.jar");
set_progress(0.230849);
apply_patch("/system/framework/uiautomator.jar", "-",
            caa62f57d8c10bc301a6ed2285f59e0b8a04e221, 46353,
            ec1798589f98dfbb6536603188002ba78b041945,
            package_extract_file("patch/system/framework/uiautomator.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/uiautomator.jar");
set_progress(0.230930);
apply_patch("/system/framework/wm.jar", "-",
            5e21c60293d225b83a76a879c1140f3d59161efc, 4222,
            aedc1b4cf1cb5c3a942d7bf3057e2c240b5203cc,
            package_extract_file("patch/system/framework/wm.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/wm.jar");
set_progress(0.230937);
apply_patch("/system/lib/libOmxVenc.so", "-",
            dd8366cc0744d5d691abd0a75f9d1ced0f995b75, 52040,
            1d52c5a0473b2f36fb22236733e2196427e1386a,
            package_extract_file("patch/system/lib/libOmxVenc.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libOmxVenc.so");
set_progress(0.231029);
apply_patch("/system/lib/libandroid_runtime.so", "-",
            85e1a70d6cdddf022d9d8352728486b8e7670624, 981380,
            414b1e00e5736c46dc1255b87412b506304b1d5b,
            package_extract_file("patch/system/lib/libandroid_runtime.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libandroid_runtime.so");
set_progress(0.232754);
apply_patch("/system/lib/libhwui.so", "-",
            e1cdfec9e39f99e73f79c10e7405ba11b951c520, 506064,
            420f3da80c742be44c51396b11556d3d85b2dead,
            package_extract_file("patch/system/lib/libhwui.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libhwui.so");
set_progress(0.233643);
apply_patch("/system/lib/libinputflinger.so", "-",
            6eb9ef420adc7d212555951e0fd82989e656c953, 271972,
            a162255ba5da24035419a95dbf18f80e5ad16d96,
            package_extract_file("patch/system/lib/libinputflinger.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libinputflinger.so");
set_progress(0.234121);
apply_patch("/system/lib/libsurfaceflinger.so", "-",
            2b1f1358163abb37096050c94726b1b6e85f46ef, 362168,
            6bead26672a0764ee0b9445f07c2690cc2316fd4,
            package_extract_file("patch/system/lib/libsurfaceflinger.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libsurfaceflinger.so");
set_progress(0.234758);
apply_patch("/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk",
            "-", 4ee6900adfb0d8cd7ecf83ae308c4a3aab56dd35, 232100,
            a7041be3052560db4e246c9065c9d53f0e3a0e4e,
            package_extract_file("patch/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk");
set_progress(0.235166);
apply_patch("/system/priv-app/BlockedNumberProvider/BlockedNumberProvider.apk",
            "-", b14853048cb6511e5bcd30fce3eda01f4ddb5110, 164495,
            120d5a0f696a4cf074a6202e1c39b7a957051228,
            package_extract_file("patch/system/priv-app/BlockedNumberProvider/BlockedNumberProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/BlockedNumberProvider/BlockedNumberProvider.apk");
set_progress(0.235455);
apply_patch("/system/priv-app/CalendarProvider/CalendarProvider.apk",
            "-", 4f2c26057550a9d13392afa3424598d19f3e375c, 345591,
            75ac30409b3f6daee81831e603afa0433a5bb6ed,
            package_extract_file("patch/system/priv-app/CalendarProvider/CalendarProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/CalendarProvider/CalendarProvider.apk");
set_progress(0.236063);
apply_patch("/system/priv-app/ContactsProvider/ContactsProvider.apk",
            "-", a2fb646e6b74ad1a88fb45f053164589f7ef7b61, 564701,
            7ec9a432a4076251e83a7a8b5534f6bb4b75d5f0,
            package_extract_file("patch/system/priv-app/ContactsProvider/ContactsProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/ContactsProvider/ContactsProvider.apk");
set_progress(0.237055);
apply_patch("/system/priv-app/DefaultContainerService/DefaultContainerService.apk",
            "-", 51af8513f4d3349aade001551b9220d0816dd3eb, 22907,
            7e8974301e2d5494d725530a88f32fb454d5c8da,
            package_extract_file("patch/system/priv-app/DefaultContainerService/DefaultContainerService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/DefaultContainerService/DefaultContainerService.apk");
set_progress(0.237095);
apply_patch("/system/priv-app/DocumentsUI/DocumentsUI.apk", "-",
            794ae557a315aa154f2db0e33867b2e8b5df231d, 1806964,
            a7119c451eee79e2541dc42551e8821aeaa434d6,
            package_extract_file("patch/system/priv-app/DocumentsUI/DocumentsUI.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/DocumentsUI/DocumentsUI.apk");
set_progress(0.240271);
apply_patch("/system/priv-app/DownloadProvider/DownloadProvider.apk",
            "-", 024f9cd3589f27194c8106e8e23564d2b782e212, 596056,
            4069fd76ba8433e3ba33279eaebdf6c2e1e90144,
            package_extract_file("patch/system/priv-app/DownloadProvider/DownloadProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/DownloadProvider/DownloadProvider.apk");
set_progress(0.241319);
apply_patch("/system/priv-app/EmergencyInfo/EmergencyInfo.apk", "-",
            042ee988a24d339924526859ff15c798b0c53486, 3519048,
            29cb1d335583956fc4d33f4c4e3aaadd7d6db58c,
            package_extract_file("patch/system/priv-app/EmergencyInfo/EmergencyInfo.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/EmergencyInfo/EmergencyInfo.apk");
set_progress(0.247504);
apply_patch("/system/priv-app/ExtServices/ExtServices.apk", "-",
            2e3f4ea3b0101bcd0c3d927c622708137470facc, 10494,
            51e54a98f90688cd648ba17a772c129191974eb8,
            package_extract_file("patch/system/priv-app/ExtServices/ExtServices.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/ExtServices/ExtServices.apk");
set_progress(0.247523);
apply_patch("/system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk",
            "-", 6dd3d7535e8cc84e6a2739daec2994bef582059c, 46626,
            a2e853f8b64a70355f38f069ccc09733f1c2879b,
            package_extract_file("patch/system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/ExternalStorageProvider/ExternalStorageProvider.apk");
set_progress(0.247605);
apply_patch("/system/priv-app/FusedLocation/FusedLocation.apk", "-",
            c3bb611139a9b23b05f8d99179fa8f307c8e4924, 21152,
            8ce1d29cfcddc69b3694073e5318c5e42bc883e0,
            package_extract_file("patch/system/priv-app/FusedLocation/FusedLocation.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/FusedLocation/FusedLocation.apk");
set_progress(0.247642);
apply_patch("/system/priv-app/InputDevices/InputDevices.apk", "-",
            ab439558a339221db4e75a76388f2d5e388c336a, 220148,
            9bf2f92f3e2e793aa970a9e055d86761e48fc563,
            package_extract_file("patch/system/priv-app/InputDevices/InputDevices.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/InputDevices/InputDevices.apk");
set_progress(0.248029);
apply_patch("/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk",
            "-", 5eeb92af0672a6e95af5ae6eb349adf61eb20b33, 901367,
            d346710e918d84653024aa7df0f7a4d18303a57d,
            package_extract_file("patch/system/priv-app/ManagedProvisioning/ManagedProvisioning.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/ManagedProvisioning/ManagedProvisioning.apk");
set_progress(0.249613);
apply_patch("/system/priv-app/MediaProvider/MediaProvider.apk", "-",
            6b6f2f6cc3f5aabbaca50379dd1d90b1720e9d4c, 152348,
            2c63de994b4f721d7acb3482ce0ccc82df8bece4,
            package_extract_file("patch/system/priv-app/MediaProvider/MediaProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/MediaProvider/MediaProvider.apk");
set_progress(0.249881);
apply_patch("/system/priv-app/MmsService/MmsService.apk", "-",
            a916d4253a6291de6f428a9e085e5ffdd049e8c3, 38292,
            f5073ce3c2828101460b7e50aff99f3ce5866b33,
            package_extract_file("patch/system/priv-app/MmsService/MmsService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/MmsService/MmsService.apk");
set_progress(0.249948);
apply_patch("/system/priv-app/MtpDocumentsProvider/MtpDocumentsProvider.apk",
            "-", b7ab53f6f9384143e4c04b3d475c0ae5063452f4, 84961,
            6980656d3c3ecf994c826051e1a89f269ac98863,
            package_extract_file("patch/system/priv-app/MtpDocumentsProvider/MtpDocumentsProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/MtpDocumentsProvider/MtpDocumentsProvider.apk");
set_progress(0.250098);
apply_patch("/system/priv-app/MusicFX/MusicFX.apk", "-",
            a77da6a175d7d416506a90516aba4f05cdc23d56, 83732,
            90ba5e086ed8ebbab622cf677bff15f249ebae43,
            package_extract_file("patch/system/priv-app/MusicFX/MusicFX.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/MusicFX/MusicFX.apk");
set_progress(0.250245);
apply_patch("/system/priv-app/OneTimeInitializer/OneTimeInitializer.apk",
            "-", 463921a150575fbb19ee2e0793e318a0a53b9005, 19553,
            e0140766d7245569c3260b9b2472dd0796ec2f58,
            package_extract_file("patch/system/priv-app/OneTimeInitializer/OneTimeInitializer.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/OneTimeInitializer/OneTimeInitializer.apk");
set_progress(0.250279);
apply_patch("/system/priv-app/PackageInstaller/PackageInstaller.apk",
            "-", b7269aa3ff72049049186ac9822e7d0782f4b869, 5259956,
            8299d2ff2e662f1d65f9db64726c43c9d87c0b15,
            package_extract_file("patch/system/priv-app/PackageInstaller/PackageInstaller.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/PackageInstaller/PackageInstaller.apk");
set_progress(0.259525);
apply_patch("/system/priv-app/Provision/Provision.apk", "-",
            e5b7b90a50d37c9355fd939dc16b620f0f0c6287, 5811,
            b30f965af9d10ccaf039a844fd73e4e60d519812,
            package_extract_file("patch/system/priv-app/Provision/Provision.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/Provision/Provision.apk");
set_progress(0.259535);
apply_patch("/system/priv-app/ProxyHandler/ProxyHandler.apk", "-",
            d75b125d01bc43d5f979a9e9d8792004aaf029b8, 11699,
            4475c66f535d521246232888a8dbc39db1b222ce,
            package_extract_file("patch/system/priv-app/ProxyHandler/ProxyHandler.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/ProxyHandler/ProxyHandler.apk");
set_progress(0.259555);
apply_patch("/system/priv-app/Settings/Settings.apk", "-",
            bcaa20dcb7523f89989bd15d6c5a34f61fd18f71, 31957760,
            3ad3806b327de0e547da00458f3f945e035953e1,
            package_extract_file("patch/system/priv-app/Settings/Settings.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/Settings/Settings.apk");
set_progress(0.315727);
apply_patch("/system/priv-app/SettingsAssist/SettingsAssist.apk",
            "-", 083753e51a21316e4ca58274dddb89249926b5f1, 21057,
            741353af3ec0fecd6c881cfa09cd86388de2c652,
            package_extract_file("patch/system/priv-app/SettingsAssist/SettingsAssist.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/SettingsAssist/SettingsAssist.apk");
set_progress(0.315764);
apply_patch("/system/priv-app/SettingsProvider/SettingsProvider.apk",
            "-", 4818b826fa2dc3d800a87a75d1ec910221a75376, 173017,
            ab5420520e9e9190b064884624122b9e8ccac2fa,
            package_extract_file("patch/system/priv-app/SettingsProvider/SettingsProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/SettingsProvider/SettingsProvider.apk");
set_progress(0.316068);
apply_patch("/system/priv-app/SharedStorageBackup/SharedStorageBackup.apk",
            "-", c1a40d54b932c1be55b27783f7f772c15fec0f3f, 9010,
            593b8b08eca6533556dbf9da771072cff477f5d0,
            package_extract_file("patch/system/priv-app/SharedStorageBackup/SharedStorageBackup.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/SharedStorageBackup/SharedStorageBackup.apk");
set_progress(0.316084);
apply_patch("/system/priv-app/Shell/Shell.apk", "-",
            8f5e03e932e975060eee0eea2f0a6ad8a87217a5, 232060,
            9596ff2ecfc3140c31ef9c0b47d214c54cf1c4a1,
            package_extract_file("patch/system/priv-app/Shell/Shell.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/Shell/Shell.apk");
set_progress(0.316492);
apply_patch("/system/priv-app/StatementService/StatementService.apk",
            "-", c9488b9eaa2cf5d3c3d7c89395877870a2d64035, 36723,
            faa02e0cbf937a8f57348b0c8339f866565fb34a,
            package_extract_file("patch/system/priv-app/StatementService/StatementService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/StatementService/StatementService.apk");
set_progress(0.316556);
apply_patch("/system/priv-app/SystemUI/SystemUI.apk", "-",
            5b37690e85568f7177f6d768c17592c9074ab7d7, 11695307,
            f45f24ce0760f4e82feea926ab0b0ac904ce3fd6,
            package_extract_file("patch/system/priv-app/SystemUI/SystemUI.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/SystemUI/SystemUI.apk");
set_progress(0.337113);
apply_patch("/system/priv-app/TeleService/TeleService.apk", "-",
            bd7e26299fb60bbfcb033c825355e70725f619d5, 6567112,
            7a7985ae810e57b77b5fe3acba0965b6e6c4b3e1,
            package_extract_file("patch/system/priv-app/TeleService/TeleService.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/TeleService/TeleService.apk");
set_progress(0.348656);
apply_patch("/system/priv-app/Telecom/Telecom.apk", "-",
            20b4aaeec65c22568d7e73d1a80f226832b61052, 2945711,
            5609f7a215776d4fbc2c471d4fb786b0e375de39,
            package_extract_file("patch/system/priv-app/Telecom/Telecom.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/Telecom/Telecom.apk");
set_progress(0.353833);
apply_patch("/system/priv-app/TelephonyProvider/TelephonyProvider.apk",
            "-", 3664f01d8935bcdfdeaab1c40e8c8101661be7bf, 218668,
            54623ece8dc0a05f2646ea1851c9c7bfbcfa952c,
            package_extract_file("patch/system/priv-app/TelephonyProvider/TelephonyProvider.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/TelephonyProvider/TelephonyProvider.apk");
set_progress(0.354218);
apply_patch("/system/priv-app/TvdFileManager/TvdFileManager.apk",
            "-", 07d181634348f169a3b42593a36252b53793ad53, 906391,
            690bd975bba5af6b5fdaa6131c0df658ef651fb9,
            package_extract_file("patch/system/priv-app/TvdFileManager/TvdFileManager.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/TvdFileManager/TvdFileManager.apk");
set_progress(0.355811);
apply_patch("/system/priv-app/USBBT/USBBT.apk", "-",
            6e36c646dd2bd22dc1760a3fa6ea73b32cdc5f6e, 11118,
            ba21a1a4be6957ccd44d4fb9ffa4ed27401fb93e,
            package_extract_file("patch/system/priv-app/USBBT/USBBT.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/USBBT/USBBT.apk");
set_progress(0.355830);
apply_patch("/system/priv-app/VpnDialogs/VpnDialogs.apk", "-",
            faca97c1552dfcef1fb856cceb77a9e55a751ef5, 86710,
            45375aa4918509722bf74243dc1934d427061a6c,
            package_extract_file("patch/system/priv-app/VpnDialogs/VpnDialogs.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/VpnDialogs/VpnDialogs.apk");
set_progress(0.355983);
apply_patch("/system/priv-app/WallpaperCropper/WallpaperCropper.apk",
            "-", 7749489844ef47ba5129d7479fa664a0acd0d72a, 106448,
            09aa5d59ceab60c919d4d61d3ccd0f9721e49c01,
            package_extract_file("patch/system/priv-app/WallpaperCropper/WallpaperCropper.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/WallpaperCropper/WallpaperCropper.apk");
set_progress(0.356170);
apply_patch("/system/vendor/modules/6174a.ko", "-",
            73c3c17f01c084a137e5d1fc669545bacb7cf54d, 92745994,
            09a06bce04be24d27fbd36265d0f059d81a4f3e7,
            package_extract_file("patch/system/vendor/modules/6174a.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/6174a.ko");
set_progress(0.519188);
apply_patch("/system/vendor/modules/8188eu.ko", "-",
            75a08b1ddd0269a5fe59e3d114f35d9bdd12aa88, 2760245,
            85f4b7e91b8f96c4237babf85ac42e56f25e0139,
            package_extract_file("patch/system/vendor/modules/8188eu.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8188eu.ko");
set_progress(0.524039);
apply_patch("/system/vendor/modules/8189es.ko", "-",
            21c2e62ebd5788816f1036cf1288050f4ad4bce6, 2082871,
            ed05a96f5dd9a83e0d8c6fcfb07e57cee4a4d825,
            package_extract_file("patch/system/vendor/modules/8189es.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8189es.ko");
set_progress(0.527700);
apply_patch("/system/vendor/modules/8189fs.ko", "-",
            e6cacc264d9fbd4456e2f31b084f99c00c9904fd, 2043432,
            d7199d00284637122376ecaa0e7de85d269a8aee,
            package_extract_file("patch/system/vendor/modules/8189fs.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8189fs.ko");
set_progress(0.531292);
apply_patch("/system/vendor/modules/8192eu.ko", "-",
            6c0848c9e5dfd5a9ece413155e0b1fbeb1ce890c, 2746241,
            0521148b9e0439e040ed5484d6ccdf555be97bcf,
            package_extract_file("patch/system/vendor/modules/8192eu.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8192eu.ko");
set_progress(0.536119);
apply_patch("/system/vendor/modules/8723bs.ko", "-",
            0a1b08b3cc1a8a102d738dc6b744345ca924d287, 2296093,
            75b14d3dffc2a1c15b6e5d907cec959bc2119f1d,
            package_extract_file("patch/system/vendor/modules/8723bs.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8723bs.ko");
set_progress(0.540155);
apply_patch("/system/vendor/modules/8723bu.ko", "-",
            537833ab46639c1fb7c0a21054effba385d9f43f, 2480613,
            f332dbd0d3bcc3d1638a3c81bfbe26f59c644781,
            package_extract_file("patch/system/vendor/modules/8723bu.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8723bu.ko");
set_progress(0.544515);
apply_patch("/system/vendor/modules/8723ds.ko", "-",
            5bf4f37635b4df79347194e216eb7c63e4eaa73a, 2996273,
            348deba71c8bbcb75a0f1f7ed8bd1acaf2fb0417,
            package_extract_file("patch/system/vendor/modules/8723ds.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/8723ds.ko");
set_progress(0.549782);
apply_patch("/system/vendor/modules/88x2be.ko", "-",
            0d56effcd183807aa0cad04da1d8158bf79136ac, 3792561,
            adaf17123c7b92adbb15d3097aec4b564cb14f8d,
            package_extract_file("patch/system/vendor/modules/88x2be.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/88x2be.ko");
set_progress(0.556448);
apply_patch("/system/vendor/modules/88x2bs.ko", "-",
            d2ca506bd474c48caa84a87dc32d29e437e90286, 5822014,
            6ed9b75b9772bfa4330ffde7427ace2a8ffe4d03,
            package_extract_file("patch/system/vendor/modules/88x2bs.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/88x2bs.ko");
set_progress(0.566681);
apply_patch("/system/vendor/modules/actuator.ko", "-",
            e7f976307bf6547ce5abfb13e2dfa1b4c01119be, 242318,
            4b7ff3e7fca54f877115929ddd0dbe21378404c4,
            package_extract_file("patch/system/vendor/modules/actuator.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/actuator.ko");
set_progress(0.567107);
apply_patch("/system/vendor/modules/ad5820_act.ko", "-",
            b9f63bc45db659574b3031fca2d03a9c345a66f4, 267416,
            eb1f876710c9c07221e06494828779a870b1462b,
            package_extract_file("patch/system/vendor/modules/ad5820_act.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/ad5820_act.ko");
set_progress(0.567577);
apply_patch("/system/vendor/modules/atbm_wifi_sdio.ko", "-",
            9ee788d6c8e3cffd64a982689e3a7570d1dfdf52, 16074511,
            3507e31b7b31b0e1c931188e2ebca32a36afcd13,
            package_extract_file("patch/system/vendor/modules/atbm_wifi_sdio.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/atbm_wifi_sdio.ko");
set_progress(0.595831);
apply_patch("/system/vendor/modules/bcm_btlpm_rc.ko", "-",
            419e8d4c44d6b79f2a8045236e71b2093fa618f5, 324242,
            fcb1ab038d178d5c1d4b5666e2cd0c65c914f555,
            package_extract_file("patch/system/vendor/modules/bcm_btlpm_rc.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/bcm_btlpm_rc.ko");
set_progress(0.596401);
apply_patch("/system/vendor/modules/bcmdhd.ko", "-",
            f1a0439129b13cc0c554090799842d8cd6a193a1, 1556981,
            6514e81db206c6e1e5be2176bb414b6671aaec46,
            package_extract_file("patch/system/vendor/modules/bcmdhd.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/bcmdhd.ko");
set_progress(0.599137);
apply_patch("/system/vendor/modules/bcmdhdpci.ko", "-",
            da70d4a3a139e08a2b2e05d14f24982ea54bf918, 1665925,
            3fe98898aa496cd48e3146c45b51bce2cc8d13b6,
            package_extract_file("patch/system/vendor/modules/bcmdhdpci.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/bcmdhdpci.ko");
set_progress(0.602065);
apply_patch("/system/vendor/modules/dma-buf-test-exporter.ko", "-",
            fd2ef501db5fcb9411e09b142c9820df30f1ad2c, 252483,
            8152af613ac54003588a42ea0538c471277de16a,
            package_extract_file("patch/system/vendor/modules/dma-buf-test-exporter.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/dma-buf-test-exporter.ko");
set_progress(0.602509);
apply_patch("/system/vendor/modules/dw9714_act.ko", "-",
            091dd42b090b73a17bf7ffaa82f421bb302ab8d3, 262744,
            570d83b1e73fb96ca793a49ff2ae62ef17b6c685,
            package_extract_file("patch/system/vendor/modules/dw9714_act.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/dw9714_act.ko");
set_progress(0.602971);
apply_patch("/system/vendor/modules/f22_xc7021.ko", "-",
            f9dfb977ba30235d2b00556c091c487adc8e1fea, 309413,
            a20752a30d5e8c7621e2f9f5561be4cb4e0ba12c,
            package_extract_file("patch/system/vendor/modules/f22_xc7021.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/f22_xc7021.ko");
set_progress(0.603515);
apply_patch("/system/vendor/modules/fivm.ko", "-",
            022780fd868205848b9a465711f865fc4b8053cb, 425729,
            571c42be2f160904e97bfb19c691e95567f89038,
            package_extract_file("patch/system/vendor/modules/fivm.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/fivm.ko");
set_progress(0.604263);
apply_patch("/system/vendor/modules/gator.ko", "-",
            1814413ee0872cd606fae20f593f316ef2a00d8a, 1469263,
            76d4846db8d1eca552073f1463030fd987c2b3da,
            package_extract_file("patch/system/vendor/modules/gator.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/gator.ko");
set_progress(0.606846);
apply_patch("/system/vendor/modules/gspca_main.ko", "-",
            1f90864346b6d829522f6dc1ad5f9bc53a6da889, 578975,
            be244cc32c9340f97210974b6a7dcc97058543bb,
            package_extract_file("patch/system/vendor/modules/gspca_main.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/gspca_main.ko");
set_progress(0.607863);
apply_patch("/system/vendor/modules/kds.ko", "-",
            5d41292da5d22568f02a9171868eab097b27a6e2, 178353,
            239b0065ee05b0ae46c152cb4d77486dc0293c66,
            package_extract_file("patch/system/vendor/modules/kds.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/kds.ko");
set_progress(0.608177);
apply_patch("/system/vendor/modules/mali_kbase.ko", "-",
            3617c24052500d2470409c237b5b6d46dfa345e2, 12950265,
            dedc64c2021539a9e356ff23ba0ec57cf35a0dd9,
            package_extract_file("patch/system/vendor/modules/mali_kbase.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/mali_kbase.ko");
set_progress(0.630939);
apply_patch("/system/vendor/modules/nand.ko", "-",
            b7e977aa73e374672cd4491ecd68240cf53e3974, 3143030,
            48afefa57b5e741ec0b068902d92e4ef2a6bc2d7,
            package_extract_file("patch/system/vendor/modules/nand.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/nand.ko");
set_progress(0.636464);
apply_patch("/system/vendor/modules/ov8825_act.ko", "-",
            6b4a85cab98c6031c09fcf299ab9d73252fee3ab, 261736,
            bb6544f92c1aa4f72415ba923fa5f834110a749b,
            package_extract_file("patch/system/vendor/modules/ov8825_act.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/ov8825_act.ko");
set_progress(0.636924);
apply_patch("/system/vendor/modules/pktgen.ko", "-",
            2121c5d94d8a268ccb1aca87cd46f9e1344ca184, 542927,
            ef6da91213a1b72a243e2ea926bcc5d9437bd736,
            package_extract_file("patch/system/vendor/modules/pktgen.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/pktgen.ko");
set_progress(0.637878);
apply_patch("/system/vendor/modules/ps5220_xc7021.ko", "-",
            41831133cb88f8f55159219fa319dc6c762b2d86, 312504,
            2318df424c1bd77e79fc5fac3ab748ef32bd5140,
            package_extract_file("patch/system/vendor/modules/ps5220_xc7021.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/ps5220_xc7021.ko");
set_progress(0.638427);
apply_patch("/system/vendor/modules/qualcomm.ko", "-",
            42b35d18b31bf430bb376a6435c119365254bad7, 94781087,
            eb07d10a0845950b12c445d9bd13df4608b12a7e,
            package_extract_file("patch/system/vendor/modules/qualcomm.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/qualcomm.ko");
set_progress(0.805022);
apply_patch("/system/vendor/modules/rtk_btusb.ko", "-",
            1fdb92c5778ab7714443d64357622b1c46026d63, 429078,
            5882231963f312819af8d9ca8afcdd1c06c73871,
            package_extract_file("patch/system/vendor/modules/rtk_btusb.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/rtk_btusb.ko");
set_progress(0.805776);
apply_patch("/system/vendor/modules/rtl_btlpm.ko", "-",
            edcbdfcfaa2bcb4d43da1a45053814fa75c35c7e, 328764,
            070651bb5781346fed3db294c455348cbc9c6ad0,
            package_extract_file("patch/system/vendor/modules/rtl_btlpm.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/rtl_btlpm.ko");
set_progress(0.806354);
apply_patch("/system/vendor/modules/sc2233_xc7021.ko", "-",
            a9ce445a03fb8819a3ac37fe82ff9a29ca8af025, 309379,
            821906d77ae4cde8ce4fec433909aa7458929be3,
            package_extract_file("patch/system/vendor/modules/sc2233_xc7021.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/sc2233_xc7021.ko");
set_progress(0.806898);
apply_patch("/system/vendor/modules/sunxi-ir-rx.ko", "-",
            038467e570fbaa0629e18075fee32e18ffaf49a4, 346708,
            365e1cfd0009c25c0313972fbb6215f1dbe9a8e7,
            package_extract_file("patch/system/vendor/modules/sunxi-ir-rx.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/sunxi-ir-rx.ko");
set_progress(0.807507);
apply_patch("/system/vendor/modules/sunxi_timer_test.ko", "-",
            750e536a3d545e36fd16d984276bde6bcb4ca767, 264167,
            14b41f026a87184bbbdf475e40496d0972fbe86b,
            package_extract_file("patch/system/vendor/modules/sunxi_timer_test.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/sunxi_timer_test.ko");
set_progress(0.807972);
apply_patch("/system/vendor/modules/sw-device.ko", "-",
            a97ed5cc8afb20839ce253c22ea1a3ed8b2d89c4, 277398,
            03a2399e61eb9aff75f704be3cffed354e5c2ee4,
            package_extract_file("patch/system/vendor/modules/sw-device.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/sw-device.ko");
set_progress(0.808459);
apply_patch("/system/vendor/modules/uvcvideo.ko", "-",
            8fd9338e39c10bfe70a53087de8c11edb29547cd, 2074047,
            7395f39d6b02178930f90813eba5d62962e0b63a,
            package_extract_file("patch/system/vendor/modules/uvcvideo.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/uvcvideo.ko");
set_progress(0.812105);
apply_patch("/system/vendor/modules/videobuf2-core.ko", "-",
            5759ebcacd5b221496383bc63cf32b7065be1b13, 334879,
            1387780a5f897bff26fd95177d5b334887190214,
            package_extract_file("patch/system/vendor/modules/videobuf2-core.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/videobuf2-core.ko");
set_progress(0.812693);
apply_patch("/system/vendor/modules/videobuf2-dma-contig.ko", "-",
            2d0959a1fd2dc272465288bf1268dbd163e26c93, 250599,
            b2ac03a52d349ba2372c931295afe50b1b070a57,
            package_extract_file("patch/system/vendor/modules/videobuf2-dma-contig.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/videobuf2-dma-contig.ko");
set_progress(0.813134);
apply_patch("/system/vendor/modules/videobuf2-memops.ko", "-",
            026c72413da530ee4eb16ce89ef5868da22a5f91, 195273,
            fcddb2675cb5c81dcb65f59152c2e937d80ab618,
            package_extract_file("patch/system/vendor/modules/videobuf2-memops.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/videobuf2-memops.ko");
set_progress(0.813477);
apply_patch("/system/vendor/modules/videobuf2-vmalloc.ko", "-",
            0b069aaef66b64a4d1569d9e3fbc8c93151e4f3b, 206259,
            a7b5536af65277fee588f7a14b3fdc28b6b86930,
            package_extract_file("patch/system/vendor/modules/videobuf2-vmalloc.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/videobuf2-vmalloc.ko");
set_progress(0.813840);
apply_patch("/system/vendor/modules/vin_io.ko", "-",
            d06b3b44078a5ca4e443dc646cbc5c76e8835e70, 1357932,
            8858367c3e3905a9e013b9c53bf42fb618036266,
            package_extract_file("patch/system/vendor/modules/vin_io.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/vin_io.ko");
set_progress(0.816226);
apply_patch("/system/vendor/modules/vin_v4l2.ko", "-",
            71921eea79090ac9c3e4628adb2fe2759e026394, 3402064,
            74276253527976250572c445dc56e93d7c086c2e,
            package_extract_file("patch/system/vendor/modules/vin_v4l2.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/vin_v4l2.ko");
set_progress(0.822206);
apply_patch("/system/vendor/modules/xradio_wlan.ko", "-",
            ca4e4e6a6fa9ea99dfb09628e639c6d86542cee7, 1023625,
            ea8da09570216b0e6ef4ae79edcfbb281f9073ae,
            package_extract_file("patch/system/vendor/modules/xradio_wlan.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/modules/xradio_wlan.ko");
set_progress(0.824005);
apply_patch("/system/xbmc_preinstall/org.xbmc.kodi.apk", "-",
            eb46249daeac89d61310aadfaa5253970b239204, 94440326,
            c1b9fc5518fd4d45e90c48f0a82b56fe45449306,
            package_extract_file("patch/system/xbmc_preinstall/org.xbmc.kodi.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/xbmc_preinstall/org.xbmc.kodi.apk");
set_progress(0.990001);
ui_print("Patching boot image...");
apply_patch("EMMC:/dev/block/by-name/boot:17647616:5a45753d288bdb6b1ad17c070b0f419a9c24b5db:17647616:e0cb1483fa8aee4f50be9343a315ba7ad0674bed",
            "-", e0cb1483fa8aee4f50be9343a315ba7ad0674bed, 17647616,
            5a45753d288bdb6b1ad17c070b0f419a9c24b5db,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/by-name/boot:17647616:5a45753d288bdb6b1ad17c070b0f419a9c24b5db:17647616:e0cb1483fa8aee4f50be9343a315ba7ad0674bed");
set_progress(1.021020);
package_extract_file("bootloader.fex","/dev/block/by-name/bootloader");
package_extract_file("env.fex","/dev/block/by-name/env");
burnboot(1);
burnboot(0);
burnboot(0);
burnboot(1);
show_progress(0.100000, 10);
ui_print("Unpacking new system files...");
package_extract_dir("system", "/system");
ui_print("Symlinks and permissions...");
set_metadata_recursive("/system", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/bin/app_process32", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0");
set_metadata("/system/bin/atrace", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:atrace_exec:s0");
set_metadata("/system/bin/att_policy", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:att_policy_exec:s0");
set_metadata("/system/bin/audioserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:audioserver_exec:s0");
set_metadata("/system/bin/blkid", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:blkid_exec:s0");
set_metadata("/system/bin/bootanimation", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootanim_exec:s0");
set_metadata("/system/bin/bootstat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootstat_exec:s0");
set_metadata("/system/bin/cameraserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:cameraserver_exec:s0");
set_metadata("/system/bin/clatd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clatd_exec:s0");
set_metadata("/system/bin/debuggerd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:debuggerd_exec:s0");
set_metadata("/system/bin/dex2oat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dex2oat_exec:s0");
set_metadata("/system/bin/displayd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:displayd_exec:s0");
set_metadata("/system/bin/dnsmasq", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dnsmasq_exec:s0");
set_metadata("/system/bin/drmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:drmserver_exec:s0");
set_metadata("/system/bin/dumpstate", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dumpstate_exec:s0");
set_metadata("/system/bin/e2fsck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck.f2fs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck_msdos", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/gatekeeperd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gatekeeperd_exec:s0");
set_metadata("/system/bin/gpioservice", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gpioservice_exec:s0");
set_metadata("/system/bin/hostapd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0");
set_metadata("/system/bin/idmap", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:idmap_exec:s0");
set_metadata("/system/bin/installd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:installd_exec:s0");
set_metadata("/system/bin/iploader_server", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:iploader_server_exec:s0");
set_metadata("/system/bin/keystore", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:keystore_exec:s0");
set_metadata("/system/bin/king_policy", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:king_policy_exec:s0");
set_metadata("/system/bin/lmkd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:lmkd_exec:s0");
set_metadata("/system/bin/log_bg.sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:log_bg_exec:s0");
set_metadata("/system/bin/logcat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logcat_exec:s0");
set_metadata("/system/bin/logd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logd_exec:s0");
set_metadata("/system/bin/mdnsd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mdnsd_exec:s0");
set_metadata("/system/bin/mediacodec", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediacodec_exec:s0");
set_metadata("/system/bin/mediadrmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediadrmserver_exec:s0");
set_metadata("/system/bin/mediaextractor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaextractor_exec:s0");
set_metadata("/system/bin/mediaserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaserver_exec:s0");
set_metadata("/system/bin/mtpd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mtp_exec:s0");
set_metadata("/system/bin/multi_ir", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:multi_ir_exec:s0");
set_metadata("/system/bin/netd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netd_exec:s0");
set_metadata("/system/bin/patchoat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dex2oat_exec:s0");
set_metadata("/system/bin/pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ppp_exec:s0");
set_metadata("/system/bin/pppoe", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:start_pppoe_exec:s0");
set_metadata("/system/bin/pppoe-connect", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:start_pppoe_exec:s0");
set_metadata("/system/bin/pppoe-disconnect", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:stop_pppoe_exec:s0");
set_metadata("/system/bin/profman", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:profman_exec:s0");
set_metadata("/system/bin/qw", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qw_exec:s0");
set_metadata("/system/bin/racoon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:racoon_exec:s0");
set_metadata("/system/bin/recovery-persist", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:recovery_persist_exec:s0");
set_metadata("/system/bin/recovery-refresh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:recovery_refresh_exec:s0");
set_metadata("/system/bin/rild", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rild_exec:s0");
set_metadata("/system/bin/run-as", "uid", 0, "gid", 2000, "mode", 0750, "capabilities", 0xc0, "selabel", "u:object_r:runas_exec:s0");
set_metadata("/system/bin/sdcard", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sdcardd_exec:s0");
set_metadata("/system/bin/servicemanager", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:servicemanager_exec:s0");
set_metadata("/system/bin/setup_fs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/sgdisk", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sgdisk_exec:s0");
set_metadata("/system/bin/sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0");
set_metadata("/system/bin/surfaceflinger", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:surfaceflinger_exec:s0");
set_metadata("/system/bin/systemmixservice", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:systemmix_exec:s0");
set_metadata("/system/bin/tee_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:optee_exec:s0");
set_metadata("/system/bin/toolbox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/toybox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/tzdatacheck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tzdatacheck_exec:s0");
set_metadata("/system/bin/uncrypt", "uid", 0, "gid", 0, "mode", 0750, "capabilities", 0x0, "selabel", "u:object_r:uncrypt_exec:s0");
set_metadata("/system/bin/usbbt_native", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:usbbt_native_exec:s0");
set_metadata("/system/bin/vdc", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vdc_exec:s0");
set_metadata("/system/bin/vold", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vold_exec:s0");
set_metadata("/system/bin/wpa_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wpa_exec:s0");
set_metadata_recursive("/system/etc/ppp", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0555, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/recovery-from-boot.p", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
set_metadata("/system/vendor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/lib/drm", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/drm/libdrmwvmplugin.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/mediadrm", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/modules", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/xbin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/perfprofd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:perfprofd_exec:s0");
set_metadata("/system/xbin/procmem", "uid", 0, "gid", 0, "mode", 06755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 04750, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");
ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            15078931196f847cb5097fe466e03c187d21e574, 4024,
            adc821af8f7484a3bdb5d9b74f3187334e6bb089,
            package_extract_file("patch/system/build.prop.p")) ||
    abort("E3008: Failed to apply patch to /system/build.prop");
set_metadata("/system/build.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
unmount("/system");
