mount("ext4", "EMMC", "/dev/block/mmcblk0p33", "/system");
mount("ext4", "EMMC", "/dev/block/mmcblk0p35", "/data");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "htc_europe/ville/ville:4.0.4/IMM76D/90817.5:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "htc_europe/ville/ville:4.0.4/IMM76D/90817.5:user/release-keys");
assert(getprop("ro.product.device") == "ville" ||
       getprop("ro.build.product") == "ville");
delete_recursive("/data/dalvik-cache");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/AirkanPhoneService.apk", "58bd095a6bd13c5637648a2e06a6874f6952331b", "e0d330736335aca66c58d095e0f6604a53991044"));
set_progress(0.004402);
assert(apply_patch_check("/system/app/AntiSpam.apk", "4e9316e4ebf0be93608e597d560a4b13ac532ed5", "b3265bfb499c0f8c6680f76053da0e90fb15e411"));
set_progress(0.006084);
assert(apply_patch_check("/system/app/Backup.apk", "58831121866aaa559082ebc7320f396adeae7ed2", "75aea755648175382e69638de735df21951245b9"));
set_progress(0.011140);
assert(apply_patch_check("/system/app/Browser.apk", "77fc812611075e06a59c32293225341d007bfad4", "5751eff304ca0cfc6b94de163292c03648ec5c37"));
set_progress(0.054726);
assert(apply_patch_check("/system/app/BugReport.apk", "5abc5e11fe64a33bb8bef17bf6520b3eeae75066", "95eeea8236c35c8ebc9dd502ea3d0e40d261d9eb"));
set_progress(0.056607);
assert(apply_patch_check("/system/app/Calculator.apk", "b9501813369144c9190444e57052bb384aa0ef00", "95f19e8b6c73a6a6aa212a1a4358bafe7f9d2725"));
set_progress(0.057984);
assert(apply_patch_check("/system/app/Calendar.apk", "882f76c99df8459a6da7ebbec22c0e42530f94f0", "444ca6c98047ca7c0a85993017b16fc8c49981c2"));
set_progress(0.065683);
assert(apply_patch_check("/system/app/CalendarProvider.apk", "212327935e05fa7fab82f9fc70a71e01ad6446d9", "7fc8fe0056f9c62878d9703e4028cf9ac27c69c4"));
set_progress(0.067046);
assert(apply_patch_check("/system/app/CloudService.apk", "95723b2ba17973895f9a42964f21e41d65d69da1", "664fbd32783ce147ceb1d5ad4da5228411f1686b"));
set_progress(0.069262);
assert(apply_patch_check("/system/app/Contacts.apk", "e620cc30cd046f7bedb322285154645a1491ce2b", "e601dca2fd058ef7fbdea9b1714fb3285bc4a90c"));
set_progress(0.102248);
assert(apply_patch_check("/system/app/ContactsProvider.apk", "247a5be3cda27eb6f6fad46bed875cf97261a2ea", "c8a47cb1a61f0161b4f3b011bf72635334282a85"));
set_progress(0.107903);
assert(apply_patch_check("/system/app/DataHubProvider.apk", "533a231c82f9aa976dccddc25b7546f2085d0826", "2383b8e172dedf0dcfc9a3086ffd6e884dd6cb16"));
set_progress(0.108008);
assert(apply_patch_check("/system/app/DeskClock.apk", "02d122b299b989280f9a49365035978483a4ead5", "dacff9259c46c4cbd96b15a08dbb4cecefc66dbc"));
set_progress(0.146634);
assert(apply_patch_check("/system/app/DownloadProvider.apk", "bf5c189679308926ec51f2e6388d9ee526f9d68a", "05e30cb5cd6240df8c48c06e8e75ed011aac5875"));
set_progress(0.147703);
assert(apply_patch_check("/system/app/DownloadProviderUi.apk", "ebe76c8a3545460d53f2576bb78eb561d5ce06c5", "3c7dc44864261b59139025804c3db64177db8ddc"));
set_progress(0.149076);
assert(apply_patch_check("/system/app/Email.apk", "0ccb7cee95a465a2d72f3fbf4e6271fb6048133c", "d79dc1541b34a0a3b460b66568b75464eafbd476"));
set_progress(0.164085);
assert(apply_patch_check("/system/app/FileExplorer.apk", "a2c29a804a16525d157ce9dd2c8f008ef6e253bc", "1c3cbfce0eeced82c3da2ad1f3c5f1ad3983d1c7"));
set_progress(0.183096);
assert(apply_patch_check("/system/app/LBESEC_MIUI.apk", "5b9e8b6f122be56bf8ec9f646b47a9a68b84a125", "0e693eea4203af60151116b6ff270d41035e15eb"));
set_progress(0.188064);
assert(apply_patch_check("/system/app/LatinIME.apk", "fab375264ebb312e3cb128b79eef08f133f3345b", "d7c4fb4c3b7a34f2c6a7821d3f0eeae6126ba8f8"));
set_progress(0.203583);
assert(apply_patch_check("/system/app/MiuiCompass.apk", "0ed870ca9acea34aa04d7adc8f1607becea3756b", "e76505195448288353bfadd653705e6b1f04a947"));
set_progress(0.228098);
assert(apply_patch_check("/system/app/MiuiGallery.apk", "ba599dd38bd41a24963a96ae00825e4199bdda22", "9a7591c36193202c6a301b826a7457632b2abb05"));
set_progress(0.264954);
assert(apply_patch_check("/system/app/MiuiHome.apk", "3a18c81bf3a2170b76f43ec6f702a86515b05004", "51ae97d5f8ab7605be39c598f31e4bb3a239addc"));
set_progress(0.337327);
assert(apply_patch_check("/system/app/MiuiSystemUI.apk", "2193cec2ba5ac3f5a8ce36a0efd1ccd60b2e543c", "a5d10929d6b69de1dd984e2dedd6a4a723e46d80"));
set_progress(0.365873);
assert(apply_patch_check("/system/app/MiuiVideoPlayer.apk", "f995505db3310b8fdb5470306230e37452521945", "22ed8d2a5c7f6f66921c957d3a4d4da0e6753a68"));
set_progress(0.374128);
assert(apply_patch_check("/system/app/Mms.apk", "131cb1b146bbd91048fff64e5e13a08bf81a6b28", "460fee8fbecf15f86b7abcfc059d38341097f6bf"));
set_progress(0.420511);
assert(apply_patch_check("/system/app/Music.apk", "7478df15ea76079c305880508d9fd66bef08bedf", "d7e8e3464e69092ecb7bf38707d8884d5d990545"));
set_progress(0.464713);
assert(apply_patch_check("/system/app/NetworkAssistant.apk", "8a06b304608ae818fe414cffc5acfa4beff87409", "6aa503c87cf6bb92335739755d9dcd00a51ae753"));
set_progress(0.467999);
assert(apply_patch_check("/system/app/Notes.apk", "cf0f02593945519010c42f0f64a79e55fe1a7456", "494f232c63cb5a2ed8f4f2ffa55cf80d5f06ae50"));
set_progress(0.503615);
assert(apply_patch_check("/system/app/PackageInstaller.apk", "2b733b5c11f2d1a6eae8b264aa9e0d335cb5b004", "faf5cc43b520728e6b139ca9526b39f620135143"));
set_progress(0.504202);
assert(apply_patch_check("/system/app/Phone.apk", "688c6e3909924a9a3db9e0e69d32194b580e37ad", "c9d4afb9009e813f2db481b4112b46d38b4b0eec"));
set_progress(0.531525);
assert(apply_patch_check("/system/app/Provision.apk", "69745186bf27a06e5536af0ba710cde3012898b2", "025cd229d093f5b157d340eab59ef2e7e333e9fc"));
set_progress(0.531567);
assert(apply_patch_check("/system/app/QuickSearchBox.apk", "59202cdcd8c123c326a44a630ab76559420e6f87", "7a3ba4c1f12cb3532f76780be9e85c518f56450c"));
set_progress(0.535724);
assert(apply_patch_check("/system/app/Settings.apk", "ed678525c1343833312407f49f660d5ba19e2886", "4817ff038074e24bda8b6a863259a4e4055298ad"));
set_progress(0.576887);
assert(apply_patch_check("/system/app/SoundRecorder.apk", "fadd2f17ad5a9ec49eec72ba4a93c0f7c160190b", "804d3dcc893b6964a36b92dc7465601154205fdd"));
set_progress(0.589828);
assert(apply_patch_check("/system/app/Stk.apk", "02d9707c2a0360bf5ca11b86a766b06ea07b2117", "93641ceb10ab22bc1c5be5bbdb008af8cf55ead7"));
set_progress(0.590455);
assert(apply_patch_check("/system/app/SuperMarket.apk", "a3fd652b4a07c213908ea464806628d6fbbd83bd", "04ea17c6f684b1c774d7ddb3ddd8a94a8c858036"));
set_progress(0.601765);
assert(apply_patch_check("/system/app/TelephonyProvider.apk", "38a221ccceaf667bf7ae52ab49225563d181efee", "575c48f264d8cb4c895a73ebce9e13be170ee845"));
set_progress(0.602644);
assert(apply_patch_check("/system/app/TelocationProvider.apk", "a22b57e1fbac573f95f20eb110642a5a47136ddd", "ab9732454d04f079044c33d2420adedb04b7722a"));
set_progress(0.602810);
assert(apply_patch_check("/system/app/ThemeManager.apk", "db0b629ddb3cf937899c9ba44eefb69f1147efd0", "21f18e6c8032e664d661ca5907e9e6c31ab8622c"));
set_progress(0.609719);
assert(apply_patch_check("/system/app/Updater.apk", "e92badd11ad20cacfc888f399863167b98102880", "d50c5da0bb5acdd5a15b2595ac1217183b4dd88d"));
set_progress(0.623561);
assert(apply_patch_check("/system/app/VpnDialogs.apk", "efe3af9f1e9342505b5552ea733a4f993c507b7e", "7d1d3448776a6d4f2675ed65db45d819c662fe36"));
set_progress(0.623708);
assert(apply_patch_check("/system/app/WeatherProvider.apk", "a1624ae356ad5c68cb1d256342655da93975468c", "fbdb93638ccd919e2fb2b5a94645c2d38f96e9c8"));
set_progress(0.623817);
assert(apply_patch_check("/system/app/XiaomiServiceFramework.apk", "b232438a202117c3472fc835a28580e8feffd1fc", "4bc4b7b0fdbaf7e8b508279155f7c2ded7f1f938"));
set_progress(0.633535);
assert(apply_patch_check("/system/bin/installd", "82c2ab9a69d9d2d4723f42de7be1a24ddc323fdf", "e7fe1df265330b9db45e94d83f51c347dbb0e8b6"));
set_progress(0.633849);
assert(apply_patch_check("/system/build.prop", "94dd3a3740bc8ed6476b3a2f955b22939b0a98de", "389eba12a75188abdb093a6217c5f1cdae7cacaf"));
set_progress(0.633951);
assert(apply_patch_check("/system/etc/telocation.td", "978ece1b9c4a8db77c9096a4ef984587100aabb2", "37cc2eb182e92c2f68f1a74047babd0b5a3a3d50"));
set_progress(0.648003);
assert(apply_patch_check("/system/etc/unicode_py_index.td", "06033859846df779a28d46cacd867dc7c2ef3b5d", "e6013f3555284d9307607923d3e97eec557dc838"));
set_progress(0.648706);
assert(apply_patch_check("/system/framework/HTCExtension.jar", "8bc680c107017e697756820c4d7d0bf44c0050ac", "a536c7c94af315ed3a657456a8b40a0d90a57308"));
set_progress(0.688589);
assert(apply_patch_check("/system/framework/android.policy.jar", "ac519f6d821320585e3b3c8d36a5a4ba353aa4f2", "bb249486dbec89f90bdae911fbac11390db22a32"));
set_progress(0.692579);
assert(apply_patch_check("/system/framework/framework-miui-res.apk", "d45e6b1ec29151a0b80a653151713ba721f65807", "d730c7b5c78044d0a268f3853d654b997893d45b"));
set_progress(0.725744);
assert(apply_patch_check("/system/framework/framework.jar", "63bdfc58f48b701b4d685de7f3436027db3a6307", "5250c196a604f2beaf1efb2e3b1c5abd9beaca06"));
set_progress(0.772348);
assert(apply_patch_check("/system/framework/framework2.jar", "5ecaf1bd301c40dd4896b9bdb30b67531bd70663", "1f0d29f5ff6ff85e9f8df6ca1b34764c48848b13"));
set_progress(0.797941);
assert(apply_patch_check("/system/framework/miui-framework.jar", "a0fc05e0ca030e4078ce99588fdbff46a7f8aafe", "bc2f726339075d60ac054bc320cacb9156391d56"));
set_progress(0.802621);
assert(apply_patch_check("/system/framework/services.jar", "66839bce16267f9f62da1e81956ea3474b1d898d", "2be4f246525e437dcea0409562309e5d3bcbef6e"));
set_progress(0.817820);
assert(apply_patch_check("/system/lib/libshellservice.so", "576393432e11b34d3448da733a7e109a419b5100", "84c195504a66433f5473ed914024db1ff1fd5008"));
set_progress(0.818103);
assert(apply_patch_check("/system/media/bootanimation.zip", "43b7712d5d5a6d1db0ef606a6f3518e244103846", "04806010b5d6d3245aca4f539d46e138e49d9b3d"));
set_progress(0.830953);
assert(apply_patch_check("/system/media/theme/default/icons", "17161466f61c07e176e44d68f297ceef1d558b7d", "5e85a84a79cf9b81e9f3e97c974fda7736686438"));
set_progress(0.849333);
assert(apply_patch_check("/system/media/theme/default/lockscreen", "5aa39fff4438fb42291f4ab7daea5af958dd88c6", "7f12ca915109cdc31883a77893402af8483ccdc5"));
set_progress(0.857064);
assert(apply_patch_check("/system/xbin/invoke-as", "39ff8b2825d5eea57c4d0943c002505cd4478fd4", "9ebd3fa6a752c8573557a8578f7474a132de6a63"));
set_progress(0.857130);
assert(apply_patch_check("/system/xbin/su", "762281efc1a61037761a8f9d2d277fb4fb11cead", "3e95065c95835e5e27e038a90f2589b7051f5810"));
set_progress(0.857441);
assert(apply_patch_space(10801114));

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

ui_print("Removing unneeded files...");
delete("/system/recovery.img");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/data/preinstall_apps/MiuiVideo.apk", "-",
            ceb92a3ef6401dd8734b6233b98c57f1cfb86cb6, 1495413,
            27370705a8faa7fb39935f908ccb45644bcd65a6, package_extract_file("patch/data/preinstall_apps/MiuiVideo.apk.p"));
set_progress(0.017117);
apply_patch("/data/preinstall_apps/VoiceAssist.apk", "-",
            c25f3ee47cc7020bc8293531f54a7794ac57df35, 10800386,
            ee985a178a9b7ec61914c040a6a80f2c96716b7a, package_extract_file("patch/data/preinstall_apps/VoiceAssist.apk.p"));
set_progress(0.140743);
apply_patch("/system/app/AirkanPhoneService.apk", "-",
            58bd095a6bd13c5637648a2e06a6874f6952331b, 377237,
            e0d330736335aca66c58d095e0f6604a53991044, package_extract_file("patch/system/app/AirkanPhoneService.apk.p"));
set_progress(0.145061);
apply_patch("/system/app/AntiSpam.apk", "-",
            4e9316e4ebf0be93608e597d560a4b13ac532ed5, 143711,
            b3265bfb499c0f8c6680f76053da0e90fb15e411, package_extract_file("patch/system/app/AntiSpam.apk.p"));
set_progress(0.146706);
apply_patch("/system/app/Backup.apk", "-",
            58831121866aaa559082ebc7320f396adeae7ed2, 431864,
            75aea755648175382e69638de735df21951245b9, package_extract_file("patch/system/app/Backup.apk.p"));
set_progress(0.151649);
apply_patch("/system/app/Browser.apk", "-",
            77fc812611075e06a59c32293225341d007bfad4, 3722495,
            5751eff304ca0cfc6b94de163292c03648ec5c37, package_extract_file("patch/system/app/Browser.apk.p"));
set_progress(0.194258);
apply_patch("/system/app/BugReport.apk", "-",
            5abc5e11fe64a33bb8bef17bf6520b3eeae75066, 160645,
            95eeea8236c35c8ebc9dd502ea3d0e40d261d9eb, package_extract_file("patch/system/app/BugReport.apk.p"));
set_progress(0.196097);
apply_patch("/system/app/Calculator.apk", "-",
            b9501813369144c9190444e57052bb384aa0ef00, 117586,
            95f19e8b6c73a6a6aa212a1a4358bafe7f9d2725, package_extract_file("patch/system/app/Calculator.apk.p"));
set_progress(0.197443);
apply_patch("/system/app/Calendar.apk", "-",
            882f76c99df8459a6da7ebbec22c0e42530f94f0, 657619,
            444ca6c98047ca7c0a85993017b16fc8c49981c2, package_extract_file("patch/system/app/Calendar.apk.p"));
set_progress(0.204970);
apply_patch("/system/app/CalendarProvider.apk", "-",
            212327935e05fa7fab82f9fc70a71e01ad6446d9, 116460,
            7fc8fe0056f9c62878d9703e4028cf9ac27c69c4, package_extract_file("patch/system/app/CalendarProvider.apk.p"));
set_progress(0.206303);
apply_patch("/system/app/CloudService.apk", "-",
            95723b2ba17973895f9a42964f21e41d65d69da1, 189388,
            664fbd32783ce147ceb1d5ad4da5228411f1686b, package_extract_file("patch/system/app/CloudService.apk.p"));
set_progress(0.208471);
apply_patch("/system/app/Contacts.apk", "-",
            e620cc30cd046f7bedb322285154645a1491ce2b, 2816950,
            e601dca2fd058ef7fbdea9b1714fb3285bc4a90c, package_extract_file("patch/system/app/Contacts.apk.p"));
set_progress(0.240715);
apply_patch("/system/app/ContactsProvider.apk", "-",
            247a5be3cda27eb6f6fad46bed875cf97261a2ea, 482991,
            c8a47cb1a61f0161b4f3b011bf72635334282a85, package_extract_file("patch/system/app/ContactsProvider.apk.p"));
set_progress(0.246243);
apply_patch("/system/app/DataHubProvider.apk", "-",
            533a231c82f9aa976dccddc25b7546f2085d0826, 8931,
            2383b8e172dedf0dcfc9a3086ffd6e884dd6cb16, package_extract_file("patch/system/app/DataHubProvider.apk.p"));
set_progress(0.246346);
apply_patch("/system/app/DeskClock.apk", "-",
            02d122b299b989280f9a49365035978483a4ead5, 3298936,
            dacff9259c46c4cbd96b15a08dbb4cecefc66dbc, package_extract_file("patch/system/app/DeskClock.apk.p"));
set_progress(0.284107);
apply_patch("/system/app/DownloadProvider.apk", "-",
            bf5c189679308926ec51f2e6388d9ee526f9d68a, 91258,
            05e30cb5cd6240df8c48c06e8e75ed011aac5875, package_extract_file("patch/system/app/DownloadProvider.apk.p"));
set_progress(0.285151);
apply_patch("/system/app/DownloadProviderUi.apk", "-",
            ebe76c8a3545460d53f2576bb78eb561d5ce06c5, 117293,
            3c7dc44864261b59139025804c3db64177db8ddc, package_extract_file("patch/system/app/DownloadProviderUi.apk.p"));
set_progress(0.286494);
apply_patch("/system/app/Email.apk", "-",
            0ccb7cee95a465a2d72f3fbf4e6271fb6048133c, 1281949,
            d79dc1541b34a0a3b460b66568b75464eafbd476, package_extract_file("patch/system/app/Email.apk.p"));
set_progress(0.301167);
apply_patch("/system/app/FileExplorer.apk", "-",
            a2c29a804a16525d157ce9dd2c8f008ef6e253bc, 1850261,
            1c3cbfce0eeced82c3da2ad1f3c5f1ad3983d1c7, package_extract_file("patch/system/app/FileExplorer.apk.p"));
set_progress(0.322346);
apply_patch("/system/app/LBESEC_MIUI.apk", "-",
            5b9e8b6f122be56bf8ec9f646b47a9a68b84a125, 430756,
            0e693eea4203af60151116b6ff270d41035e15eb, package_extract_file("patch/system/app/LBESEC_MIUI.apk.p"));
set_progress(0.327277);
apply_patch("/system/app/LatinIME.apk", "-",
            fab375264ebb312e3cb128b79eef08f133f3345b, 1325434,
            d7c4fb4c3b7a34f2c6a7821d3f0eeae6126ba8f8, package_extract_file("patch/system/app/LatinIME.apk.p"));
set_progress(0.342448);
apply_patch("/system/app/MiuiCompass.apk", "-",
            0ed870ca9acea34aa04d7adc8f1607becea3756b, 2099017,
            e76505195448288353bfadd653705e6b1f04a947, package_extract_file("patch/system/app/MiuiCompass.apk.p"));
set_progress(0.366475);
apply_patch("/system/app/MiuiGallery.apk", "-",
            ba599dd38bd41a24963a96ae00825e4199bdda22, 3150543,
            9a7591c36193202c6a301b826a7457632b2abb05, package_extract_file("patch/system/app/MiuiGallery.apk.p"));
set_progress(0.402537);
apply_patch("/system/app/MiuiHome.apk", "-",
            3a18c81bf3a2170b76f43ec6f702a86515b05004, 6155387,
            51ae97d5f8ab7605be39c598f31e4bb3a239addc, package_extract_file("patch/system/app/MiuiHome.apk.p"));
set_progress(0.472994);
apply_patch("/system/app/MiuiSystemUI.apk", "-",
            2193cec2ba5ac3f5a8ce36a0efd1ccd60b2e543c, 2203438,
            a5d10929d6b69de1dd984e2dedd6a4a723e46d80, package_extract_file("patch/system/app/MiuiSystemUI.apk.p"));
set_progress(0.498215);
apply_patch("/system/app/MiuiVideoPlayer.apk", "-",
            f995505db3310b8fdb5470306230e37452521945, 706256,
            22ed8d2a5c7f6f66921c957d3a4d4da0e6753a68, package_extract_file("patch/system/app/MiuiVideoPlayer.apk.p"));
set_progress(0.506299);
apply_patch("/system/app/Mms.apk", "-",
            131cb1b146bbd91048fff64e5e13a08bf81a6b28, 5768559,
            460fee8fbecf15f86b7abcfc059d38341097f6bf, package_extract_file("patch/system/app/Mms.apk.p"));
set_progress(0.572329);
apply_patch("/system/app/Music.apk", "-",
            7478df15ea76079c305880508d9fd66bef08bedf, 3775275,
            d7e8e3464e69092ecb7bf38707d8884d5d990545, package_extract_file("patch/system/app/Music.apk.p"));
set_progress(0.615542);
apply_patch("/system/app/NetworkAssistant.apk", "-",
            8a06b304608ae818fe414cffc5acfa4beff87409, 283354,
            6aa503c87cf6bb92335739755d9dcd00a51ae753, package_extract_file("patch/system/app/NetworkAssistant.apk.p"));
set_progress(0.618785);
apply_patch("/system/app/Notes.apk", "-",
            cf0f02593945519010c42f0f64a79e55fe1a7456, 3041812,
            494f232c63cb5a2ed8f4f2ffa55cf80d5f06ae50, package_extract_file("patch/system/app/Notes.apk.p"));
set_progress(0.653603);
apply_patch("/system/app/PackageInstaller.apk", "-",
            2b733b5c11f2d1a6eae8b264aa9e0d335cb5b004, 50205,
            faf5cc43b520728e6b139ca9526b39f620135143, package_extract_file("patch/system/app/PackageInstaller.apk.p"));
set_progress(0.654178);
apply_patch("/system/app/Phone.apk", "-",
            688c6e3909924a9a3db9e0e69d32194b580e37ad, 2333777,
            c9d4afb9009e813f2db481b4112b46d38b4b0eec, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.680891);
apply_patch("/system/app/Provision.apk", "-",
            69745186bf27a06e5536af0ba710cde3012898b2, 3596,
            025cd229d093f5b157d340eab59ef2e7e333e9fc, package_extract_file("patch/system/app/Provision.apk.p"));
set_progress(0.680932);
apply_patch("/system/app/QuickSearchBox.apk", "-",
            59202cdcd8c123c326a44a630ab76559420e6f87, 355039,
            7a3ba4c1f12cb3532f76780be9e85c518f56450c, package_extract_file("patch/system/app/QuickSearchBox.apk.p"));
set_progress(0.684996);
apply_patch("/system/app/Settings.apk", "-",
            ed678525c1343833312407f49f660d5ba19e2886, 3515720,
            4817ff038074e24bda8b6a863259a4e4055298ad, package_extract_file("patch/system/app/Settings.apk.p"));
set_progress(0.725239);
apply_patch("/system/app/SoundRecorder.apk", "-",
            fadd2f17ad5a9ec49eec72ba4a93c0f7c160190b, 1104925,
            804d3dcc893b6964a36b92dc7465601154205fdd, package_extract_file("patch/system/app/SoundRecorder.apk.p"));
set_progress(0.737886);
apply_patch("/system/app/Stk.apk", "-",
            02d9707c2a0360bf5ca11b86a766b06ea07b2117, 53528,
            93641ceb10ab22bc1c5be5bbdb008af8cf55ead7, package_extract_file("patch/system/app/Stk.apk.p"));
set_progress(0.738499);
apply_patch("/system/app/SuperMarket.apk", "-",
            a3fd652b4a07c213908ea464806628d6fbbd83bd, 966130,
            04ea17c6f684b1c774d7ddb3ddd8a94a8c858036, package_extract_file("patch/system/app/SuperMarket.apk.p"));
set_progress(0.749557);
apply_patch("/system/app/TelephonyProvider.apk", "-",
            38a221ccceaf667bf7ae52ab49225563d181efee, 75176,
            575c48f264d8cb4c895a73ebce9e13be170ee845, package_extract_file("patch/system/app/TelephonyProvider.apk.p"));
set_progress(0.750418);
apply_patch("/system/app/TelocationProvider.apk", "-",
            a22b57e1fbac573f95f20eb110642a5a47136ddd, 14162,
            ab9732454d04f079044c33d2420adedb04b7722a, package_extract_file("patch/system/app/TelocationProvider.apk.p"));
set_progress(0.750580);
apply_patch("/system/app/ThemeManager.apk", "-",
            db0b629ddb3cf937899c9ba44eefb69f1147efd0, 590388,
            21f18e6c8032e664d661ca5907e9e6c31ab8622c, package_extract_file("patch/system/app/ThemeManager.apk.p"));
set_progress(0.757338);
apply_patch("/system/app/Updater.apk", "-",
            e92badd11ad20cacfc888f399863167b98102880, 1182501,
            d50c5da0bb5acdd5a15b2595ac1217183b4dd88d, package_extract_file("patch/system/app/Updater.apk.p"));
set_progress(0.770873);
apply_patch("/system/app/VpnDialogs.apk", "-",
            efe3af9f1e9342505b5552ea733a4f993c507b7e, 12534,
            7d1d3448776a6d4f2675ed65db45d819c662fe36, package_extract_file("patch/system/app/VpnDialogs.apk.p"));
set_progress(0.771017);
apply_patch("/system/app/WeatherProvider.apk", "-",
            a1624ae356ad5c68cb1d256342655da93975468c, 9371,
            fbdb93638ccd919e2fb2b5a94645c2d38f96e9c8, package_extract_file("patch/system/app/WeatherProvider.apk.p"));
set_progress(0.771124);
apply_patch("/system/app/XiaomiServiceFramework.apk", "-",
            b232438a202117c3472fc835a28580e8feffd1fc, 835563,
            4bc4b7b0fdbaf7e8b508279155f7c2ded7f1f938, package_extract_file("patch/system/app/XiaomiServiceFramework.apk.p"));
set_progress(0.780688);
apply_patch("/system/bin/installd", "-",
            82c2ab9a69d9d2d4723f42de7be1a24ddc323fdf, 26832,
            e7fe1df265330b9db45e94d83f51c347dbb0e8b6, package_extract_file("patch/system/bin/installd.p"));
set_progress(0.780995);
apply_patch("/system/etc/telocation.td", "-",
            978ece1b9c4a8db77c9096a4ef984587100aabb2, 1200056,
            37cc2eb182e92c2f68f1a74047babd0b5a3a3d50, package_extract_file("patch/system/etc/telocation.td.p"));
set_progress(0.794732);
apply_patch("/system/etc/unicode_py_index.td", "-",
            06033859846df779a28d46cacd867dc7c2ef3b5d, 60056,
            e6013f3555284d9307607923d3e97eec557dc838, package_extract_file("patch/system/etc/unicode_py_index.td.p"));
set_progress(0.795419);
apply_patch("/system/framework/HTCExtension.jar", "-",
            8bc680c107017e697756820c4d7d0bf44c0050ac, 3406306,
            a536c7c94af315ed3a657456a8b40a0d90a57308, package_extract_file("patch/system/framework/HTCExtension.jar.p"));
set_progress(0.834409);
apply_patch("/system/framework/android.policy.jar", "-",
            ac519f6d821320585e3b3c8d36a5a4ba353aa4f2, 342198,
            bb249486dbec89f90bdae911fbac11390db22a32, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.838326);
apply_patch("/system/framework/framework-miui-res.apk", "-",
            d45e6b1ec29151a0b80a653151713ba721f65807, 2832471,
            d730c7b5c78044d0a268f3853d654b997893d45b, package_extract_file("patch/system/framework/framework-miui-res.apk.p"));
set_progress(0.870747);
apply_patch("/system/framework/framework.jar", "-",
            63bdfc58f48b701b4d685de7f3436027db3a6307, 3980387,
            5250c196a604f2beaf1efb2e3b1c5abd9beaca06, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.916309);
apply_patch("/system/framework/framework2.jar", "-",
            5ecaf1bd301c40dd4896b9bdb30b67531bd70663, 2186143,
            1f0d29f5ff6ff85e9f8df6ca1b34764c48848b13, package_extract_file("patch/system/framework/framework2.jar.p"));
set_progress(0.941332);
apply_patch("/system/framework/miui-framework.jar", "-",
            a0fc05e0ca030e4078ce99588fdbff46a7f8aafe, 402033,
            bc2f726339075d60ac054bc320cacb9156391d56, package_extract_file("patch/system/framework/miui-framework.jar.p"));
set_progress(0.945934);
apply_patch("/system/framework/services.jar", "-",
            66839bce16267f9f62da1e81956ea3474b1d898d, 1298206,
            2be4f246525e437dcea0409562309e5d3bcbef6e, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.960794);
apply_patch("/system/lib/libshellservice.so", "-",
            576393432e11b34d3448da733a7e109a419b5100, 24196,
            84c195504a66433f5473ed914024db1ff1fd5008, package_extract_file("patch/system/lib/libshellservice.so.p"));
set_progress(0.961071);
apply_patch("/system/media/bootanimation.zip", "-",
            43b7712d5d5a6d1db0ef606a6f3518e244103846, 1129978,
            04806010b5d6d3245aca4f539d46e138e49d9b3d, package_extract_file("patch/system/media/bootanimation.zip.p"));
set_progress(0.974005);
apply_patch("/system/media/theme/default/icons", "-",
            17161466f61c07e176e44d68f297ceef1d558b7d, 1569814,
            5e85a84a79cf9b81e9f3e97c974fda7736686438, package_extract_file("patch/system/media/theme/default/icons.p"));
set_progress(0.991973);
apply_patch("/system/media/theme/default/lockscreen", "-",
            5aa39fff4438fb42291f4ab7daea5af958dd88c6, 660248,
            7f12ca915109cdc31883a77893402af8483ccdc5, package_extract_file("patch/system/media/theme/default/lockscreen.p"));
set_progress(0.999531);
apply_patch("/system/xbin/invoke-as", "-",
            39ff8b2825d5eea57c4d0943c002505cd4478fd4, 5640,
            9ebd3fa6a752c8573557a8578f7474a132de6a63, package_extract_file("patch/system/xbin/invoke-as.p"));
set_progress(0.999595);
apply_patch("/system/xbin/su", "-",
            762281efc1a61037761a8f9d2d277fb4fb11cead, 26588,
            3e95065c95835e5e27e038a90f2589b7051f5810, package_extract_file("patch/system/xbin/su.p"));
set_progress(0.999900);
show_progress(0.100000, 10);
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, 2000, 0755, 0755, "/system/bin");
set_perm(0, 1000, 0750, "/system/bin/iptables");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06755, "/system/bin/reboot");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm(0, 1000, 0750, "/system/bin/tc");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.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(1000, 1000, 0550, "/system/etc/init.qcom.sdio.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-r0-ri30.4a/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rn30-ri30.5/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rp30-ri30.5/full_model.bin");
set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/recognition/face.face.y0-y0-22-b-N/full_model.bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/busybox");
set_perm(0, 0, 06755, "/system/xbin/invoke-as");
set_perm(0, 0, 06755, "/system/xbin/su");
ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            94dd3a3740bc8ed6476b3a2f955b22939b0a98de, 8751,
            389eba12a75188abdb093a6217c5f1cdae7cacaf, package_extract_file("patch/system/build.prop.p"));
set_perm_recursive(0, 2000, 06755, 06755, "/system/xbin");
set_perm(0, 0, 0644, "/system/build.prop");
unmount("/data");
unmount("/system");
