mount("ext4", "EMMC", "/dev/block/mmcblk0p17", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p18", "/data");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "Huawei/C8813Q/hwC8813Q:4.1.2/HuaweiC8813Q/C92B195SP03:user/ota-rel-keys,release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "Huawei/C8813Q/hwC8813Q:4.1.2/HuaweiC8813Q/C92B195SP03:user/ota-rel-keys,release-keys");
assert(getprop("ro.product.device") == "hwC8813Q" ||
       getprop("ro.build.product") == "hwC8813Q" || getprop("ro.build.product") == "c8813q" || getprop("ro.build.product") == "c8813q");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/AntiSpam.apk", "3323c58c5591765485951b4c10297bfee60c7e8f", "d0f6606e703fa613d854d6509aac4a4ad561c0f4"));
set_progress(0.001144);
assert(apply_patch_check("/system/app/Backup.apk", "cefced6821bc91e384fdda072904893bf48aa732", "d66987bc3774b5380faf8f5f85b405f68ca0a6f0"));
set_progress(0.008669);
assert(apply_patch_check("/system/app/Browser.apk", "aa84c43400cb189a59e405321661d5fecb08f1f2", "52a95555ff5bd3dabf8569fe5edddb05c5b7b35a"));
set_progress(0.080310);
assert(apply_patch_check("/system/app/BugReport.apk", "c66957072209e74716cc696b9d3f304d287eb24c", "021dd3a1f6678931342861f17399d355ece0a18f"));
set_progress(0.082160);
assert(apply_patch_check("/system/app/Calculator.apk", "65590aa36c12d3c61d95a9e9d3736a9df61ea234", "34684b4ea9527d54afec4cba3dbde184227e2bd4"));
set_progress(0.092477);
assert(apply_patch_check("/system/app/Calendar.apk", "0651083eab746ef21f497ef9bb7b51338607ea02", "d259efb1406bd29855e0ee637c00ba3be0c805c7"));
set_progress(0.103141);
assert(apply_patch_check("/system/app/CalendarProvider.apk", "ae0a70f230a0a9222310daafd1588e62af0cc7e9", "f4d03eac16212f015befb881964ff69999d78898"));
set_progress(0.104946);
assert(apply_patch_check("/system/app/CloudService.apk", "d15a53447a23473b612dfbda295eee4e3d58f98b", "ce3bebf1ea339c295689ff539f142c1cbe8014e1"));
set_progress(0.107852);
assert(apply_patch_check("/system/app/Contacts.apk", "60659d650bde9ace23d9721392c573ff00b5a97c", "58dc126dcbc9c766566d278de56c6d3e663bc4d1"));
set_progress(0.145023);
assert(apply_patch_check("/system/app/ContactsProvider.apk", "db3846cb6b4c5d473f3934e3d220ca914918683a", "d73b84a2142b4fe754e2fed0f829854c271ca634"));
set_progress(0.148611);
assert(apply_patch_check("/system/app/DataHubProvider.apk", "caaae8f076950d9c5dcb3e0ce41f49a9e40d8128", "1653081de6be9a79f9df5b3fa055dc5a2e44b98a"));
set_progress(0.148734);
assert(apply_patch_check("/system/app/DeskClock.apk", "7a42f2ea2f0a4eb6dc03981230f9fb615611e459", "03da6f1b5220339726027f863fce4cd496f6bf12"));
set_progress(0.158791);
assert(apply_patch_check("/system/app/DownloadProvider.apk", "200a73d073cba6c8a063055aee3a5ef300cfb77c", "a92082b6c0834eb9c07d5c26c60b3ac30fe402d4"));
set_progress(0.160247);
assert(apply_patch_check("/system/app/DownloadProviderUi.apk", "3b21ea6930815c177979e9489174ae67f9e480f2", "4acfc29aac5b1fadad5abe8806b9a2af66c8c25f"));
set_progress(0.161186);
assert(apply_patch_check("/system/app/Email.apk", "32851fce2dc9a434c31cfa3b27ad9d7282402e00", "5fe19e987e9836fb14820da4a20c44007b1b7e9b"));
set_progress(0.181795);
assert(apply_patch_check("/system/app/Exchange2.apk", "7f8ba7d6332953653059fbb8b77f081f91e03292", "50d8ebee63f67385202581af164d1e94a01cd1da"));
set_progress(0.190646);
assert(apply_patch_check("/system/app/MiuiGallery.apk", "538f4e9edec3a87c55e024f6ef0e02d5a70d5cb2", "2f1564712e183cafd5a8b05a67db4df414228b7f"));
set_progress(0.220972);
assert(apply_patch_check("/system/app/MiuiHome.apk", "8908b3c45196a9724596319ef806e42a09d4e956", "239399ce78830ddec177c3816ed0494cda004592"));
set_progress(0.249405);
assert(apply_patch_check("/system/app/MiuiSettings.apk", "e7f76994612144b12b05dc9c8d1b3d2228dbd7a4", "13f5ec44ffc75d0d4d173f68992789210311e3e3"));
set_progress(0.249543);
assert(apply_patch_check("/system/app/MiuiSystemUI.apk", "9db15f61870ca7b4ecf7a7d887dd1f0123735955", "ce14a904d7c250176877ba73024432033d867503"));
set_progress(0.264871);
assert(apply_patch_check("/system/app/Mms.apk", "7619ac9192de74190f6acb135e680f5167ca5483", "54f04d7c3fbd34cc51e79b569dbeb9d80a11c0f0"));
set_progress(0.300475);
assert(apply_patch_check("/system/app/Music.apk", "84f3ae81352c30bf53d5561c27c47799af8dd67c", "33ea549aeb335e70ed5bcd1b198cdf5e1f19eb12"));
set_progress(0.341373);
assert(apply_patch_check("/system/app/Notes.apk", "f1ff1d1e99a9ec4f5ee7f347a48b324432ff7a84", "1b514f89775a93d81bccf86d64f12ab0ae316d8f"));
set_progress(0.362914);
assert(apply_patch_check("/system/app/PackageInstaller.apk", "cc2bbe3c344251f6c56f4b432f01690ab3dd2af8", "3faed460dfbdaf5ce55f20c169085470bd27e0f6"));
set_progress(0.364612);
assert(apply_patch_check("/system/app/Phone.apk", "378428fef340a78ae63f5dc0d6b91290502c9cd5", "4366c0cf428013bbc919461c37f1a1431331d250"));
set_progress(0.387978);
assert(apply_patch_check("/system/app/Provision.apk", "ca735595822ddeafc988f797e5b051d9da022a13", "3820fe77e8878b751b491d89bd58c936bef2446b"));
set_progress(0.395331);
assert(apply_patch_check("/system/app/Settings.apk", "eae054787427c3d58486d041f685329f61c028b0", "e01891b392abe2b0ac410932f0be9e2e5f029434"));
set_progress(0.448881);
assert(apply_patch_check("/system/app/SettingsProvider.apk", "b6c3f14232d0ac971b900af3519c7226cb0152d3", "ae6ef4a9d37a9314d6a5838709e254b0e624d134"));
set_progress(0.450126);
assert(apply_patch_check("/system/app/SoundRecorder.apk", "524084a7ae4c15650946426227970f50af6c4204", "64f946dbeda569ceaf42721febaaa128ae5d8bdb"));
set_progress(0.468198);
assert(apply_patch_check("/system/app/TelephonyProvider.apk", "588a6f5b9e05567bb94e939cd4a1576a8b67ce22", "982d2d84719a30c514a490be9f732f7d150698e3"));
set_progress(0.469174);
assert(apply_patch_check("/system/app/ThemeManager.apk", "32ab82c18c29b58bbf4fb566063249d746d427b2", "161eb02ca5856238e78cf56d52fa5c85fca5c8ef"));
set_progress(0.484058);
assert(apply_patch_check("/system/app/Updater.apk", "bfaa509b1de047bc04ae416dc952415ce0895596", "ad4700b02abf17f43bb38e8ce2442911550a1c44"));
set_progress(0.500733);
assert(apply_patch_check("/system/app/VpnDialogs.apk", "b5fb078633d3510d49a5ee24607813198732e436", "5495bd1f303bdde704be08447524fc477611f97c"));
set_progress(0.500871);
assert(apply_patch_check("/system/app/WeatherProvider.apk", "2c32cb206b560427d3b0bbb91799197255c246f9", "a43a44966826ba939b8df460895982a60d6c7c8a"));
set_progress(0.500986);
assert(apply_patch_check("/system/app/XiaomiServiceFramework.apk", "9aa25a8726f5df4d2ff565d0c4fbebafd52f3277", "c362026d40de8b6134274039a4ffcf9db6b8fcf4"));
set_progress(0.533588);
assert(apply_patch_check("/system/app/YellowPage.apk", "354eda7e61fd27afdbdbad319000eee5a03bf2b1", "471603d8051d4ef62c7a76f7cd433febcb53a013"));
set_progress(0.541886);
assert(apply_patch_check("/system/build.prop", "4accff271be16792f82eaf71632272300a90a8eb", "1d40e24585ff4b743114d02435b69b16a6b004c7"));
set_progress(0.542014);
assert(apply_patch_check("/system/etc/telocation.idf", "8062499dd599e709f8fda14af4c3e66ff1e661fd", "5a6fde8c484e5a28f82385bd94878d60f02d9852"));
set_progress(0.569001);
assert(apply_patch_check("/system/framework/android.policy.jar", "c98ca55eb18de7b1ac213b13abeb142011f530cc", "1c1303d66f93b8564cd102cf6966514bf0c1fc7f"));
set_progress(0.571460);
assert(apply_patch_check("/system/framework/framework-miui-res.apk", "5982b74c748ef771acf094c0367ce2f94374ad9a", "89408908867896687e4324ad248d3207265212ed"));
set_progress(0.678840);
assert(apply_patch_check("/system/framework/framework-res.apk", "1ef0268ab410f8968b086b9ea2b9c50fa5cf0d90", "8bfd24296b4e7e33aa6486bb126a247cb14c2a58"));
set_progress(0.850974);
assert(apply_patch_check("/system/framework/framework.jar", "2ea3359fd4c5768674aef095612128ffe2654876", "bfcec6573581f608a83acd7de180b4cff00b6320"));
set_progress(0.894477);
assert(apply_patch_check("/system/framework/framework_ext.jar", "56f55c0e871816a1f4e5a34d1e50cdc09a4f54ee", "2b9955912004ccbab4e7028b2b165c16e2d3e0c8"));
set_progress(0.913569);
assert(apply_patch_check("/system/framework/services.jar", "9d3460e072c0dfea77e65dc61a2d10ed50e92a1b", "8671898207820d232630623289da874fbdfcf28a"));
set_progress(0.925743);
assert(apply_patch_check("/system/lib/libMiuiGalleryJNI.so", "fced54dac0945905b21989266697b2476b6da0fe", "3de6b2ecae7c7e5f62defc9cd96b37ed30acfe65"));
set_progress(0.928416);
assert(apply_patch_check("/system/lib/libffmpeg_xm.so", "3f8a3fb54cb169cd121beceeb35531567ae06a44", "47d79453c3a8f7fcff8cf9c7d400bafb30854ef2"));
set_progress(0.971387);
assert(apply_patch_check("/system/media/lockscreen/lockscreen_000.jpg", "7d76319837a8314dfb0babfafa9ec91a0001a16c", "16e64bdb36cbcec7f93ee50a0ccd457febb3ea96"));
set_progress(0.972489);
assert(apply_patch_check("/system/media/lockscreen/lockscreen_001.jpg", "26638e3d06dcabebbb4bf1202dd12207bd573b21", "c339435bb01113687b24f34e0fbd2b46c20584db"));
set_progress(0.976211);
assert(apply_patch_check("/system/media/lockscreen/lockscreen_002.jpg", "0fe121618377d7f4bdc7482821c18941d2d523cb", "e130f4775e4ac31d91b1aca52ba9c0e561ccfacc"));
set_progress(0.977764);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_alarmscreen_0.jpg", "1912d6674fffdb7e1a40266d4ce6de47f3e86540", "369b2a6a350dd2751f466e96f2575db0b8b29d20"));
set_progress(0.978337);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_animation_0.png", "db1cfe956149d8da7ce7e7ea7f22cf98f1a4fdbd", "d405863cae5978ebf3afe8d529198da36d0a0034"));
set_progress(0.978401);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_contact_0.jpg", "89959cf80be0b3f5686c9b8147e06a604d39e70e", "cbd6a17e1bffacbefb8c6efeccc346c9ad0f96db"));
set_progress(0.978994);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_mms_0.jpg", "359ca2a9d7a3ef95cd0c16e85a3a2e0f1dd69bbe", "0bb6b12da32dd1acf45c9a91145a8692db488a6f"));
set_progress(0.979574);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_mms_1.jpg", "679ac44ce32c87ac1df3d91808e38768b6a0191c", "ff6bb4c3ce98d4fb59c3830715eb9a5dbcdf23bd"));
set_progress(0.980192);
assert(apply_patch_check("/system/media/theme/.data/preview/default/preview_statusbar_1.jpg", "4a7f6015c16dec073ffeeab446c43ba976343a78", "b4e38055e8933e9b4755d6cc82a8b421a914b2bd"));
set_progress(0.980812);
assert(apply_patch_check("/system/media/theme/default/alarmscreen", "0aa649dc6902163ed19618c43a41273225e045eb", "d61c1f18de852dbc96e40e12a15e5c4b20e353b9"));
set_progress(0.987693);
assert(apply_patch_check("/system/media/theme/default/icons", "d4a1e52181b618253117731b41dde00c6b935e0b", "dbe9b2fdb9450ac4bca42922c46f245fbadbeac6"));
set_progress(0.990603);
assert(apply_patch_check("/system/media/theme/default/lockscreen", "c001a1927de3910cfb8c7daacc2891d9e2a03f8a", "1d9223599f60b218e24893fcd32ad1b4345354cc"));
set_progress(0.996557);
assert(apply_patch_check("/system/media/wallpaper/wallpaper_000.jpg", "14d3033024530ff9c1ed886c6007c4efb1f966a4", "bdebd62ce75b1010077e29b13484cbda4e3a1375"));
set_progress(0.997883);
assert(apply_patch_check("/system/media/wallpaper/wallpaper_002.jpg", "03f98216fff0971f568f4c41a302a5edc5526344", "881e13a7ae06b64d494bfa30f913d6dd98760b13"));
set_progress(1.000000);
assert(apply_patch_space(15384157));

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

ui_print("Removing unneeded files...");
delete("/system/app/MiWallpaper.apk", "/system/app/QuickSearchBox.apk",
       "/system/media/theme/miui_mod_icons/com.android.stk.StkLauncherActivityII.png",
       "/system/media/theme/miui_mod_icons/com.google.android.apps.chrome.Main.png",
       "/system/media/theme/miui_mod_icons/com.google.android.apps.plus.phone.ConversationListActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.apps.plus.phone.HomeActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.gms.common.settings.GoogleSettingsActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.googlequicksearchbox.VoiceSearchActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.maps.MapsActivity.png~95a2bdc... update miui mod icons for 1080p",
       "/system/media/theme/miui_mod_icons/com.google.android.youtube.png",
       "/system/etc/thermald.conf",
       "/system/media/lockscreen/lockscreen_003.jpg",
       "/system/media/lockscreen/lockscreen_004.jpg",
       "/system/media/lockscreen/lockscreen_005.jpg",
       "/system/media/theme/.data/preview/default/preview_fonts_0.png",
       "/system/media/theme/.data/preview/default/preview_fonts_small_0.png",
       "/system/media/theme/.data/preview/default/preview_icons_0.jpg",
       "/system/media/theme/.data/preview/default/preview_icons_1.jpg",
       "/system/media/theme/.data/preview/default/preview_icons_small_0.jpg",
       "/system/media/theme/.data/preview/default/preview_launcher_0.jpg",
       "/system/media/theme/.data/preview/default/preview_launcher_1.jpg",
       "/system/media/theme/.data/preview/default/preview_lockscreen_0.jpg",
       "/system/media/theme/.data/preview/default/preview_statusbar_0.jpg",
       "/system/media/theme/default/lock_wallpaper",
       "/system/media/theme/miui_mod_icons/com.google.android.apps.googlevoice.png",
       "/system/media/theme/miui_mod_icons/com.google.android.ears.png",
       "/system/media/theme/miui_mod_icons/com.google.android.gm.png",
       "/system/media/theme/miui_mod_icons/com.google.android.googlequicksearchbox.png",
       "/system/media/theme/miui_mod_icons/com.google.android.inputmethod.pinyin.png",
       "/system/media/theme/miui_mod_icons/com.google.android.maps.MapsActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.maps.PlacesActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.maps.driveabout.app.DestinationActivity.png",
       "/system/media/theme/miui_mod_icons/com.google.android.talk.png",
       "/system/media/wallpaper/wallpaper_001.jpg",
       "/system/media/wallpaper/wallpaper_003.jpg",
       "/system/media/wallpaper/wallpaper_004.jpg",
       "/system/media/wallpaper/wallpaper_005.jpg",
       "/data/preinstall_apps/Baidubrowser.apk",
       "/data/preinstall_apps/ninegame.apk", "/system/app/Baidusearch.apk",
       "/system/etc/thermald-8x25-msm1-pmic_therm.conf",
       "/system/etc/thermald-C8813Q.conf", "/system/lib/libAesArithmetic.so",
       "/system/lib/libBDVoiceSearch_V3.so", "/system/lib/libMoplusMD5.so",
       "/system/lib/libbase64encoder_v1_2.so",
       "/system/lib/libbase64encoder_v1_3.so",
       "/system/lib/libflyflowjni_V1_0_0_0.so", "/system/lib/libgetcpuspec.so",
       "/system/lib/liblocSDK3.so", "/system/lib/libp2p-jni.so",
       "/system/lib/libpush-socket.so", "/system/lib/librabjni.so",
       "/system/lib/librabjni_v1_0.so", "/system/lib/libsapi_V5_0.so",
       "/system/lib/libshare_v2.so", "/system/lib/libstlport_shared.so",
       "/system/lib/libtmfe30.so",
       "/system/media/lockscreen/lockscreen_006.jpg",
       "/system/media/wallpaper/wallpaper_006.jpg",
       "/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/app/AntiSpam.apk", "-",
            3323c58c5591765485951b4c10297bfee60c7e8f, 103174,
            d0f6606e703fa613d854d6509aac4a4ad561c0f4, package_extract_file("patch/system/app/AntiSpam.apk.p"));
set_progress(0.001217);
apply_patch("/system/app/Backup.apk", "-",
            cefced6821bc91e384fdda072904893bf48aa732, 672826,
            d66987bc3774b5380faf8f5f85b405f68ca0a6f0, package_extract_file("patch/system/app/Backup.apk.p"));
set_progress(0.009154);
apply_patch("/system/app/Browser.apk", "-",
            aa84c43400cb189a59e405321661d5fecb08f1f2, 3259473,
            52a95555ff5bd3dabf8569fe5edddb05c5b7b35a, package_extract_file("patch/system/app/Browser.apk.p"));
set_progress(0.047602);
apply_patch("/system/app/BugReport.apk", "-",
            c66957072209e74716cc696b9d3f304d287eb24c, 165357,
            021dd3a1f6678931342861f17399d355ece0a18f, package_extract_file("patch/system/app/BugReport.apk.p"));
set_progress(0.049553);
apply_patch("/system/app/Calculator.apk", "-",
            65590aa36c12d3c61d95a9e9d3736a9df61ea234, 430734,
            34684b4ea9527d54afec4cba3dbde184227e2bd4, package_extract_file("patch/system/app/Calculator.apk.p"));
set_progress(0.054634);
apply_patch("/system/app/Calendar.apk", "-",
            0651083eab746ef21f497ef9bb7b51338607ea02, 953092,
            d259efb1406bd29855e0ee637c00ba3be0c805c7, package_extract_file("patch/system/app/Calendar.apk.p"));
set_progress(0.065876);
apply_patch("/system/app/CalendarProvider.apk", "-",
            ae0a70f230a0a9222310daafd1588e62af0cc7e9, 161277,
            f4d03eac16212f015befb881964ff69999d78898, package_extract_file("patch/system/app/CalendarProvider.apk.p"));
set_progress(0.067779);
apply_patch("/system/app/CloudService.apk", "-",
            d15a53447a23473b612dfbda295eee4e3d58f98b, 259741,
            ce3bebf1ea339c295689ff539f142c1cbe8014e1, package_extract_file("patch/system/app/CloudService.apk.p"));
set_progress(0.070843);
apply_patch("/system/app/Contacts.apk", "-",
            60659d650bde9ace23d9721392c573ff00b5a97c, 2885580,
            58dc126dcbc9c766566d278de56c6d3e663bc4d1, package_extract_file("patch/system/app/Contacts.apk.p"));
set_progress(0.104881);
apply_patch("/system/app/ContactsProvider.apk", "-",
            db3846cb6b4c5d473f3934e3d220ca914918683a, 320669,
            d73b84a2142b4fe754e2fed0f829854c271ca634, package_extract_file("patch/system/app/ContactsProvider.apk.p"));
set_progress(0.108663);
apply_patch("/system/app/DataHubProvider.apk", "-",
            caaae8f076950d9c5dcb3e0ce41f49a9e40d8128, 11011,
            1653081de6be9a79f9df5b3fa055dc5a2e44b98a, package_extract_file("patch/system/app/DataHubProvider.apk.p"));
set_progress(0.108793);
apply_patch("/system/app/DeskClock.apk", "-",
            7a42f2ea2f0a4eb6dc03981230f9fb615611e459, 818784,
            03da6f1b5220339726027f863fce4cd496f6bf12, package_extract_file("patch/system/app/DeskClock.apk.p"));
set_progress(0.118452);
apply_patch("/system/app/DownloadProvider.apk", "-",
            200a73d073cba6c8a063055aee3a5ef300cfb77c, 130130,
            a92082b6c0834eb9c07d5c26c60b3ac30fe402d4, package_extract_file("patch/system/app/DownloadProvider.apk.p"));
set_progress(0.119987);
apply_patch("/system/app/DownloadProviderUi.apk", "-",
            3b21ea6930815c177979e9489174ae67f9e480f2, 83910,
            4acfc29aac5b1fadad5abe8806b9a2af66c8c25f, package_extract_file("patch/system/app/DownloadProviderUi.apk.p"));
set_progress(0.120976);
apply_patch("/system/app/Email.apk", "-",
            32851fce2dc9a434c31cfa3b27ad9d7282402e00, 1834995,
            5fe19e987e9836fb14820da4a20c44007b1b7e9b, package_extract_file("patch/system/app/Email.apk.p"));
set_progress(0.142622);
apply_patch("/system/app/Exchange2.apk", "-",
            7f8ba7d6332953653059fbb8b77f081f91e03292, 791201,
            50d8ebee63f67385202581af164d1e94a01cd1da, package_extract_file("patch/system/app/Exchange2.apk.p"));
set_progress(0.151955);
apply_patch("/system/app/MiuiGallery.apk", "-",
            538f4e9edec3a87c55e024f6ef0e02d5a70d5cb2, 2711722,
            2f1564712e183cafd5a8b05a67db4df414228b7f, package_extract_file("patch/system/app/MiuiGallery.apk.p"));
set_progress(0.183942);
apply_patch("/system/app/MiuiHome.apk", "-",
            8908b3c45196a9724596319ef806e42a09d4e956, 2541142,
            239399ce78830ddec177c3816ed0494cda004592, package_extract_file("patch/system/app/MiuiHome.apk.p"));
set_progress(0.213918);
apply_patch("/system/app/MiuiSettings.apk", "-",
            e7f76994612144b12b05dc9c8d1b3d2228dbd7a4, 23836,
            13f5ec44ffc75d0d4d173f68992789210311e3e3, package_extract_file("patch/system/app/MiuiSettings.apk.p"));
set_progress(0.214199);
apply_patch("/system/app/MiuiSystemUI.apk", "-",
            9db15f61870ca7b4ecf7a7d887dd1f0123735955, 1370340,
            ce14a904d7c250176877ba73024432033d867503, package_extract_file("patch/system/app/MiuiSystemUI.apk.p"));
set_progress(0.230363);
apply_patch("/system/app/Mms.apk", "-",
            7619ac9192de74190f6acb135e680f5167ca5483, 3182485,
            54f04d7c3fbd34cc51e79b569dbeb9d80a11c0f0, package_extract_file("patch/system/app/Mms.apk.p"));
set_progress(0.267904);
apply_patch("/system/app/Music.apk", "-",
            84f3ae81352c30bf53d5561c27c47799af8dd67c, 3655148,
            33ea549aeb335e70ed5bcd1b198cdf5e1f19eb12, package_extract_file("patch/system/app/Music.apk.p"));
set_progress(0.311020);
apply_patch("/system/app/Notes.apk", "-",
            f1ff1d1e99a9ec4f5ee7f347a48b324432ff7a84, 1925177,
            1b514f89775a93d81bccf86d64f12ab0ae316d8f, package_extract_file("patch/system/app/Notes.apk.p"));
set_progress(0.333729);
apply_patch("/system/app/PackageInstaller.apk", "-",
            cc2bbe3c344251f6c56f4b432f01690ab3dd2af8, 151754,
            3faed460dfbdaf5ce55f20c169085470bd27e0f6, package_extract_file("patch/system/app/PackageInstaller.apk.p"));
set_progress(0.335519);
apply_patch("/system/app/Phone.apk", "-",
            378428fef340a78ae63f5dc0d6b91290502c9cd5, 2090663,
            4366c0cf428013bbc919461c37f1a1431331d250, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.360180);
apply_patch("/system/app/Provision.apk", "-",
            ca735595822ddeafc988f797e5b051d9da022a13, 657168,
            3820fe77e8878b751b491d89bd58c936bef2446b, package_extract_file("patch/system/app/Provision.apk.p"));
set_progress(0.367932);
apply_patch("/system/app/Settings.apk", "-",
            eae054787427c3d58486d041f685329f61c028b0, 4787416,
            e01891b392abe2b0ac410932f0be9e2e5f029434, package_extract_file("patch/system/app/Settings.apk.p"));
set_progress(0.424404);
apply_patch("/system/app/SettingsProvider.apk", "-",
            b6c3f14232d0ac971b900af3519c7226cb0152d3, 111278,
            ae6ef4a9d37a9314d6a5838709e254b0e624d134, package_extract_file("patch/system/app/SettingsProvider.apk.p"));
set_progress(0.425717);
apply_patch("/system/app/SoundRecorder.apk", "-",
            524084a7ae4c15650946426227970f50af6c4204, 1203374,
            64f946dbeda569ceaf42721febaaa128ae5d8bdb, package_extract_file("patch/system/app/SoundRecorder.apk.p"));
set_progress(0.439912);
apply_patch("/system/app/TelephonyProvider.apk", "-",
            588a6f5b9e05567bb94e939cd4a1576a8b67ce22, 87176,
            982d2d84719a30c514a490be9f732f7d150698e3, package_extract_file("patch/system/app/TelephonyProvider.apk.p"));
set_progress(0.440940);
apply_patch("/system/app/ThemeManager.apk", "-",
            32ab82c18c29b58bbf4fb566063249d746d427b2, 1330251,
            161eb02ca5856238e78cf56d52fa5c85fca5c8ef, package_extract_file("patch/system/app/ThemeManager.apk.p"));
set_progress(0.456632);
apply_patch("/system/app/Updater.apk", "-",
            bfaa509b1de047bc04ae416dc952415ce0895596, 1490554,
            ad4700b02abf17f43bb38e8ce2442911550a1c44, package_extract_file("patch/system/app/Updater.apk.p"));
set_progress(0.474214);
apply_patch("/system/app/VpnDialogs.apk", "-",
            b5fb078633d3510d49a5ee24607813198732e436, 12390,
            5495bd1f303bdde704be08447524fc477611f97c, package_extract_file("patch/system/app/VpnDialogs.apk.p"));
set_progress(0.474361);
apply_patch("/system/app/WeatherProvider.apk", "-",
            2c32cb206b560427d3b0bbb91799197255c246f9, 10223,
            a43a44966826ba939b8df460895982a60d6c7c8a, package_extract_file("patch/system/app/WeatherProvider.apk.p"));
set_progress(0.474481);
apply_patch("/system/app/XiaomiServiceFramework.apk", "-",
            9aa25a8726f5df4d2ff565d0c4fbebafd52f3277, 2913667,
            c362026d40de8b6134274039a4ffcf9db6b8fcf4, package_extract_file("patch/system/app/XiaomiServiceFramework.apk.p"));
set_progress(0.508851);
apply_patch("/system/app/YellowPage.apk", "-",
            354eda7e61fd27afdbdbad319000eee5a03bf2b1, 741561,
            471603d8051d4ef62c7a76f7cd433febcb53a013, package_extract_file("patch/system/app/YellowPage.apk.p"));
set_progress(0.517598);
apply_patch("/system/etc/telocation.idf", "-",
            8062499dd599e709f8fda14af4c3e66ff1e661fd, 2411892,
            5a6fde8c484e5a28f82385bd94878d60f02d9852, package_extract_file("patch/system/etc/telocation.idf.p"));
set_progress(0.546049);
apply_patch("/system/framework/android.policy.jar", "-",
            c98ca55eb18de7b1ac213b13abeb142011f530cc, 220028,
            1c1303d66f93b8564cd102cf6966514bf0c1fc7f, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.548644);
apply_patch("/system/framework/framework-miui-res.apk", "-",
            5982b74c748ef771acf094c0367ce2f94374ad9a, 9602457,
            89408908867896687e4324ad248d3207265212ed, package_extract_file("patch/system/framework/framework-miui-res.apk.p"));
set_progress(0.661914);
apply_patch("/system/framework/framework-res.apk", "-",
            1ef0268ab410f8968b086b9ea2b9c50fa5cf0d90, 15600972,
            8bfd24296b4e7e33aa6486bb126a247cb14c2a58, package_extract_file("patch/system/framework/framework-res.apk.p"));
set_progress(0.845943);
apply_patch("/system/framework/framework.jar", "-",
            2ea3359fd4c5768674aef095612128ffe2654876, 3909863,
            bfcec6573581f608a83acd7de180b4cff00b6320, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.892063);
apply_patch("/system/framework/framework_ext.jar", "-",
            56f55c0e871816a1f4e5a34d1e50cdc09a4f54ee, 1705729,
            2b9955912004ccbab4e7028b2b165c16e2d3e0c8, package_extract_file("patch/system/framework/framework_ext.jar.p"));
set_progress(0.912184);
apply_patch("/system/framework/services.jar", "-",
            9d3460e072c0dfea77e65dc61a2d10ed50e92a1b, 1087785,
            8671898207820d232630623289da874fbdfcf28a, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.925015);
apply_patch("/system/lib/libMiuiGalleryJNI.so", "-",
            fced54dac0945905b21989266697b2476b6da0fe, 238952,
            3de6b2ecae7c7e5f62defc9cd96b37ed30acfe65, package_extract_file("patch/system/lib/libMiuiGalleryJNI.so.p"));
set_progress(0.927834);
apply_patch("/system/lib/libffmpeg_xm.so", "-",
            3f8a3fb54cb169cd121beceeb35531567ae06a44, 3840396,
            47d79453c3a8f7fcff8cf9c7d400bafb30854ef2, package_extract_file("patch/system/lib/libffmpeg_xm.so.p"));
set_progress(0.973135);
apply_patch("/system/media/lockscreen/lockscreen_000.jpg", "-",
            7d76319837a8314dfb0babfafa9ec91a0001a16c, 105113,
            16e64bdb36cbcec7f93ee50a0ccd457febb3ea96, package_extract_file("patch/system/media/lockscreen/lockscreen_000.jpg.p"));
set_progress(0.974375);
apply_patch("/system/media/lockscreen/lockscreen_001.jpg", "-",
            26638e3d06dcabebbb4bf1202dd12207bd573b21, 113345,
            c339435bb01113687b24f34e0fbd2b46c20584db, package_extract_file("patch/system/media/lockscreen/lockscreen_001.jpg.p"));
set_progress(0.975712);
apply_patch("/system/media/lockscreen/lockscreen_002.jpg", "-",
            0fe121618377d7f4bdc7482821c18941d2d523cb, 61585,
            e130f4775e4ac31d91b1aca52ba9c0e561ccfacc, package_extract_file("patch/system/media/lockscreen/lockscreen_002.jpg.p"));
set_progress(0.976439);
apply_patch("/system/media/theme/.data/preview/default/preview_alarmscreen_0.jpg",
            "-", 1912d6674fffdb7e1a40266d4ce6de47f3e86540, 42374,
            369b2a6a350dd2751f466e96f2575db0b8b29d20, package_extract_file("patch/system/media/theme/.data/preview/default/preview_alarmscreen_0.jpg.p"));
set_progress(0.976938);
apply_patch("/system/media/theme/.data/preview/default/preview_animation_0.png",
            "-", db1cfe956149d8da7ce7e7ea7f22cf98f1a4fdbd, 7417,
            d405863cae5978ebf3afe8d529198da36d0a0034, package_extract_file("patch/system/media/theme/.data/preview/default/preview_animation_0.png.p"));
set_progress(0.977026);
apply_patch("/system/media/theme/.data/preview/default/preview_contact_0.jpg",
            "-", 89959cf80be0b3f5686c9b8147e06a604d39e70e, 54667,
            cbd6a17e1bffacbefb8c6efeccc346c9ad0f96db, package_extract_file("patch/system/media/theme/.data/preview/default/preview_contact_0.jpg.p"));
set_progress(0.977671);
apply_patch("/system/media/theme/.data/preview/default/preview_mms_0.jpg",
            "-", 359ca2a9d7a3ef95cd0c16e85a3a2e0f1dd69bbe, 58252,
            0bb6b12da32dd1acf45c9a91145a8692db488a6f, package_extract_file("patch/system/media/theme/.data/preview/default/preview_mms_0.jpg.p"));
set_progress(0.978358);
apply_patch("/system/media/theme/.data/preview/default/preview_mms_1.jpg",
            "-", 679ac44ce32c87ac1df3d91808e38768b6a0191c, 62635,
            ff6bb4c3ce98d4fb59c3830715eb9a5dbcdf23bd, package_extract_file("patch/system/media/theme/.data/preview/default/preview_mms_1.jpg.p"));
set_progress(0.979097);
apply_patch("/system/media/theme/.data/preview/default/preview_statusbar_1.jpg",
            "-", 4a7f6015c16dec073ffeeab446c43ba976343a78, 64248,
            b4e38055e8933e9b4755d6cc82a8b421a914b2bd, package_extract_file("patch/system/media/theme/.data/preview/default/preview_statusbar_1.jpg.p"));
set_progress(0.979855);
apply_patch("/system/media/theme/default/alarmscreen", "-",
            0aa649dc6902163ed19618c43a41273225e045eb, 615045,
            d61c1f18de852dbc96e40e12a15e5c4b20e353b9, package_extract_file("patch/system/media/theme/default/alarmscreen.p"));
set_progress(0.987110);
apply_patch("/system/media/theme/default/icons", "-",
            d4a1e52181b618253117731b41dde00c6b935e0b, 264618,
            dbe9b2fdb9450ac4bca42922c46f245fbadbeac6, package_extract_file("patch/system/media/theme/default/icons.p"));
set_progress(0.990231);
apply_patch("/system/media/theme/default/lockscreen", "-",
            c001a1927de3910cfb8c7daacc2891d9e2a03f8a, 542506,
            1d9223599f60b218e24893fcd32ad1b4345354cc, package_extract_file("patch/system/media/theme/default/lockscreen.p"));
set_progress(0.996631);
apply_patch("/system/media/wallpaper/wallpaper_000.jpg", "-",
            14d3033024530ff9c1ed886c6007c4efb1f966a4, 159820,
            bdebd62ce75b1010077e29b13484cbda4e3a1375, package_extract_file("patch/system/media/wallpaper/wallpaper_000.jpg.p"));
set_progress(0.998516);
apply_patch("/system/media/wallpaper/wallpaper_002.jpg", "-",
            03f98216fff0971f568f4c41a302a5edc5526344, 114326,
            881e13a7ae06b64d494bfa30f913d6dd98760b13, package_extract_file("patch/system/media/wallpaper/wallpaper_002.jpg.p"));
set_progress(0.999864);
show_progress(0.100000, 10);
ui_print("Unpacking new files...");
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");
ui_print("Symlinks and permissions...");
set_perm_recursive(1000, 1000, 0755, 0644, "/data/preinstall_apps");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 0, 0755, 0755, "/system/MTK_FIRMWARE");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 0, 0644, "/system/bin/chargelogcat");
set_perm_recursive(0, 0, 0755, 0644, "/system/bin/dbox/logexception");
set_perm(0, 1000, 0755, "/system/bin/diag_mdlog");
set_perm(0, 0, 0644, "/system/bin/gpsone_daemon");
set_perm(0, 0, 0644, "/system/bin/hwnff");
set_perm(0, 0, 0644, "/system/bin/hwnffserver");
set_perm(0, 1000, 0750, "/system/bin/iptables");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 2000, 02755, "/system/bin/pcscd");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(0, 1000, 0750, "/system/bin/tc");
set_perm(0, 0, 0644, "/system/bin/tinycap");
set_perm(0, 0, 0644, "/system/bin/tinymix");
set_perm(0, 0, 0644, "/system/bin/tinyplay");
set_perm(0, 0, 0644, "/system/bin/wiperiface_v02");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(0, 0, 0644, "/system/etc/bluetooth/BCM4329_check.hcd");
set_perm(0, 0, 0644, "/system/etc/bluetooth/BCM4330_check.hcd");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(0, 0, 0644, "/system/etc/bluetooth/iop_device_list.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 1000, 0550, "/system/etc/init.qcom.sdio.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm(0, 2000, 0755, "/system/vendor/lib");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 1000, 06750, "/system/xbin/shelld");
set_perm(0, 0, 06755, "/system/xbin/su");
ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            4accff271be16792f82eaf71632272300a90a8eb, 11500,
            1d40e24585ff4b743114d02435b69b16a6b004c7, package_extract_file("patch/system/build.prop.p"));
set_perm(0, 0, 0644, "/system/build.prop");
unmount("/data");
unmount("/system");
