mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system", "max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc");
getprop("ro.build.fingerprint") == "motorola/metallica/minnow:5.0.1/LWX48P/1627902:user/release-keys" ||
    getprop("ro.build.fingerprint") == "motorola/metallica/minnow:5.0.1/LWX48T/1643897:user/release-keys" ||
    abort("Package expects build fingerprint of motorola/metallica/minnow:5.0.1/LWX48P/1627902:user/release-keys or motorola/metallica/minnow:5.0.1/LWX48T/1643897:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
getprop("ro.product.device") == "minnow" || abort("This package is for \"minnow\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
apply_patch_check("/system/app/Bluetooth/Bluetooth.apk", "52f2ee752b3da2b90b5f3bfa6c9176d27b3dc8b7", "3d8597d90d73e671b507de163d1f5274b0c2cf75") || abort("\"/system/app/Bluetooth/Bluetooth.apk\" has unexpected contents.");
apply_patch_check("/system/app/Bluetooth/arm/Bluetooth.odex", "1b21fc7f631ba1d27919fe0abb09692aff462b46", "49d8f95e9d13c5711ab44e1d335b14b747c17fc8") || abort("\"/system/app/Bluetooth/arm/Bluetooth.odex\" has unexpected contents.");
apply_patch_check("/system/app/CertInstaller/CertInstaller.apk", "47979da1216c075c8fad910caf0c4261ff17206b", "2f20c9a1556d718d03ec02f1c3debe30a3c73ab9") || abort("\"/system/app/CertInstaller/CertInstaller.apk\" has unexpected contents.");
apply_patch_check("/system/app/CertInstaller/arm/CertInstaller.odex", "960cf98668e95906c6521638de2c7e8e203daece", "18aa644b7cbc314c5ec37ab98f08b8ffafcc92b1") || abort("\"/system/app/CertInstaller/arm/CertInstaller.odex\" has unexpected contents.");
apply_patch_check("/system/app/ClockworkFrameworkPackageStubs/ClockworkFrameworkPackageStubs.apk", "a92a108f42b21149dbe33d4351955ec4b8f81fe6", "fb4fd712288104f848bd511be3d9f1ae22a939b3") || abort("\"/system/app/ClockworkFrameworkPackageStubs/ClockworkFrameworkPackageStubs.apk\" has unexpected contents.");
apply_patch_check("/system/app/ClockworkFrameworkPackageStubs/arm/ClockworkFrameworkPackageStubs.odex", "be4986cafa36b567004924bb45b8d6231b82ce82", "b7382f5c109127cd79e832470e6398b018b5a3be") || abort("\"/system/app/ClockworkFrameworkPackageStubs/arm/ClockworkFrameworkPackageStubs.odex\" has unexpected contents.");
apply_patch_check("/system/app/DeskClockMicroApp/DeskClockMicroApp.apk", "bc43fabfb01fa4307644736768c3ccc388703a5b", "ae8ab19ae0738e7014b3ce6dbe0ad048bf951f61") || abort("\"/system/app/DeskClockMicroApp/DeskClockMicroApp.apk\" has unexpected contents.");
apply_patch_check("/system/app/DeskClockMicroApp/arm/DeskClockMicroApp.odex", "14608ab934beada4cb9e60e28defbca5ad4819ca", "bc67be1253fe72ca0905b400270973e38d9b1b72") || abort("\"/system/app/DeskClockMicroApp/arm/DeskClockMicroApp.odex\" has unexpected contents.");
apply_patch_check("/system/app/UserDictionaryProvider/UserDictionaryProvider.apk", "bc96703afcc34f6fb764415ee85391a54279db50", "acacab1861af8d7bb3c856c46d1fcb4d8d2e3356") || abort("\"/system/app/UserDictionaryProvider/UserDictionaryProvider.apk\" has unexpected contents.");
apply_patch_check("/system/app/UserDictionaryProvider/arm/UserDictionaryProvider.odex", "3556dc98e935dc8d9d08b2585bb29017c7ef7bba", "ceb714ec16fd540e223de1641adbe4747dd5fe2e") || abort("\"/system/app/UserDictionaryProvider/arm/UserDictionaryProvider.odex\" has unexpected contents.");
apply_patch_check("/system/bin/debuggerd", "42f21bf74bb59fa861657300f09a4589904bd13d", "9c47e4c970503d7df9b5bd94d8039f6038d24014") || abort("\"/system/bin/debuggerd\" has unexpected contents.");
apply_patch_check("/system/bin/install-recovery.sh", "34277551643f64906e54ca1fb55844ac06801e2c", "30751d05390abc645b7f4c71e7ad37c459586b13") || abort("\"/system/bin/install-recovery.sh\" has unexpected contents.");
apply_patch_check("/system/bin/linker", "02893127af32009d21dac166fab6898590394d56", "d5b21bbe8a5bf7927d00c67665827629168ea087") || abort("\"/system/bin/linker\" has unexpected contents.");
apply_patch_check("/system/build.prop", "1c50ae35fd7e07e2ae10611276d44eb3cfc96624", "5392a08a84afca594a5e53ff838dc3a758f2b7e6") || abort("\"/system/build.prop\" has unexpected contents.");
apply_patch_check("/system/etc/NOTICE.html.gz", "a62ef03f3b124334a6bdd2b874c71a07858b29fb", "d7024974a4e9e26e3acddec26adf7fb78f2cee17") || abort("\"/system/etc/NOTICE.html.gz\" has unexpected contents.");
apply_patch_check("/system/etc/recovery-resource.dat", "783e0a532c0da5c962e00dcb857213c21d0c960b", "f3abc8d51c814545e3ae718265fc08d4eb004143") || abort("\"/system/etc/recovery-resource.dat\" has unexpected contents.");
apply_patch_check("/system/etc/security/otacerts.zip", "bf2c35d621df20150a79bce3994f7f4af85cba30", "8e983a82f873bbcc07ac31dc3448c79f4e3b5ed6") || abort("\"/system/etc/security/otacerts.zip\" has unexpected contents.");
apply_patch_check("/system/framework/am.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/am.jar\" has unexpected contents.");
apply_patch_check("/system/framework/android.policy.jar", "9ce9705f38e2c66a5d1283ee9f8a4fd451757b96", "ee3a2bf3f561796c0d1f02276220cc0306fcc724") || abort("\"/system/framework/android.policy.jar\" has unexpected contents.");
apply_patch_check("/system/framework/android.test.runner.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "582537a35f737ee0f2ad0060239df873be8d47c2") || abort("\"/system/framework/android.test.runner.jar\" has unexpected contents.");
apply_patch_check("/system/framework/apache-xml.jar", "837b0b07e3b4b8333b92e4eb07284bd53c7c6811", "4d5cf2bbd1c51c300b29483acdb586db161442cb") || abort("\"/system/framework/apache-xml.jar\" has unexpected contents.");
apply_patch_check("/system/framework/appops.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/appops.jar\" has unexpected contents.");
apply_patch_check("/system/framework/appwidget.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/appwidget.jar\" has unexpected contents.");
apply_patch_check("/system/framework/arm/am.odex", "fdf3af6aad4351a7ca97be6160a06fb72c488541", "74dc3e6300934a22aff25002cc33979d43bbc631") || abort("\"/system/framework/arm/am.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/android.test.runner.odex", "86b8900315ee44310a6b1d0c656169ebf3712919", "b80d8deeb9437ddad459a631ce110dcc3277ca1f") || abort("\"/system/framework/arm/android.test.runner.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/appops.odex", "34a1567c377f668451c687fbc34ebbe345f04c57", "3e944166a7ec55153604028ca98ec2ad7216cb4a") || abort("\"/system/framework/arm/appops.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/appwidget.odex", "57aaa4ae79c6aac37343f19088a792bc9559b4ad", "81049c34e67080e03818533a6253e5adeeeed680") || abort("\"/system/framework/arm/appwidget.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/bmgr.odex", "fa551ab5624b0bcb1d8b478315a29653a27aab8a", "f46fbd3e458c530304673c314ccacd3a7f7954b4") || abort("\"/system/framework/arm/bmgr.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot.art", "c202d89af3b2db05c7d458a3fb07f6136ee491d1", "738d6732f7e582435db6e17edad4425a5eb814f3") || abort("\"/system/framework/arm/boot.art\" has unexpected contents.");
apply_patch_check("/system/framework/arm/boot.oat", "54063a080924bcefefc0cece7df428d3f4a15a74", "ad0473814606b6b3069e0077453bdfdfafb49d0a") || abort("\"/system/framework/arm/boot.oat\" has unexpected contents.");
apply_patch_check("/system/framework/arm/bu.odex", "5e71a8a48f7e8f70c6a3bba015d9d4955122c916", "71a2493fd5a1cac8055a897f16ed7a204b300baf") || abort("\"/system/framework/arm/bu.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/com.android.location.provider.odex", "1530e9a95e5e528f01ca072ad5ccbe0c1ffcdf16", "5662e0178676af3a60a0def8afd3e8b62ca8c51c") || abort("\"/system/framework/arm/com.android.location.provider.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/content.odex", "240a48280614d94df5b53765c556fac533ed469a", "0191eae37c3ca24cc77dcc7d1dc66adac0b1d5a4") || abort("\"/system/framework/arm/content.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/dpm.odex", "c65c399f5bdbee1b3fcbb9948a0306b0c7235fc0", "6387f7dd3a407e344d84455b021d10c5373a6f10") || abort("\"/system/framework/arm/dpm.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/ime.odex", "4d0dc5f5aca58f28b77e9f07ab6310ca0e3ea456", "857d128de5c4e35c1cd3d85a83f86b9cdc4749e3") || abort("\"/system/framework/arm/ime.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/input.odex", "be3b931cb6b0790ba2fd3d3c7814087370994b90", "36bcb8c70dee4046dcf1aef64bdc992f6830873f") || abort("\"/system/framework/arm/input.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/javax.obex.odex", "a70d70aa1e6477d71107539116c60b43289409e9", "ca843d78536612fa01af84ff02261943d811d0f2") || abort("\"/system/framework/arm/javax.obex.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/media_cmd.odex", "ee1d923393ec722861cf7d0d2ba533a13fc055a4", "93f8f5d599b06c2503949faafdb7e0844c606f8e") || abort("\"/system/framework/arm/media_cmd.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/monkey.odex", "600bbd32ffecfeaaac56dd9b79a03a71b4483519", "e15edaefefdb35d1abe76f01f2443bb799c7def0") || abort("\"/system/framework/arm/monkey.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/pm.odex", "6bdd33c104bb353e12b962e7324deae81688e468", "681fda90e52ac862cfe5c037992a7d844ddf626d") || abort("\"/system/framework/arm/pm.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/services.odex", "ca053968ae60d00239ab813a21663e8768fa54cc", "f601fa3c9390e5ad94c33c5bce0c3bfe673b885f") || abort("\"/system/framework/arm/services.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/settings.odex", "ab848ea3c734cfd37e3df20e7d9791c200328084", "87e63edae2fabf65865698ecdb3188d408c08d44") || abort("\"/system/framework/arm/settings.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/svc.odex", "546f8d4613bab5037969c2c7bcd9108271fddd69", "08baab3aaddab7e9a176582e6cb00db8fe1e64cd") || abort("\"/system/framework/arm/svc.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/uiautomator.odex", "12eabf1f64cd8a1f1b78e27c85e9c0e01a4f28d6", "fb1b86a72d3259d4e27ccfa7d6a97ab1ae6f266e") || abort("\"/system/framework/arm/uiautomator.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/wifi-service.odex", "10c356bd84445064e626dc119bc7ad77c258daa1", "b3e57337a1c2eae9bda0dee26bffd1ac205c8f3d") || abort("\"/system/framework/arm/wifi-service.odex\" has unexpected contents.");
apply_patch_check("/system/framework/arm/wm.odex", "21b52979a451f0f8cc136caeaa382adfc4dfa46d", "dd4b89c732ac428014e8e6bed3ddd2c3152a6aaa") || abort("\"/system/framework/arm/wm.odex\" has unexpected contents.");
apply_patch_check("/system/framework/bmgr.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/bmgr.jar\" has unexpected contents.");
apply_patch_check("/system/framework/bouncycastle.jar", "d999b0e8258e7504b7246220952d2670f4112d01", "6e8c1957a68eb68182879fd84bde8b6ee8c623e9") || abort("\"/system/framework/bouncycastle.jar\" has unexpected contents.");
apply_patch_check("/system/framework/bu.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/bu.jar\" has unexpected contents.");
apply_patch_check("/system/framework/com.android.location.provider.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "2f00e79224f1c86704062336e5a98ddfc03aabda") || abort("\"/system/framework/com.android.location.provider.jar\" has unexpected contents.");
apply_patch_check("/system/framework/conscrypt.jar", "f95c583092622d17a2b9a75369de6f9834600bcb", "6fbb06e13a6bb246cbcae0131a21d0bd82b9c17d") || abort("\"/system/framework/conscrypt.jar\" has unexpected contents.");
apply_patch_check("/system/framework/content.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/content.jar\" has unexpected contents.");
apply_patch_check("/system/framework/core-junit.jar", "f508a34c7bd2c751c642fd57178ac2b032f66520", "24a518e7d94a9416fd542cbbd7911bf230ba4191") || abort("\"/system/framework/core-junit.jar\" has unexpected contents.");
apply_patch_check("/system/framework/core-libart.jar", "bf49f9ea3026d26d947f34aa7694713207117938", "deed1591ef4740242fb0e110ee48ca4c562f31d1") || abort("\"/system/framework/core-libart.jar\" has unexpected contents.");
apply_patch_check("/system/framework/dpm.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/dpm.jar\" has unexpected contents.");
apply_patch_check("/system/framework/ext.jar", "03e4ea721ea0e6e19498858165ef0eb01a0918f2", "4b9c687703fc5611724ea666bdb10e97531d3b18") || abort("\"/system/framework/ext.jar\" has unexpected contents.");
apply_patch_check("/system/framework/framework-res.apk", "b6e04fa780a50759b2e46cae21ec162b97917a26", "b04be6d9e316d8ee97456d815dfd54a3542f271b") || abort("\"/system/framework/framework-res.apk\" has unexpected contents.");
apply_patch_check("/system/framework/framework.jar", "17e2cec182f9b923d1335256471dc07ca7643c30", "0413a869a324d3644416f5b74ed5324696d266af") || abort("\"/system/framework/framework.jar\" has unexpected contents.");
apply_patch_check("/system/framework/ime.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/ime.jar\" has unexpected contents.");
apply_patch_check("/system/framework/ims-common.jar", "9ce9705f38e2c66a5d1283ee9f8a4fd451757b96", "ee3a2bf3f561796c0d1f02276220cc0306fcc724") || abort("\"/system/framework/ims-common.jar\" has unexpected contents.");
apply_patch_check("/system/framework/input.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/input.jar\" has unexpected contents.");
apply_patch_check("/system/framework/javax.obex.jar", "9ce9705f38e2c66a5d1283ee9f8a4fd451757b96", "ee3a2bf3f561796c0d1f02276220cc0306fcc724") || abort("\"/system/framework/javax.obex.jar\" has unexpected contents.");
apply_patch_check("/system/framework/media_cmd.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/media_cmd.jar\" has unexpected contents.");
apply_patch_check("/system/framework/mms-common.jar", "229ce06f19fa2895e37dfbe3eeda8bc02a9fcb8d", "c0ae72a19c7d0fedc8fca19a3ca9f275ee1c9199") || abort("\"/system/framework/mms-common.jar\" has unexpected contents.");
apply_patch_check("/system/framework/monkey.jar", "6e749e0d1008c46f60c55c938fadf8493047727e", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/monkey.jar\" has unexpected contents.");
apply_patch_check("/system/framework/nullwebview.jar", "9ce9705f38e2c66a5d1283ee9f8a4fd451757b96", "ee3a2bf3f561796c0d1f02276220cc0306fcc724") || abort("\"/system/framework/nullwebview.jar\" has unexpected contents.");
apply_patch_check("/system/framework/okhttp.jar", "167835b1ea12aa4fafba1053da5dba8696791724", "f69b22a398d3fe236ae6604fc855b049759a2999") || abort("\"/system/framework/okhttp.jar\" has unexpected contents.");
apply_patch_check("/system/framework/pm.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/pm.jar\" has unexpected contents.");
apply_patch_check("/system/framework/services.jar", "2dd5ca72fd89816f735b70de8118c9f56dbdaed8", "cabd55d5fe256bc2048c6c4c071d37ef183a8197") || abort("\"/system/framework/services.jar\" has unexpected contents.");
apply_patch_check("/system/framework/settings.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/settings.jar\" has unexpected contents.");
apply_patch_check("/system/framework/svc.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/svc.jar\" has unexpected contents.");
apply_patch_check("/system/framework/telephony-common.jar", "0c7d96741828a9e9f666987b41ecc723df7ceb51", "7307a9315181091447c55bf386bf01642f643040") || abort("\"/system/framework/telephony-common.jar\" has unexpected contents.");
apply_patch_check("/system/framework/uiautomator.jar", "0c7d96741828a9e9f666987b41ecc723df7ceb51", "138215ec405f9878407c99489f73a86d1afe04d7") || abort("\"/system/framework/uiautomator.jar\" has unexpected contents.");
apply_patch_check("/system/framework/voip-common.jar", "171ba09d5c6a890901d9fd896c744b11fd26412b", "ee3a2bf3f561796c0d1f02276220cc0306fcc724") || abort("\"/system/framework/voip-common.jar\" has unexpected contents.");
apply_patch_check("/system/framework/wifi-service.jar", "1860901e11b37416234e2fae808a1a8dc96a291e", "7c4133f8a730feede1e8ceea71252fcee0131d4f") || abort("\"/system/framework/wifi-service.jar\" has unexpected contents.");
apply_patch_check("/system/framework/wm.jar", "f894631513e047dad1bf121d6ab002854baf03e9", "b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf") || abort("\"/system/framework/wm.jar\" has unexpected contents.");
apply_patch_check("/system/lib/libLLVM.so", "db6f9ae4cfd1508e7fa0951765ad5b6c22412425", "fefa3335e26a7cb3760f76d74fbbcc00d7f712da") || abort("\"/system/lib/libLLVM.so\" has unexpected contents.");
apply_patch_check("/system/lib/libc.so", "2b71d65e3f7041a63a8c43dd858a19c1350230ae", "9e7d25613ca1e23a515d0f58f1aa45d6f5c4deb0") || abort("\"/system/lib/libc.so\" has unexpected contents.");
apply_patch_check("/system/lib/libmdnssd.so", "3d680d8a1f9cdcf28312864af464d55f0d0303c7", "450672e59141056b96d50ef33465a7c7c73b7179") || abort("\"/system/lib/libmdnssd.so\" has unexpected contents.");
apply_patch_check("/system/lib/libstagefright_soft_aacdec.so", "b4cdc3665c052397741baf87cf316e791fe2cd83", "2c10520425f18a7761028ee4e4e4a9801d36439d") || abort("\"/system/lib/libstagefright_soft_aacdec.so\" has unexpected contents.");
apply_patch_check("/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk", "1826e7f048c9d124736e1f47797f49a8ba79a2cf", "6114a63be342a221b0f2ab29e79d32965b1f120c") || abort("\"/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/BackupRestoreConfirmation/arm/BackupRestoreConfirmation.odex", "88dd2ba59043577660b3188ab4434a8d2592fe3c", "917c53a5edd1bb65f8cf27b965722a5d982622d4") || abort("\"/system/priv-app/BackupRestoreConfirmation/arm/BackupRestoreConfirmation.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/CalendarProvider/CalendarProvider.apk", "85daf9c77253827303f1aadd0ce2bda9c7f5eeb8", "a0419dea1b3e5cd829f7dbe967234c72a92660eb") || abort("\"/system/priv-app/CalendarProvider/CalendarProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/CalendarProvider/arm/CalendarProvider.odex", "ba3a515a4b1e2988e1439ee23beddeb2c4d64ea2", "2d8fed02abf2b7be67721c7f965c9a26c2b341da") || abort("\"/system/priv-app/CalendarProvider/arm/CalendarProvider.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkBugReportSender/ClockworkBugReportSender.apk", "b9d39d3e6529be424a1b3af5ff619c1dddc53972", "da0bad3d5ef0ceac87277d2f8587183a65fe8ade") || abort("\"/system/priv-app/ClockworkBugReportSender/ClockworkBugReportSender.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkBugReportSender/arm/ClockworkBugReportSender.odex", "6ae88bd52ad349136f6f7ee13e8d49b4be5da8d9", "65e56453276a96df7f92f7d45ec4918cbbe91c21") || abort("\"/system/priv-app/ClockworkBugReportSender/arm/ClockworkBugReportSender.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkHomeGoogle/ClockworkHomeGoogle.apk", "bdef904f3aed41ea30ea063aa548d030269c4f5e", "d3e0731fef0094a873f8645d96efa6648cd249d6") || abort("\"/system/priv-app/ClockworkHomeGoogle/ClockworkHomeGoogle.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkHomeGoogle/arm/ClockworkHomeGoogle.odex", "be16160ff389c3fc9b657abcaf57410604903cc4", "b4ff9056f6b84109d212eb6405d5acc28f7045b4") || abort("\"/system/priv-app/ClockworkHomeGoogle/arm/ClockworkHomeGoogle.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkPackageInstaller/ClockworkPackageInstaller.apk", "f4bc79d1687652d13d3ddbf3bc8c2c6718893267", "44df28d0bc33d05990c2fb452eebf0c0c9611865") || abort("\"/system/priv-app/ClockworkPackageInstaller/ClockworkPackageInstaller.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkPackageInstaller/arm/ClockworkPackageInstaller.odex", "0993f85468cbc5af8f03a691a7193f6ca930a400", "a2bf596b431ad42341ed8f5c45d716a2565c9844") || abort("\"/system/priv-app/ClockworkPackageInstaller/arm/ClockworkPackageInstaller.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkSettings/ClockworkSettings.apk", "be46810549662b697ab1887fab6a1f0017a6e94e", "c25b780a3fcc98cb4a7d3931ddbf07a0c3f77393") || abort("\"/system/priv-app/ClockworkSettings/ClockworkSettings.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkSettings/arm/ClockworkSettings.odex", "772129663eb5b24dce784717763daea2138db0fc", "db2b6e621f0a89fc134559755b8f5b922452633e") || abort("\"/system/priv-app/ClockworkSettings/arm/ClockworkSettings.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkSetup/ClockworkSetup.apk", "6531cb2fd654a2d22eaa31493bdb84c99af368ba", "bb1df454fdf6a07d093c88edae44dbba42a22da6") || abort("\"/system/priv-app/ClockworkSetup/ClockworkSetup.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ClockworkSetup/arm/ClockworkSetup.odex", "c26930c15eb4191481e114d39ac822d8e31ff0d4", "528a913fe2c0bd33e982f15d4325f4db86a4066c") || abort("\"/system/priv-app/ClockworkSetup/arm/ClockworkSetup.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/ContactsProvider/ContactsProvider.apk", "0f11b7919fa78306c82baf5d403ef46553c7a1f8", "5d770eb7499a399998920922481a680158a4c5fc") || abort("\"/system/priv-app/ContactsProvider/ContactsProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/ContactsProvider/arm/ContactsProvider.odex", "b9b3ccc0c6460efafae5f3ee40d9cde10b387c54", "da6839b9f8b93c7fbc10fa691b73760ba9a3c460") || abort("\"/system/priv-app/ContactsProvider/arm/ContactsProvider.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/DefaultContainerService/DefaultContainerService.apk", "433e8cc8ac59a495a350e5cd539683f3e3e9d656", "af7af75a855d719d57500c07238bb4667843f631") || abort("\"/system/priv-app/DefaultContainerService/DefaultContainerService.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/DefaultContainerService/arm/DefaultContainerService.odex", "56ec5dd683b75c644235d85ed7e967f5b530e259", "b794a0f9a07e009e5d7742dc069deaf2b00298a0") || abort("\"/system/priv-app/DefaultContainerService/arm/DefaultContainerService.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/DownloadProvider/DownloadProvider.apk", "d6169e7f2909578dd361b5a8259d0066706afdd6", "5112176b0b4b9addcebcbf1ae74b23edfd51110a") || abort("\"/system/priv-app/DownloadProvider/DownloadProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/DownloadProvider/arm/DownloadProvider.odex", "3e70427cd590dc0b2fce5a441c8d4a1d9d332849", "254422c4a84c2e46c5a264dba667a128289f2ee8") || abort("\"/system/priv-app/DownloadProvider/arm/DownloadProvider.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/FusedLocation/FusedLocation.apk", "8e37d4645c3bd2a72d3371ed9cc4c2014a436f4b", "c26e1a79eb80ab597acc1f7ed47c6ea3d312a02d") || abort("\"/system/priv-app/FusedLocation/FusedLocation.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/FusedLocation/arm/FusedLocation.odex", "62a319e639091338e0b4ecc176270ab7aa2abc98", "4c5706412a69d847d377da439fa4379776482d5d") || abort("\"/system/priv-app/FusedLocation/arm/FusedLocation.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk", "90fe406e8509f0c016bb39a3c114a6e23eab0108", "10757882f592dd4bf9557a2c96a046939fb48ae3") || abort("\"/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/GoogleServicesFramework/arm/GoogleServicesFramework.odex", "135b76d0f27e3593d7132ff7ebc061b2a5b2c14b", "e7bb05ca96cd6be18c5a999380ca104e4a6ee7f4") || abort("\"/system/priv-app/GoogleServicesFramework/arm/GoogleServicesFramework.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/InputDevices/InputDevices.apk", "dfeb7f9fc0a46928ff9f5125a56dafa69c36087b", "2fdc908075acb9ad599adfcf93efdcca078c7d32") || abort("\"/system/priv-app/InputDevices/InputDevices.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/InputDevices/arm/InputDevices.odex", "df7084c22f31818d028e9c0c478dbbee051e6cd6", "cd987140b26b1fc8d6b97e5cbe88f08eeaf70c2f") || abort("\"/system/priv-app/InputDevices/arm/InputDevices.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/MediaProvider/MediaProvider.apk", "3f829cf662ff11a405a06730a71ec8164c39052c", "91d9fa934be43ea7ac4d242edb80c7f8a6794ac0") || abort("\"/system/priv-app/MediaProvider/MediaProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/MediaProvider/arm/MediaProvider.odex", "22de46fd469b970177b803ee313632ea5c2d1724", "55413082a0cebcf7a818cac3650528a1fcd8397f") || abort("\"/system/priv-app/MediaProvider/arm/MediaProvider.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/SettingsProvider/SettingsProvider.apk", "3d11c2b7556671a75305d564e5517c70191b61d0", "3fe1dc707fadb7d035baa802c9bde2280e277c82") || abort("\"/system/priv-app/SettingsProvider/SettingsProvider.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SettingsProvider/arm/SettingsProvider.odex", "0ebc8189923387867dbef09bd91bc8e8e4cb527d", "98317081deed1a59055f04a9524953fd032ee0d1") || abort("\"/system/priv-app/SettingsProvider/arm/SettingsProvider.odex\" has unexpected contents.");
apply_patch_check("/system/priv-app/Shell/Shell.apk", "422e9817ed25b6557fa19193e454b91a19aefb02", "39254fea963fbfd111624c62bb02c78a086088df") || abort("\"/system/priv-app/Shell/Shell.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/Shell/arm/Shell.odex", "312aec8a82eed4ecc8c351a02757c2e8f9cc2abf", "5f9020fc99d207b52316c635d674d5338d4336f3") || abort("\"/system/priv-app/Shell/arm/Shell.odex\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/mmcblk0p9:4610048:3e412a76e70670e752c84b25ebdec1bbd0e208d9:4610048:74f1a73c9f5f45aa1cf4ec03bb86315b4d67f846") || abort("\"EMMC:/dev/block/mmcblk0p9:4610048:3e412a76e70670e752c84b25ebdec1bbd0e208d9:4610048:74f1a73c9f5f45aa1cf4ec03bb86315b4d67f846\" has unexpected contents.");
apply_patch_space(35086824) || abort("Not enough free space on /system to apply patches.");

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

unmount("/system");
tune2fs("-O", "^has_journal", "/dev/block/mmcblk0p14") || abort("Failed to tune partition /system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system", "");
ui_print("Removing unneeded files...");
delete("/system/recovery-from-boot.p",
       "/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/app/Bluetooth/Bluetooth.apk", "-",
            52f2ee752b3da2b90b5f3bfa6c9176d27b3dc8b7, 638958,
            3d8597d90d73e671b507de163d1f5274b0c2cf75, package_extract_file("patch/system/app/Bluetooth/Bluetooth.apk.p"));
set_progress(0.004836);
apply_patch("/system/app/Bluetooth/arm/Bluetooth.odex", "-",
            1b21fc7f631ba1d27919fe0abb09692aff462b46, 1016296,
            49d8f95e9d13c5711ab44e1d335b14b747c17fc8, package_extract_file("patch/system/app/Bluetooth/arm/Bluetooth.odex.p"));
set_progress(0.012527);
apply_patch("/system/app/CertInstaller/CertInstaller.apk", "-",
            47979da1216c075c8fad910caf0c4261ff17206b, 197327,
            2f20c9a1556d718d03ec02f1c3debe30a3c73ab9, package_extract_file("patch/system/app/CertInstaller/CertInstaller.apk.p"));
set_progress(0.014020);
apply_patch("/system/app/CertInstaller/arm/CertInstaller.odex", "-",
            960cf98668e95906c6521638de2c7e8e203daece, 37352,
            18aa644b7cbc314c5ec37ab98f08b8ffafcc92b1, package_extract_file("patch/system/app/CertInstaller/arm/CertInstaller.odex.p"));
set_progress(0.014303);
apply_patch("/system/app/ClockworkFrameworkPackageStubs/ClockworkFrameworkPackageStubs.apk",
            "-", a92a108f42b21149dbe33d4351955ec4b8f81fe6, 20099,
            fb4fd712288104f848bd511be3d9f1ae22a939b3, package_extract_file("patch/system/app/ClockworkFrameworkPackageStubs/ClockworkFrameworkPackageStubs.apk.p"));
set_progress(0.014455);
apply_patch("/system/app/ClockworkFrameworkPackageStubs/arm/ClockworkFrameworkPackageStubs.odex",
            "-", be4986cafa36b567004924bb45b8d6231b82ce82, 57832,
            b7382f5c109127cd79e832470e6398b018b5a3be, package_extract_file("patch/system/app/ClockworkFrameworkPackageStubs/arm/ClockworkFrameworkPackageStubs.odex.p"));
set_progress(0.014893);
apply_patch("/system/app/DeskClockMicroApp/DeskClockMicroApp.apk",
            "-", bc43fabfb01fa4307644736768c3ccc388703a5b, 1404168,
            ae8ab19ae0738e7014b3ce6dbe0ad048bf951f61, package_extract_file("patch/system/app/DeskClockMicroApp/DeskClockMicroApp.apk.p"));
set_progress(0.025520);
apply_patch("/system/app/DeskClockMicroApp/arm/DeskClockMicroApp.odex",
            "-", 14608ab934beada4cb9e60e28defbca5ad4819ca, 2339304,
            bc67be1253fe72ca0905b400270973e38d9b1b72, package_extract_file("patch/system/app/DeskClockMicroApp/arm/DeskClockMicroApp.odex.p"));
set_progress(0.043224);
apply_patch("/system/app/UserDictionaryProvider/UserDictionaryProvider.apk",
            "-", bc96703afcc34f6fb764415ee85391a54279db50, 3588,
            acacab1861af8d7bb3c856c46d1fcb4d8d2e3356, package_extract_file("patch/system/app/UserDictionaryProvider/UserDictionaryProvider.apk.p"));
set_progress(0.043251);
apply_patch("/system/app/UserDictionaryProvider/arm/UserDictionaryProvider.odex",
            "-", 3556dc98e935dc8d9d08b2585bb29017c7ef7bba, 20968,
            ceb714ec16fd540e223de1641adbe4747dd5fe2e, package_extract_file("patch/system/app/UserDictionaryProvider/arm/UserDictionaryProvider.odex.p"));
set_progress(0.043409);
apply_patch("/system/bin/debuggerd", "-",
            42f21bf74bb59fa861657300f09a4589904bd13d, 25892,
            9c47e4c970503d7df9b5bd94d8039f6038d24014, package_extract_file("patch/system/bin/debuggerd.p"));
set_progress(0.043605);
apply_patch("/system/bin/install-recovery.sh", "-",
            34277551643f64906e54ca1fb55844ac06801e2c, 571,
            30751d05390abc645b7f4c71e7ad37c459586b13, package_extract_file("patch/system/bin/install-recovery.sh.p"));
set_progress(0.043610);
apply_patch("/system/bin/linker", "-",
            02893127af32009d21dac166fab6898590394d56, 87708,
            d5b21bbe8a5bf7927d00c67665827629168ea087, package_extract_file("patch/system/bin/linker.p"));
set_progress(0.044273);
apply_patch("/system/etc/NOTICE.html.gz", "-",
            a62ef03f3b124334a6bdd2b874c71a07858b29fb, 99992,
            d7024974a4e9e26e3acddec26adf7fb78f2cee17, package_extract_file("patch/system/etc/NOTICE.html.gz.p"));
set_progress(0.045030);
apply_patch("/system/etc/recovery-resource.dat", "-",
            783e0a532c0da5c962e00dcb857213c21d0c960b, 508796,
            f3abc8d51c814545e3ae718265fc08d4eb004143, package_extract_file("patch/system/etc/recovery-resource.dat.p"));
set_progress(0.048881);
apply_patch("/system/etc/security/otacerts.zip", "-",
            bf2c35d621df20150a79bce3994f7f4af85cba30, 1556,
            8e983a82f873bbcc07ac31dc3448c79f4e3b5ed6, package_extract_file("patch/system/etc/security/otacerts.zip.p"));
set_progress(0.048893);
apply_patch("/system/framework/am.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/am.jar.p"));
set_progress(0.048895);
apply_patch("/system/framework/android.policy.jar", "-",
            9ce9705f38e2c66a5d1283ee9f8a4fd451757b96, 309,
            ee3a2bf3f561796c0d1f02276220cc0306fcc724, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.048897);
apply_patch("/system/framework/android.test.runner.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            582537a35f737ee0f2ad0060239df873be8d47c2, package_extract_file("patch/system/framework/android.test.runner.jar.p"));
set_progress(0.048900);
apply_patch("/system/framework/apache-xml.jar", "-",
            837b0b07e3b4b8333b92e4eb07284bd53c7c6811, 17815,
            4d5cf2bbd1c51c300b29483acdb586db161442cb, package_extract_file("patch/system/framework/apache-xml.jar.p"));
set_progress(0.049034);
apply_patch("/system/framework/appops.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/appops.jar.p"));
set_progress(0.049037);
apply_patch("/system/framework/appwidget.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/appwidget.jar.p"));
set_progress(0.049039);
apply_patch("/system/framework/arm/am.odex", "-",
            fdf3af6aad4351a7ca97be6160a06fb72c488541, 57832,
            74dc3e6300934a22aff25002cc33979d43bbc631, package_extract_file("patch/system/framework/arm/am.odex.p"));
set_progress(0.049477);
apply_patch("/system/framework/arm/android.test.runner.odex", "-",
            86b8900315ee44310a6b1d0c656169ebf3712919, 184808,
            b80d8deeb9437ddad459a631ce110dcc3277ca1f, package_extract_file("patch/system/framework/arm/android.test.runner.odex.p"));
set_progress(0.050875);
apply_patch("/system/framework/arm/appops.odex", "-",
            34a1567c377f668451c687fbc34ebbe345f04c57, 12776,
            3e944166a7ec55153604028ca98ec2ad7216cb4a, package_extract_file("patch/system/framework/arm/appops.odex.p"));
set_progress(0.050972);
apply_patch("/system/framework/arm/appwidget.odex", "-",
            57aaa4ae79c6aac37343f19088a792bc9559b4ad, 12776,
            81049c34e67080e03818533a6253e5adeeeed680, package_extract_file("patch/system/framework/arm/appwidget.odex.p"));
set_progress(0.051069);
apply_patch("/system/framework/arm/bmgr.odex", "-",
            fa551ab5624b0bcb1d8b478315a29653a27aab8a, 20968,
            f46fbd3e458c530304673c314ccacd3a7f7954b4, package_extract_file("patch/system/framework/arm/bmgr.odex.p"));
set_progress(0.051227);
apply_patch("/system/framework/arm/boot.art", "-",
            c202d89af3b2db05c7d458a3fb07f6136ee491d1, 8089600,
            738d6732f7e582435db6e17edad4425a5eb814f3, package_extract_file("patch/system/framework/arm/boot.art.p"));
set_progress(0.112450);
apply_patch("/system/framework/arm/boot.oat", "-",
            54063a080924bcefefc0cece7df428d3f4a15a74, 35045864,
            ad0473814606b6b3069e0077453bdfdfafb49d0a, package_extract_file("patch/system/framework/arm/boot.oat.p"));
set_progress(0.377678);
apply_patch("/system/framework/arm/bu.odex", "-",
            5e71a8a48f7e8f70c6a3bba015d9d4955122c916, 12776,
            71a2493fd5a1cac8055a897f16ed7a204b300baf, package_extract_file("patch/system/framework/arm/bu.odex.p"));
set_progress(0.377774);
apply_patch("/system/framework/arm/com.android.location.provider.odex",
            "-", 1530e9a95e5e528f01ca072ad5ccbe0c1ffcdf16, 33256,
            5662e0178676af3a60a0def8afd3e8b62ca8c51c, package_extract_file("patch/system/framework/arm/com.android.location.provider.odex.p"));
set_progress(0.378026);
apply_patch("/system/framework/arm/content.odex", "-",
            240a48280614d94df5b53765c556fac533ed469a, 25064,
            0191eae37c3ca24cc77dcc7d1dc66adac0b1d5a4, package_extract_file("patch/system/framework/arm/content.odex.p"));
set_progress(0.378216);
apply_patch("/system/framework/arm/dpm.odex", "-",
            c65c399f5bdbee1b3fcbb9948a0306b0c7235fc0, 12776,
            6387f7dd3a407e344d84455b021d10c5373a6f10, package_extract_file("patch/system/framework/arm/dpm.odex.p"));
set_progress(0.378312);
apply_patch("/system/framework/arm/ime.odex", "-",
            4d0dc5f5aca58f28b77e9f07ab6310ca0e3ea456, 12776,
            857d128de5c4e35c1cd3d85a83f86b9cdc4749e3, package_extract_file("patch/system/framework/arm/ime.odex.p"));
set_progress(0.378409);
apply_patch("/system/framework/arm/input.odex", "-",
            be3b931cb6b0790ba2fd3d3c7814087370994b90, 16872,
            36bcb8c70dee4046dcf1aef64bdc992f6830873f, package_extract_file("patch/system/framework/arm/input.odex.p"));
set_progress(0.378537);
apply_patch("/system/framework/arm/javax.obex.odex", "-",
            a70d70aa1e6477d71107539116c60b43289409e9, 61928,
            ca843d78536612fa01af84ff02261943d811d0f2, package_extract_file("patch/system/framework/arm/javax.obex.odex.p"));
set_progress(0.379005);
apply_patch("/system/framework/arm/media_cmd.odex", "-",
            ee1d923393ec722861cf7d0d2ba533a13fc055a4, 16872,
            93f8f5d599b06c2503949faafdb7e0844c606f8e, package_extract_file("patch/system/framework/arm/media_cmd.odex.p"));
set_progress(0.379133);
apply_patch("/system/framework/arm/monkey.odex", "-",
            600bbd32ffecfeaaac56dd9b79a03a71b4483519, 115176,
            e15edaefefdb35d1abe76f01f2443bb799c7def0, package_extract_file("patch/system/framework/arm/monkey.odex.p"));
set_progress(0.380005);
apply_patch("/system/framework/arm/pm.odex", "-",
            6bdd33c104bb353e12b962e7324deae81688e468, 53736,
            681fda90e52ac862cfe5c037992a7d844ddf626d, package_extract_file("patch/system/framework/arm/pm.odex.p"));
set_progress(0.380411);
apply_patch("/system/framework/arm/services.odex", "-",
            ca053968ae60d00239ab813a21663e8768fa54cc, 7205352,
            f601fa3c9390e5ad94c33c5bce0c3bfe673b885f, package_extract_file("patch/system/framework/arm/services.odex.p"));
set_progress(0.434942);
apply_patch("/system/framework/arm/settings.odex", "-",
            ab848ea3c734cfd37e3df20e7d9791c200328084, 16872,
            87e63edae2fabf65865698ecdb3188d408c08d44, package_extract_file("patch/system/framework/arm/settings.odex.p"));
set_progress(0.435069);
apply_patch("/system/framework/arm/svc.odex", "-",
            546f8d4613bab5037969c2c7bcd9108271fddd69, 16872,
            08baab3aaddab7e9a176582e6cb00db8fe1e64cd, package_extract_file("patch/system/framework/arm/svc.odex.p"));
set_progress(0.435197);
apply_patch("/system/framework/arm/uiautomator.odex", "-",
            12eabf1f64cd8a1f1b78e27c85e9c0e01a4f28d6, 111080,
            fb1b86a72d3259d4e27ccfa7d6a97ab1ae6f266e, package_extract_file("patch/system/framework/arm/uiautomator.odex.p"));
set_progress(0.436038);
apply_patch("/system/framework/arm/wifi-service.odex", "-",
            10c356bd84445064e626dc119bc7ad77c258daa1, 610792,
            b3e57337a1c2eae9bda0dee26bffd1ac205c8f3d, package_extract_file("patch/system/framework/arm/wifi-service.odex.p"));
set_progress(0.440660);
apply_patch("/system/framework/arm/wm.odex", "-",
            21b52979a451f0f8cc136caeaa382adfc4dfa46d, 12776,
            dd4b89c732ac428014e8e6bed3ddd2c3152a6aaa, package_extract_file("patch/system/framework/arm/wm.odex.p"));
set_progress(0.440757);
apply_patch("/system/framework/bmgr.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/bmgr.jar.p"));
set_progress(0.440759);
apply_patch("/system/framework/bouncycastle.jar", "-",
            d999b0e8258e7504b7246220952d2670f4112d01, 309,
            6e8c1957a68eb68182879fd84bde8b6ee8c623e9, package_extract_file("patch/system/framework/bouncycastle.jar.p"));
set_progress(0.440761);
apply_patch("/system/framework/bu.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/bu.jar.p"));
set_progress(0.440764);
apply_patch("/system/framework/com.android.location.provider.jar",
            "-", f894631513e047dad1bf121d6ab002854baf03e9, 309,
            2f00e79224f1c86704062336e5a98ddfc03aabda, package_extract_file("patch/system/framework/com.android.location.provider.jar.p"));
set_progress(0.440766);
apply_patch("/system/framework/conscrypt.jar", "-",
            f95c583092622d17a2b9a75369de6f9834600bcb, 309,
            6fbb06e13a6bb246cbcae0131a21d0bd82b9c17d, package_extract_file("patch/system/framework/conscrypt.jar.p"));
set_progress(0.440768);
apply_patch("/system/framework/content.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/content.jar.p"));
set_progress(0.440771);
apply_patch("/system/framework/core-junit.jar", "-",
            f508a34c7bd2c751c642fd57178ac2b032f66520, 309,
            24a518e7d94a9416fd542cbbd7911bf230ba4191, package_extract_file("patch/system/framework/core-junit.jar.p"));
set_progress(0.440773);
apply_patch("/system/framework/core-libart.jar", "-",
            bf49f9ea3026d26d947f34aa7694713207117938, 2991,
            deed1591ef4740242fb0e110ee48ca4c562f31d1, package_extract_file("patch/system/framework/core-libart.jar.p"));
set_progress(0.440796);
apply_patch("/system/framework/dpm.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/dpm.jar.p"));
set_progress(0.440798);
apply_patch("/system/framework/ext.jar", "-",
            03e4ea721ea0e6e19498858165ef0eb01a0918f2, 1570568,
            4b9c687703fc5611724ea666bdb10e97531d3b18, package_extract_file("patch/system/framework/ext.jar.p"));
set_progress(0.452684);
apply_patch("/system/framework/framework-res.apk", "-",
            b6e04fa780a50759b2e46cae21ec162b97917a26, 15675393,
            b04be6d9e316d8ee97456d815dfd54a3542f271b, package_extract_file("patch/system/framework/framework-res.apk.p"));
set_progress(0.571316);
apply_patch("/system/framework/framework.jar", "-",
            17e2cec182f9b923d1335256471dc07ca7643c30, 10867,
            0413a869a324d3644416f5b74ed5324696d266af, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.571398);
apply_patch("/system/framework/ime.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/ime.jar.p"));
set_progress(0.571401);
apply_patch("/system/framework/ims-common.jar", "-",
            9ce9705f38e2c66a5d1283ee9f8a4fd451757b96, 309,
            ee3a2bf3f561796c0d1f02276220cc0306fcc724, package_extract_file("patch/system/framework/ims-common.jar.p"));
set_progress(0.571403);
apply_patch("/system/framework/input.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/input.jar.p"));
set_progress(0.571405);
apply_patch("/system/framework/javax.obex.jar", "-",
            9ce9705f38e2c66a5d1283ee9f8a4fd451757b96, 309,
            ee3a2bf3f561796c0d1f02276220cc0306fcc724, package_extract_file("patch/system/framework/javax.obex.jar.p"));
set_progress(0.571408);
apply_patch("/system/framework/media_cmd.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/media_cmd.jar.p"));
set_progress(0.571410);
apply_patch("/system/framework/mms-common.jar", "-",
            229ce06f19fa2895e37dfbe3eeda8bc02a9fcb8d, 309,
            c0ae72a19c7d0fedc8fca19a3ca9f275ee1c9199, package_extract_file("patch/system/framework/mms-common.jar.p"));
set_progress(0.571412);
apply_patch("/system/framework/monkey.jar", "-",
            6e749e0d1008c46f60c55c938fadf8493047727e, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/monkey.jar.p"));
set_progress(0.571415);
apply_patch("/system/framework/nullwebview.jar", "-",
            9ce9705f38e2c66a5d1283ee9f8a4fd451757b96, 309,
            ee3a2bf3f561796c0d1f02276220cc0306fcc724, package_extract_file("patch/system/framework/nullwebview.jar.p"));
set_progress(0.571417);
apply_patch("/system/framework/okhttp.jar", "-",
            167835b1ea12aa4fafba1053da5dba8696791724, 309,
            f69b22a398d3fe236ae6604fc855b049759a2999, package_extract_file("patch/system/framework/okhttp.jar.p"));
set_progress(0.571419);
apply_patch("/system/framework/pm.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/pm.jar.p"));
set_progress(0.571422);
apply_patch("/system/framework/services.jar", "-",
            2dd5ca72fd89816f735b70de8118c9f56dbdaed8, 309,
            cabd55d5fe256bc2048c6c4c071d37ef183a8197, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.571424);
apply_patch("/system/framework/settings.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/settings.jar.p"));
set_progress(0.571426);
apply_patch("/system/framework/svc.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/svc.jar.p"));
set_progress(0.571429);
apply_patch("/system/framework/telephony-common.jar", "-",
            0c7d96741828a9e9f666987b41ecc723df7ceb51, 309,
            7307a9315181091447c55bf386bf01642f643040, package_extract_file("patch/system/framework/telephony-common.jar.p"));
set_progress(0.571431);
apply_patch("/system/framework/uiautomator.jar", "-",
            0c7d96741828a9e9f666987b41ecc723df7ceb51, 309,
            138215ec405f9878407c99489f73a86d1afe04d7, package_extract_file("patch/system/framework/uiautomator.jar.p"));
set_progress(0.571433);
apply_patch("/system/framework/voip-common.jar", "-",
            171ba09d5c6a890901d9fd896c744b11fd26412b, 309,
            ee3a2bf3f561796c0d1f02276220cc0306fcc724, package_extract_file("patch/system/framework/voip-common.jar.p"));
set_progress(0.571436);
apply_patch("/system/framework/wifi-service.jar", "-",
            1860901e11b37416234e2fae808a1a8dc96a291e, 309,
            7c4133f8a730feede1e8ceea71252fcee0131d4f, package_extract_file("patch/system/framework/wifi-service.jar.p"));
set_progress(0.571438);
apply_patch("/system/framework/wm.jar", "-",
            f894631513e047dad1bf121d6ab002854baf03e9, 309,
            b7aab250bf264cdae4c56ace3536a4a9d7e1bbaf, package_extract_file("patch/system/framework/wm.jar.p"));
set_progress(0.571440);
apply_patch("/system/lib/libLLVM.so", "-",
            db6f9ae4cfd1508e7fa0951765ad5b6c22412425, 9661640,
            fefa3335e26a7cb3760f76d74fbbcc00d7f712da, package_extract_file("patch/system/lib/libLLVM.so.p"));
set_progress(0.644560);
apply_patch("/system/lib/libc.so", "-",
            2b71d65e3f7041a63a8c43dd858a19c1350230ae, 502603,
            9e7d25613ca1e23a515d0f58f1aa45d6f5c4deb0, package_extract_file("patch/system/lib/libc.so.p"));
set_progress(0.648363);
apply_patch("/system/lib/libmdnssd.so", "-",
            3d680d8a1f9cdcf28312864af464d55f0d0303c7, 21684,
            450672e59141056b96d50ef33465a7c7c73b7179, package_extract_file("patch/system/lib/libmdnssd.so.p"));
set_progress(0.648528);
apply_patch("/system/lib/libstagefright_soft_aacdec.so", "-",
            b4cdc3665c052397741baf87cf316e791fe2cd83, 247304,
            2c10520425f18a7761028ee4e4e4a9801d36439d, package_extract_file("patch/system/lib/libstagefright_soft_aacdec.so.p"));
set_progress(0.650399);
apply_patch("/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk",
            "-", 1826e7f048c9d124736e1f47797f49a8ba79a2cf, 197494,
            6114a63be342a221b0f2ab29e79d32965b1f120c, package_extract_file("patch/system/priv-app/BackupRestoreConfirmation/BackupRestoreConfirmation.apk.p"));
set_progress(0.651894);
apply_patch("/system/priv-app/BackupRestoreConfirmation/arm/BackupRestoreConfirmation.odex",
            "-", 88dd2ba59043577660b3188ab4434a8d2592fe3c, 16872,
            917c53a5edd1bb65f8cf27b965722a5d982622d4, package_extract_file("patch/system/priv-app/BackupRestoreConfirmation/arm/BackupRestoreConfirmation.odex.p"));
set_progress(0.652022);
apply_patch("/system/priv-app/CalendarProvider/CalendarProvider.apk",
            "-", 85daf9c77253827303f1aadd0ce2bda9c7f5eeb8, 111589,
            a0419dea1b3e5cd829f7dbe967234c72a92660eb, package_extract_file("patch/system/priv-app/CalendarProvider/CalendarProvider.apk.p"));
set_progress(0.652866);
apply_patch("/system/priv-app/CalendarProvider/arm/CalendarProvider.odex",
            "-", ba3a515a4b1e2988e1439ee23beddeb2c4d64ea2, 393704,
            2d8fed02abf2b7be67721c7f965c9a26c2b341da, package_extract_file("patch/system/priv-app/CalendarProvider/arm/CalendarProvider.odex.p"));
set_progress(0.655846);
apply_patch("/system/priv-app/ClockworkBugReportSender/ClockworkBugReportSender.apk",
            "-", b9d39d3e6529be424a1b3af5ff619c1dddc53972, 293299,
            da0bad3d5ef0ceac87277d2f8587183a65fe8ade, package_extract_file("patch/system/priv-app/ClockworkBugReportSender/ClockworkBugReportSender.apk.p"));
set_progress(0.658065);
apply_patch("/system/priv-app/ClockworkBugReportSender/arm/ClockworkBugReportSender.odex",
            "-", 6ae88bd52ad349136f6f7ee13e8d49b4be5da8d9, 1827304,
            65e56453276a96df7f92f7d45ec4918cbbe91c21, package_extract_file("patch/system/priv-app/ClockworkBugReportSender/arm/ClockworkBugReportSender.odex.p"));
set_progress(0.671894);
apply_patch("/system/priv-app/ClockworkHomeGoogle/ClockworkHomeGoogle.apk",
            "-", bdef904f3aed41ea30ea063aa548d030269c4f5e, 19486166,
            d3e0731fef0094a873f8645d96efa6648cd249d6, package_extract_file("patch/system/priv-app/ClockworkHomeGoogle/ClockworkHomeGoogle.apk.p"));
set_progress(0.819366);
apply_patch("/system/priv-app/ClockworkHomeGoogle/arm/ClockworkHomeGoogle.odex",
            "-", be16160ff389c3fc9b657abcaf57410604903cc4, 5235176,
            b4ff9056f6b84109d212eb6405d5acc28f7045b4, package_extract_file("patch/system/priv-app/ClockworkHomeGoogle/arm/ClockworkHomeGoogle.odex.p"));
set_progress(0.858986);
apply_patch("/system/priv-app/ClockworkPackageInstaller/ClockworkPackageInstaller.apk",
            "-", f4bc79d1687652d13d3ddbf3bc8c2c6718893267, 143196,
            44df28d0bc33d05990c2fb452eebf0c0c9611865, package_extract_file("patch/system/priv-app/ClockworkPackageInstaller/ClockworkPackageInstaller.apk.p"));
set_progress(0.860070);
apply_patch("/system/priv-app/ClockworkPackageInstaller/arm/ClockworkPackageInstaller.odex",
            "-", 0993f85468cbc5af8f03a691a7193f6ca930a400, 1204712,
            a2bf596b431ad42341ed8f5c45d716a2565c9844, package_extract_file("patch/system/priv-app/ClockworkPackageInstaller/arm/ClockworkPackageInstaller.odex.p"));
set_progress(0.869187);
apply_patch("/system/priv-app/ClockworkSettings/ClockworkSettings.apk",
            "-", be46810549662b697ab1887fab6a1f0017a6e94e, 655749,
            c25b780a3fcc98cb4a7d3931ddbf07a0c3f77393, package_extract_file("patch/system/priv-app/ClockworkSettings/ClockworkSettings.apk.p"));
set_progress(0.874150);
apply_patch("/system/priv-app/ClockworkSettings/arm/ClockworkSettings.odex",
            "-", 772129663eb5b24dce784717763daea2138db0fc, 3277288,
            db2b6e621f0a89fc134559755b8f5b922452633e, package_extract_file("patch/system/priv-app/ClockworkSettings/arm/ClockworkSettings.odex.p"));
set_progress(0.898952);
apply_patch("/system/priv-app/ClockworkSetup/ClockworkSetup.apk",
            "-", 6531cb2fd654a2d22eaa31493bdb84c99af368ba, 493204,
            bb1df454fdf6a07d093c88edae44dbba42a22da6, package_extract_file("patch/system/priv-app/ClockworkSetup/ClockworkSetup.apk.p"));
set_progress(0.902685);
apply_patch("/system/priv-app/ClockworkSetup/arm/ClockworkSetup.odex",
            "-", c26930c15eb4191481e114d39ac822d8e31ff0d4, 2015720,
            528a913fe2c0bd33e982f15d4325f4db86a4066c, package_extract_file("patch/system/priv-app/ClockworkSetup/arm/ClockworkSetup.odex.p"));
set_progress(0.917940);
apply_patch("/system/priv-app/ContactsProvider/ContactsProvider.apk",
            "-", 0f11b7919fa78306c82baf5d403ef46553c7a1f8, 130484,
            5d770eb7499a399998920922481a680158a4c5fc, package_extract_file("patch/system/priv-app/ContactsProvider/ContactsProvider.apk.p"));
set_progress(0.918927);
apply_patch("/system/priv-app/ContactsProvider/arm/ContactsProvider.odex",
            "-", b9b3ccc0c6460efafae5f3ee40d9cde10b387c54, 770536,
            da6839b9f8b93c7fbc10fa691b73760ba9a3c460, package_extract_file("patch/system/priv-app/ContactsProvider/arm/ContactsProvider.odex.p"));
set_progress(0.924759);
apply_patch("/system/priv-app/DefaultContainerService/DefaultContainerService.apk",
            "-", 433e8cc8ac59a495a350e5cd539683f3e3e9d656, 12636,
            af7af75a855d719d57500c07238bb4667843f631, package_extract_file("patch/system/priv-app/DefaultContainerService/DefaultContainerService.apk.p"));
set_progress(0.924854);
apply_patch("/system/priv-app/DefaultContainerService/arm/DefaultContainerService.odex",
            "-", 56ec5dd683b75c644235d85ed7e967f5b530e259, 25064,
            b794a0f9a07e009e5d7742dc069deaf2b00298a0, package_extract_file("patch/system/priv-app/DefaultContainerService/arm/DefaultContainerService.odex.p"));
set_progress(0.925044);
apply_patch("/system/priv-app/DownloadProvider/DownloadProvider.apk",
            "-", d6169e7f2909578dd361b5a8259d0066706afdd6, 367759,
            5112176b0b4b9addcebcbf1ae74b23edfd51110a, package_extract_file("patch/system/priv-app/DownloadProvider/DownloadProvider.apk.p"));
set_progress(0.927827);
apply_patch("/system/priv-app/DownloadProvider/arm/DownloadProvider.odex",
            "-", 3e70427cd590dc0b2fce5a441c8d4a1d9d332849, 311784,
            254422c4a84c2e46c5a264dba667a128289f2ee8, package_extract_file("patch/system/priv-app/DownloadProvider/arm/DownloadProvider.odex.p"));
set_progress(0.930187);
apply_patch("/system/priv-app/FusedLocation/FusedLocation.apk", "-",
            8e37d4645c3bd2a72d3371ed9cc4c2014a436f4b, 11676,
            c26e1a79eb80ab597acc1f7ed47c6ea3d312a02d, package_extract_file("patch/system/priv-app/FusedLocation/FusedLocation.apk.p"));
set_progress(0.930275);
apply_patch("/system/priv-app/FusedLocation/arm/FusedLocation.odex",
            "-", 62a319e639091338e0b4ecc176270ab7aa2abc98, 16872,
            4c5706412a69d847d377da439fa4379776482d5d, package_extract_file("patch/system/priv-app/FusedLocation/arm/FusedLocation.odex.p"));
set_progress(0.930403);
apply_patch("/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk",
            "-", 90fe406e8509f0c016bb39a3c114a6e23eab0108, 2471911,
            10757882f592dd4bf9557a2c96a046939fb48ae3, package_extract_file("patch/system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk.p"));
set_progress(0.949110);
apply_patch("/system/priv-app/GoogleServicesFramework/arm/GoogleServicesFramework.odex",
            "-", 135b76d0f27e3593d7132ff7ebc061b2a5b2c14b, 1122792,
            e7bb05ca96cd6be18c5a999380ca104e4a6ee7f4, package_extract_file("patch/system/priv-app/GoogleServicesFramework/arm/GoogleServicesFramework.odex.p"));
set_progress(0.957608);
apply_patch("/system/priv-app/InputDevices/InputDevices.apk", "-",
            dfeb7f9fc0a46928ff9f5125a56dafa69c36087b, 189811,
            2fdc908075acb9ad599adfcf93efdcca078c7d32, package_extract_file("patch/system/priv-app/InputDevices/InputDevices.apk.p"));
set_progress(0.959044);
apply_patch("/system/priv-app/InputDevices/arm/InputDevices.odex",
            "-", df7084c22f31818d028e9c0c478dbbee051e6cd6, 8680,
            cd987140b26b1fc8d6b97e5cbe88f08eeaf70c2f, package_extract_file("patch/system/priv-app/InputDevices/arm/InputDevices.odex.p"));
set_progress(0.959110);
apply_patch("/system/priv-app/MediaProvider/MediaProvider.apk", "-",
            3f829cf662ff11a405a06730a71ec8164c39052c, 60333,
            91d9fa934be43ea7ac4d242edb80c7f8a6794ac0, package_extract_file("patch/system/priv-app/MediaProvider/MediaProvider.apk.p"));
set_progress(0.959567);
apply_patch("/system/priv-app/MediaProvider/arm/MediaProvider.odex",
            "-", 22de46fd469b970177b803ee313632ea5c2d1724, 172520,
            55413082a0cebcf7a818cac3650528a1fcd8397f, package_extract_file("patch/system/priv-app/MediaProvider/arm/MediaProvider.odex.p"));
set_progress(0.960872);
apply_patch("/system/priv-app/SettingsProvider/SettingsProvider.apk",
            "-", 3d11c2b7556671a75305d564e5517c70191b61d0, 100023,
            3fe1dc707fadb7d035baa802c9bde2280e277c82, package_extract_file("patch/system/priv-app/SettingsProvider/SettingsProvider.apk.p"));
set_progress(0.961629);
apply_patch("/system/priv-app/SettingsProvider/arm/SettingsProvider.odex",
            "-", 0ebc8189923387867dbef09bd91bc8e8e4cb527d, 90600,
            98317081deed1a59055f04a9524953fd032ee0d1, package_extract_file("patch/system/priv-app/SettingsProvider/arm/SettingsProvider.odex.p"));
set_progress(0.962315);
apply_patch("/system/priv-app/Shell/Shell.apk", "-",
            422e9817ed25b6557fa19193e454b91a19aefb02, 55906,
            39254fea963fbfd111624c62bb02c78a086088df, package_extract_file("patch/system/priv-app/Shell/Shell.apk.p"));
set_progress(0.962738);
apply_patch("/system/priv-app/Shell/arm/Shell.odex", "-",
            312aec8a82eed4ecc8c351a02757c2e8f9cc2abf, 258536,
            5f9020fc99d207b52316c635d674d5338d4336f3, package_extract_file("patch/system/priv-app/Shell/arm/Shell.odex.p"));
set_progress(0.964695);
ui_print("Patching boot image...");
apply_patch("EMMC:/dev/block/mmcblk0p9:4610048:3e412a76e70670e752c84b25ebdec1bbd0e208d9:4610048:74f1a73c9f5f45aa1cf4ec03bb86315b4d67f846",
            "-", 74f1a73c9f5f45aa1cf4ec03bb86315b4d67f846, 4610048,
            3e412a76e70670e752c84b25ebdec1bbd0e208d9, package_extract_file("patch/boot.img.p"));
set_progress(0.999584);
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/ClockworkProxy", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clockwork_proxy_exec:s0");
set_metadata("/system/bin/adspd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:adspd_exec: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/bootanimation", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootanim_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/dhcpcd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dhcp_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/dumpstate", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dumpstate_exec:s0");
set_metadata("/system/bin/init.mmi.boot.sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mmi-boot-sh_exec:s0");
set_metadata("/system/bin/install-recovery.sh", "uid", 0, "gid", 0, "mode", 0750, "capabilities", 0x0, "selabel", "u:object_r:install_recovery_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/keystore", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:keystore_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/logd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logd_exec:s0");
set_metadata("/system/bin/m4setup", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:m4setup_exec:s0");
set_metadata("/system/bin/mbm_spy", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mbm_spy_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/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "capabilities", 0x0, "selabel", "u:object_r:system_file: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/ping", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file: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/pvrsrvctl_SGX530_125", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:pvrsrv_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/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:setup_fs_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/touch_ramoops.sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ramconsole-touch_exec:s0");
set_metadata("/system/bin/uim-sysfs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:uim_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/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/etc/dhcpcd/dhcpcd-run-hooks", "uid", 1014, "gid", 2000, "mode", 0550, "capabilities", 0x0, "selabel", "u:object_r:system_file: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_recursive("/system/vendor", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/libbt-vendor.so", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/mediadrm/libdrmclearkeyplugin.so", "uid", 0, "gid", 0, "mode", 0644, "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");
ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            1c50ae35fd7e07e2ae10611276d44eb3cfc96624, 1934,
            5392a08a84afca594a5e53ff838dc3a758f2b7e6, package_extract_file("patch/system/build.prop.p"));
set_metadata("/system/build.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
unmount("/system");
