mount("ext4", "EMMC", "/dev/block/bootdevice/by-name/system", "/system", "max_batch_time=0,commit=1,data=ordered,barrier=1,errors=panic,nodelalloc");
getprop("ro.build.fingerprint") == "Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui01130714:user/release-keys" ||
    getprop("ro.build.fingerprint") == "Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui02221130:user/release-keys" ||
    abort("E3001: Package expects build fingerprint of Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui01130714:user/release-keys or Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui02221130:user/release-keys; this device has " + getprop("ro.build.fingerprint") + ".");
getprop("ro.product.device") == "msm8916_64" || abort("E3004: This package is for \"msm8916_64\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui01130714:user/release-keys");
ui_print("Target: Android/msm8916_64/msm8916_64:7.1.2/N2G47H/posbui02221130:user/release-keys");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
apply_patch_check("/system/bin/appclientbc", "2d2421003796283c4367485c5150133ce88696ce", "fd309b9c2e329d2bfa0059e8ccf7d32d057ce78a") || abort("E3005: \"/system/bin/appclientbc\" has unexpected contents.");
apply_patch_check("/system/bin/hal_proxy_daemon", "fd95104c26818d4c01ab9f386997eac37ba86681", "ccb263d2ac7b416125a8ef20c91a17e1ba2e9299") || abort("E3005: \"/system/bin/hal_proxy_daemon\" has unexpected contents.");
apply_patch_check("/system/bin/install-recovery.sh", "ad3e588661f6c15b0a9af127c468d7dc4974fa90", "b2e123b892e6c620bf43aaf59e2143a41e70668c") || abort("E3005: \"/system/bin/install-recovery.sh\" has unexpected contents.");
apply_patch_check("/system/bin/manBC", "58d56a69b685b3ed1ac1b9b562c3b94c674e2dbe", "b0593194f6378dfbf6e472efac0bd0fde28e25b4") || abort("E3005: \"/system/bin/manBC\" has unexpected contents.");
apply_patch_check("/system/bin/manPowerMngt", "e54a94acce65058d0ad05c9c19a9b7bf9e928262", "30874ce8affea9e20d4874cfb573c2c8c85e98d1") || abort("E3005: \"/system/bin/manPowerMngt\" has unexpected contents.");
apply_patch_check("/system/bin/toybox", "626ecda69b1eb7e3b7cbc0bf6008c319a2006f06", "f930e0eadc8a82a447ab12204661bec8070e4d40") || abort("E3005: \"/system/bin/toybox\" has unexpected contents.");
apply_patch_check("/system/build.prop", "b0e7006ef3ed7b5c78c3db54f76c48c050183cac", "2b3f9680d8c2c2bf1c77aca3da5ee6bcfa52acd7") || abort("E3005: \"/system/build.prop\" has unexpected contents.");
apply_patch_check("/system/build.prop.bakforspec", "aeceac15a5a03c2c08481738316dbef7e24d0518", "0d047dbfcb299b408e778555b0b3fbcfedc3ad6c") || abort("E3005: \"/system/build.prop.bakforspec\" has unexpected contents.");
apply_patch_check("/system/etc/NOTICE.html.gz", "f3928bd335d092d8f55b68a8c05ac6d85e9bf05c", "b838bb4a19bf066f568362f60f41cbb7111b9496") || abort("E3005: \"/system/etc/NOTICE.html.gz\" has unexpected contents.");
apply_patch_check("/system/etc/cdrom_install.iso", "97ff7322d61ba3eef4499136689bf03b3d827ef7", "4a630357aa8803e048b3e4a411c275bda6404f92") || abort("E3005: \"/system/etc/cdrom_install.iso\" has unexpected contents.");
apply_patch_check("/system/framework/framework-res.apk", "d718c9af1cfe85bd7675b94c1a8ac5ee22f5ba7b", "11b0fd44e838fd15b1d018d38a582cad9053ce2a") || abort("E3005: \"/system/framework/framework-res.apk\" has unexpected contents.");
apply_patch_check("/system/framework/framework.jar", "07b346bebae69d141697c745cc523a7227e25f89", "6aa92fff19998aade623ed27b3f4a692e5496e3d") || abort("E3005: \"/system/framework/framework.jar\" has unexpected contents.");
apply_patch_check("/system/lib/libclientbc.so", "2503dcd25c30ffc96619a5b3355c08d46c19ce2b", "b40ef60614c398ca7ca3fdffeb72b4131d2f5115") || abort("E3005: \"/system/lib/libclientbc.so\" has unexpected contents.");
apply_patch_check("/system/lib/libmanBC.so", "d9686968cb5e0e69e45b731fb8bc55b8c4882274", "1d1bd60e1def759be74489ec8c90ffe80ea2b265") || abort("E3005: \"/system/lib/libmanBC.so\" has unexpected contents.");
apply_patch_check("/system/lib/libpertoSDK.so", "6741fae20506cf3801a20f967430c7e508db2daf", "ebf8470ef75650d22db03138f93312e1412f43e3") || abort("E3005: \"/system/lib/libpertoSDK.so\" has unexpected contents.");
apply_patch_check("/system/lib/libsierrahl-ril.so", "29ac1e30182b8df64ae86a226b7fd3f9ac069320", "ceec73da589d5d064c9f2212fe283f28941f1db1") || abort("E3005: \"/system/lib/libsierrahl-ril.so\" has unexpected contents.");
apply_patch_check("/system/lib/modules/ansi_cprng.ko", "65bb1642dfa15b379ead32f2abf603febd39b2b2", "9541f0ea555246c5e4347a339afc2caa1c140677") || abort("E3005: \"/system/lib/modules/ansi_cprng.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/core_ctl.ko", "64f7491f0b43a6dbb0682df82f8de17647b2a7bf", "27639b10cdefbc24b2a0ea0a430539387ed667ff") || abort("E3005: \"/system/lib/modules/core_ctl.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/evbug.ko", "b7e1a1c6db8ab394244311484ab54432d01fba90", "4f8fc389a09e230640bdd371190e1182b056e2d5") || abort("E3005: \"/system/lib/modules/evbug.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gpio_axis.ko", "2342824a542842c47d309fd838c6dc4d5da875f9", "9054d8276c68d4b6f6bbd668f9ec8c026f5e6c26") || abort("E3005: \"/system/lib/modules/gpio_axis.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gpio_event.ko", "7cbc9bd9db04677b1e2e0985e368282dab6f202f", "aff7afd4e57392892d1aac17bf5738a3f24fa805") || abort("E3005: \"/system/lib/modules/gpio_event.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gpio_input.ko", "e79112a4783e0d0eea184e9b42973d8ac4547434", "0ccc5145cfc4064ee513dc27825d532a026f2bff") || abort("E3005: \"/system/lib/modules/gpio_input.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gpio_matrix.ko", "c67b9caa31375649796e079a70b645592fdbaed0", "b7801d709b9d7081b39c84959878bf81b6331a03") || abort("E3005: \"/system/lib/modules/gpio_matrix.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gpio_output.ko", "8b72ccd61f17a7f9f761f6849e1e5ac639edab8e", "0df2b38a80a3911d619a6842d479f333f2cefa80") || abort("E3005: \"/system/lib/modules/gpio_output.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/gspca_main.ko", "11539d0a6eddcd6acfc8c96e9170bd9ff520abed", "dc731085dbcb3154acbbeae3d1db5762a130ccb2") || abort("E3005: \"/system/lib/modules/gspca_main.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/max3421-hcd.ko", "e78b536cb834f3b0e8a6247eb552c0095cda63c8", "d08fcf4dc0c30b5b5fa216fc1140f56dd3356963") || abort("E3005: \"/system/lib/modules/max3421-hcd.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/mcDrvModule.ko", "218ab3ee4bd7bce169314bec5cd55235b17916df", "c45b651b7382ce5531440ae767de2ee12491570b") || abort("E3005: \"/system/lib/modules/mcDrvModule.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/mcKernelApi.ko", "a2c7408b7d4f006e446243f5c370b1386e001730", "7e483c4c28f76f0153c706f6c4a431ac5a6920c7") || abort("E3005: \"/system/lib/modules/mcKernelApi.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/mmc_block_test.ko", "bd736f30ace28155c2a5b073c43ce3cf4de27fd2", "ee5e34b972695c3ad090a8f9c5c5bf3e49689d20") || abort("E3005: \"/system/lib/modules/mmc_block_test.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/mmc_test.ko", "06ecf7e1dbb08e82063cd7d80e0025d4d3286955", "4e84d414d729cd797a2f3a57639cc979e49ebfec") || abort("E3005: \"/system/lib/modules/mmc_test.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/pronto/pronto_wlan.ko", "25b19f642c72f7150b70fefe6b7e91ecbb783cff", "0f038bf0c05cda7e18b89f6ffb10244c3089455d") || abort("E3005: \"/system/lib/modules/pronto/pronto_wlan.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/pwm-gpio.ko", "29f3016c04b73b5511b554586aa2ebd38315d505", "5e4f87b06e62f76337083e2a133e8896350b2519") || abort("E3005: \"/system/lib/modules/pwm-gpio.ko\" has unexpected contents.");
apply_patch_check("/system/lib/modules/test-iosched.ko", "6a288db1d5dc77a818c16e3fbdc3186797663444", "0b6a5d32e2f097c3464e2a728c1e83dd1613086a") || abort("E3005: \"/system/lib/modules/test-iosched.ko\" has unexpected contents.");
apply_patch_check("/system/lib64/libclientbc.so", "e19ea98ce24c5f4e27bca11de2a52b5cef6a1411", "82672917127ba594ec6261ed394138e9dbebb098") || abort("E3005: \"/system/lib64/libclientbc.so\" has unexpected contents.");
apply_patch_check("/system/lib64/libmanBC.so", "34efec43d786dfc2df0735344c590a3374cda8cc", "f605d0274772d4c9a15d8d8d4a8ecfdd049fc4f7") || abort("E3005: \"/system/lib64/libmanBC.so\" has unexpected contents.");
apply_patch_check("/system/lib64/libpertoSDK.so", "e616ba3920aaffd36260f2f177d85d22221fa76d", "9e6b3d0d8a67632effc3a0a66fdca6e409d8981b") || abort("E3005: \"/system/lib64/libpertoSDK.so\" has unexpected contents.");
apply_patch_check("/system/lib64/libsierrahl-ril.so", "5ebdbafd01387903e16163a618062b273990eb3c", "8f0e6340820e250c26f8791874c1762eb599522e") || abort("E3005: \"/system/lib64/libsierrahl-ril.so\" has unexpected contents.");
apply_patch_check("/system/priv-app/Settings/Settings.apk", "4d3fccb9e8942865c452e1bdb783005ca3b42325", "cd0daf0cb4ad8e274020e4da50a5c30c7100502d") || abort("E3005: \"/system/priv-app/Settings/Settings.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/SystemUI/SystemUI.apk", "e3f566918e54ddd43dcfd333ae943f7ecb314be7", "3ca5fb3072aa00b29444733800fb1330793cd5d1") || abort("E3005: \"/system/priv-app/SystemUI/SystemUI.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/TimerSwitch/TimerSwitch.apk", "d4706bbc96db6e979bfaa4be7400f8d0cb267622", "1520c72b9f1df97b490d3ecb8d70db75930b7e0f") || abort("E3005: \"/system/priv-app/TimerSwitch/TimerSwitch.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/TrilegalUpdater/TrilegalUpdater.apk", "c4a7f8cf646506d68dbc297cb7ba5bf748f3b30b", "c003354d5c3acef8dbee907107320300c2e6fe0c") || abort("E3005: \"/system/priv-app/TrilegalUpdater/TrilegalUpdater.apk\" has unexpected contents.");
apply_patch_check("/system/priv-app/launcherApp/launcherApp.apk", "5ae7f9394fe81f8e530e09a6254716687757527b", "62812b3fb12f5762bf09a24e534838eff69bb757") || abort("E3005: \"/system/priv-app/launcherApp/launcherApp.apk\" has unexpected contents.");
apply_patch_check("/system/recovery-from-boot.p", "e45ce8732deec8462f3ad2ac990c54219558463f", "75401568288d45e36cce3d8bfea7926d2d063888") || abort("E3005: \"/system/recovery-from-boot.p\" has unexpected contents.");
apply_patch_check("/system/vendor/bin/perto_bc_test", "47a64d3bc50ac21567062f007a66d38943824162", "168fc176a9b76ddf432377974a5809f8c7f0a25e") || abort("E3005: \"/system/vendor/bin/perto_bc_test\" has unexpected contents.");
apply_patch_check("/system/vendor/bin/perto_power_on_off.sh", "a39074195f0946c7065a93c51ce697d741e88d3b", "42c2acbe2d8e68c9312225b385bb2fde12d1b1d2") || abort("E3005: \"/system/vendor/bin/perto_power_on_off.sh\" has unexpected contents.");
apply_patch_check("/system/vendor/bin/perto_print_test", "416f04640db61269b69019bf54d1812e0ad54233", "c5f9bf62fc61b6d593985a038b76965df2c6d3e1") || abort("E3005: \"/system/vendor/bin/perto_print_test\" has unexpected contents.");
apply_patch_check("/system/vendor/etc/init/init.smart.posboot.sh", "e14257728fb05fc796d38b0fd1e9a217e360b5ae", "97e4a57c12f840a1c0c357ce094774f9b1a8ff63") || abort("E3005: \"/system/vendor/etc/init/init.smart.posboot.sh\" has unexpected contents.");
apply_patch_check("/system/vendor/etc/init/init.smart.preboot.sh", "f3726601be3f9901b251863c6ed8d43ffd896e3f", "1316e26daf39df88048fe0d385d3980a7ddb59c9") || abort("E3005: \"/system/vendor/etc/init/init.smart.preboot.sh\" has unexpected contents.");
apply_patch_check("/system/vendor/etc/init/init.smart.rc", "58157a86670c540f132baf996645f034b09e73c8", "4dc7eda1e07b1ef6bc80031fa764cd0e963ec494") || abort("E3005: \"/system/vendor/etc/init/init.smart.rc\" has unexpected contents.");
apply_patch_check("/system/vendor/etc/init/init.smart.terminalID.sh", "d4957bc87441abab5227c0bdabcb7f1ddccff9fe", "419ffc0e0fb43577489bdcf6fefe8a0643d88688") || abort("E3005: \"/system/vendor/etc/init/init.smart.terminalID.sh\" has unexpected contents.");
apply_patch_check("/system/vendor/pos/preinstalled-files/TF.apk", "0c3bf5a91d4e3556887986dbfb34e4f8b8456519", "a2ac45d8be5dcdcb223ee8ba5d86154d25403a14") || abort("E3005: \"/system/vendor/pos/preinstalled-files/TF.apk\" has unexpected contents.");
apply_patch_check("/system/vendor/pos/versions", "db3c41516df39730f98cf4b905ec306a0384bca6", "6d0c2f0da5c53c98b34365e4b355138624d5600a") || abort("E3005: \"/system/vendor/pos/versions\" has unexpected contents.");
apply_patch_check("/system/vendor/vendor.prop", "caf51299dce7a992e90f055cac3eb900b3038400", "a10422b196df85eb8ba03dff80ac728b364ffd25") || abort("E3005: \"/system/vendor/vendor.prop\" has unexpected contents.");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:17737000:ee76ad15539a041ed4c90d5d4dad8ae46e9c5873:17737000:a8cf3a186660a590479414f86fac3ae438024ac2") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:17737000:ee76ad15539a041ed4c90d5d4dad8ae46e9c5873:17737000:a8cf3a186660a590479414f86fac3ae438024ac2\" has unexpected contents.");
apply_patch_space(24402949) || abort("E3006: Not enough free space on /cache to apply patches.");

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

ui_print("Removing unneeded files...");
delete("/system/recovery.img", "/system/lib64/libttspico.so",
       "/system/lib64/libttscompat.so", "/system/lib/modules/gt9xx.ko",
       "/system/lib/modules/gt911.ko", "/system/framework/services.jar",
       "/system/app/PicoTts/lib/arm64/", "/system/app/PicoTts/lib/",
       "/system/app/PicoTts/PicoTts.apk",
       "/system/app/PicoTts/");
show_progress(0.800000, 0);
ui_print("Patching system files...");
apply_patch("/system/bin/appclientbc", "-",
            2d2421003796283c4367485c5150133ce88696ce, 70104,
            fd309b9c2e329d2bfa0059e8ccf7d32d057ce78a,
            package_extract_file("patch/system/bin/appclientbc.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/appclientbc");
set_progress(0.000554);
apply_patch("/system/bin/hal_proxy_daemon", "-",
            fd95104c26818d4c01ab9f386997eac37ba86681, 171072,
            ccb263d2ac7b416125a8ef20c91a17e1ba2e9299,
            package_extract_file("patch/system/bin/hal_proxy_daemon.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/hal_proxy_daemon");
set_progress(0.001905);
apply_patch("/system/bin/install-recovery.sh", "-",
            ad3e588661f6c15b0a9af127c468d7dc4974fa90, 622,
            b2e123b892e6c620bf43aaf59e2143a41e70668c,
            package_extract_file("patch/system/bin/install-recovery.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/install-recovery.sh");
set_progress(0.001910);
apply_patch("/system/bin/manBC", "-",
            58d56a69b685b3ed1ac1b9b562c3b94c674e2dbe, 117264,
            b0593194f6378dfbf6e472efac0bd0fde28e25b4,
            package_extract_file("patch/system/bin/manBC.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/manBC");
set_progress(0.002837);
apply_patch("/system/bin/manPowerMngt", "-",
            e54a94acce65058d0ad05c9c19a9b7bf9e928262, 55480,
            30874ce8affea9e20d4874cfb573c2c8c85e98d1,
            package_extract_file("patch/system/bin/manPowerMngt.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/manPowerMngt");
set_progress(0.003275);
apply_patch("/system/bin/toybox", "-",
            626ecda69b1eb7e3b7cbc0bf6008c319a2006f06, 356104,
            f930e0eadc8a82a447ab12204661bec8070e4d40,
            package_extract_file("patch/system/bin/toybox.p")) ||
    abort("E3008: Failed to apply patch to /system/bin/toybox");
set_progress(0.006089);
apply_patch("/system/build.prop.bakforspec", "-",
            aeceac15a5a03c2c08481738316dbef7e24d0518, 2679,
            0d047dbfcb299b408e778555b0b3fbcfedc3ad6c,
            package_extract_file("patch/system/build.prop.bakforspec.p")) ||
    abort("E3008: Failed to apply patch to /system/build.prop.bakforspec");
set_progress(0.006110);
apply_patch("/system/etc/NOTICE.html.gz", "-",
            f3928bd335d092d8f55b68a8c05ac6d85e9bf05c, 229027,
            b838bb4a19bf066f568362f60f41cbb7111b9496,
            package_extract_file("patch/system/etc/NOTICE.html.gz.p")) ||
    abort("E3008: Failed to apply patch to /system/etc/NOTICE.html.gz");
set_progress(0.007919);
apply_patch("/system/etc/cdrom_install.iso", "-",
            97ff7322d61ba3eef4499136689bf03b3d827ef7, 989184,
            4a630357aa8803e048b3e4a411c275bda6404f92,
            package_extract_file("patch/system/etc/cdrom_install.iso.p")) ||
    abort("E3008: Failed to apply patch to /system/etc/cdrom_install.iso");
set_progress(0.015735);
apply_patch("/system/framework/framework-res.apk", "-",
            d718c9af1cfe85bd7675b94c1a8ac5ee22f5ba7b, 24402950,
            11b0fd44e838fd15b1d018d38a582cad9053ce2a,
            package_extract_file("patch/system/framework/framework-res.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/framework-res.apk");
set_progress(0.208535);
apply_patch("/system/framework/framework.jar", "-",
            07b346bebae69d141697c745cc523a7227e25f89, 6556626,
            6aa92fff19998aade623ed27b3f4a692e5496e3d,
            package_extract_file("patch/system/framework/framework.jar.p")) ||
    abort("E3008: Failed to apply patch to /system/framework/framework.jar");
set_progress(0.260337);
apply_patch("/system/lib/libclientbc.so", "-",
            2503dcd25c30ffc96619a5b3355c08d46c19ce2b, 95668,
            b40ef60614c398ca7ca3fdffeb72b4131d2f5115,
            package_extract_file("patch/system/lib/libclientbc.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libclientbc.so");
set_progress(0.261093);
apply_patch("/system/lib/libmanBC.so", "-",
            d9686968cb5e0e69e45b731fb8bc55b8c4882274, 79432,
            1d1bd60e1def759be74489ec8c90ffe80ea2b265,
            package_extract_file("patch/system/lib/libmanBC.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libmanBC.so");
set_progress(0.261720);
apply_patch("/system/lib/libpertoSDK.so", "-",
            6741fae20506cf3801a20f967430c7e508db2daf, 34324,
            ebf8470ef75650d22db03138f93312e1412f43e3,
            package_extract_file("patch/system/lib/libpertoSDK.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libpertoSDK.so");
set_progress(0.261991);
apply_patch("/system/lib/libsierrahl-ril.so", "-",
            29ac1e30182b8df64ae86a226b7fd3f9ac069320, 133192,
            ceec73da589d5d064c9f2212fe283f28941f1db1,
            package_extract_file("patch/system/lib/libsierrahl-ril.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/libsierrahl-ril.so");
set_progress(0.263044);
apply_patch("/system/lib/modules/ansi_cprng.ko", "-",
            65bb1642dfa15b379ead32f2abf603febd39b2b2, 11500,
            9541f0ea555246c5e4347a339afc2caa1c140677,
            package_extract_file("patch/system/lib/modules/ansi_cprng.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/ansi_cprng.ko");
set_progress(0.263134);
apply_patch("/system/lib/modules/core_ctl.ko", "-",
            64f7491f0b43a6dbb0682df82f8de17647b2a7bf, 265692,
            27639b10cdefbc24b2a0ea0a430539387ed667ff,
            package_extract_file("patch/system/lib/modules/core_ctl.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/core_ctl.ko");
set_progress(0.265234);
apply_patch("/system/lib/modules/evbug.ko", "-",
            b7e1a1c6db8ab394244311484ab54432d01fba90, 7564,
            4f8fc389a09e230640bdd371190e1182b056e2d5,
            package_extract_file("patch/system/lib/modules/evbug.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/evbug.ko");
set_progress(0.265293);
apply_patch("/system/lib/modules/gpio_axis.ko", "-",
            2342824a542842c47d309fd838c6dc4d5da875f9, 7604,
            9054d8276c68d4b6f6bbd668f9ec8c026f5e6c26,
            package_extract_file("patch/system/lib/modules/gpio_axis.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gpio_axis.ko");
set_progress(0.265353);
apply_patch("/system/lib/modules/gpio_event.ko", "-",
            7cbc9bd9db04677b1e2e0985e368282dab6f202f, 8404,
            aff7afd4e57392892d1aac17bf5738a3f24fa805,
            package_extract_file("patch/system/lib/modules/gpio_event.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gpio_event.ko");
set_progress(0.265420);
apply_patch("/system/lib/modules/gpio_input.ko", "-",
            e79112a4783e0d0eea184e9b42973d8ac4547434, 12652,
            0ccc5145cfc4064ee513dc27825d532a026f2bff,
            package_extract_file("patch/system/lib/modules/gpio_input.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gpio_input.ko");
set_progress(0.265520);
apply_patch("/system/lib/modules/gpio_matrix.ko", "-",
            c67b9caa31375649796e079a70b645592fdbaed0, 13220,
            b7801d709b9d7081b39c84959878bf81b6331a03,
            package_extract_file("patch/system/lib/modules/gpio_matrix.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gpio_matrix.ko");
set_progress(0.265624);
apply_patch("/system/lib/modules/gpio_output.ko", "-",
            8b72ccd61f17a7f9f761f6849e1e5ac639edab8e, 5012,
            0df2b38a80a3911d619a6842d479f333f2cefa80,
            package_extract_file("patch/system/lib/modules/gpio_output.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gpio_output.ko");
set_progress(0.265664);
apply_patch("/system/lib/modules/gspca_main.ko", "-",
            11539d0a6eddcd6acfc8c96e9170bd9ff520abed, 48652,
            dc731085dbcb3154acbbeae3d1db5762a130ccb2,
            package_extract_file("patch/system/lib/modules/gspca_main.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/gspca_main.ko");
set_progress(0.266048);
apply_patch("/system/lib/modules/max3421-hcd.ko", "-",
            e78b536cb834f3b0e8a6247eb552c0095cda63c8, 30500,
            d08fcf4dc0c30b5b5fa216fc1140f56dd3356963,
            package_extract_file("patch/system/lib/modules/max3421-hcd.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/max3421-hcd.ko");
set_progress(0.266289);
apply_patch("/system/lib/modules/mcDrvModule.ko", "-",
            218ab3ee4bd7bce169314bec5cd55235b17916df, 65260,
            c45b651b7382ce5531440ae767de2ee12491570b,
            package_extract_file("patch/system/lib/modules/mcDrvModule.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/mcDrvModule.ko");
set_progress(0.266805);
apply_patch("/system/lib/modules/mcKernelApi.ko", "-",
            a2c7408b7d4f006e446243f5c370b1386e001730, 26292,
            7e483c4c28f76f0153c706f6c4a431ac5a6920c7,
            package_extract_file("patch/system/lib/modules/mcKernelApi.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/mcKernelApi.ko");
set_progress(0.267013);
apply_patch("/system/lib/modules/mmc_block_test.ko", "-",
            bd736f30ace28155c2a5b073c43ce3cf4de27fd2, 72516,
            ee5e34b972695c3ad090a8f9c5c5bf3e49689d20,
            package_extract_file("patch/system/lib/modules/mmc_block_test.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/mmc_block_test.ko");
set_progress(0.267585);
apply_patch("/system/lib/modules/mmc_test.ko", "-",
            06ecf7e1dbb08e82063cd7d80e0025d4d3286955, 45844,
            4e84d414d729cd797a2f3a57639cc979e49ebfec,
            package_extract_file("patch/system/lib/modules/mmc_test.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/mmc_test.ko");
set_progress(0.267948);
apply_patch("/system/lib/modules/pronto/pronto_wlan.ko", "-",
            25b19f642c72f7150b70fefe6b7e91ecbb783cff, 6252644,
            0f038bf0c05cda7e18b89f6ffb10244c3089455d,
            package_extract_file("patch/system/lib/modules/pronto/pronto_wlan.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/pronto/pronto_wlan.ko");
set_progress(0.317348);
apply_patch("/system/lib/modules/pwm-gpio.ko", "-",
            29f3016c04b73b5511b554586aa2ebd38315d505, 14164,
            5e4f87b06e62f76337083e2a133e8896350b2519,
            package_extract_file("patch/system/lib/modules/pwm-gpio.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/pwm-gpio.ko");
set_progress(0.317460);
apply_patch("/system/lib/modules/test-iosched.ko", "-",
            6a288db1d5dc77a818c16e3fbdc3186797663444, 43132,
            0b6a5d32e2f097c3464e2a728c1e83dd1613086a,
            package_extract_file("patch/system/lib/modules/test-iosched.ko.p")) ||
    abort("E3008: Failed to apply patch to /system/lib/modules/test-iosched.ko");
set_progress(0.317801);
apply_patch("/system/lib64/libclientbc.so", "-",
            e19ea98ce24c5f4e27bca11de2a52b5cef6a1411, 118344,
            82672917127ba594ec6261ed394138e9dbebb098,
            package_extract_file("patch/system/lib64/libclientbc.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib64/libclientbc.so");
set_progress(0.318736);
apply_patch("/system/lib64/libmanBC.so", "-",
            34efec43d786dfc2df0735344c590a3374cda8cc, 108640,
            f605d0274772d4c9a15d8d8d4a8ecfdd049fc4f7,
            package_extract_file("patch/system/lib64/libmanBC.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib64/libmanBC.so");
set_progress(0.319594);
apply_patch("/system/lib64/libpertoSDK.so", "-",
            e616ba3920aaffd36260f2f177d85d22221fa76d, 38856,
            9e6b3d0d8a67632effc3a0a66fdca6e409d8981b,
            package_extract_file("patch/system/lib64/libpertoSDK.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib64/libpertoSDK.so");
set_progress(0.319901);
apply_patch("/system/lib64/libsierrahl-ril.so", "-",
            5ebdbafd01387903e16163a618062b273990eb3c, 179240,
            8f0e6340820e250c26f8791874c1762eb599522e,
            package_extract_file("patch/system/lib64/libsierrahl-ril.so.p")) ||
    abort("E3008: Failed to apply patch to /system/lib64/libsierrahl-ril.so");
set_progress(0.321317);
apply_patch("/system/priv-app/Settings/Settings.apk", "-",
            4d3fccb9e8942865c452e1bdb783005ca3b42325, 23790393,
            cd0daf0cb4ad8e274020e4da50a5c30c7100502d,
            package_extract_file("patch/system/priv-app/Settings/Settings.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/Settings/Settings.apk");
set_progress(0.509278);
apply_patch("/system/priv-app/SystemUI/SystemUI.apk", "-",
            e3f566918e54ddd43dcfd333ae943f7ecb314be7, 10320100,
            3ca5fb3072aa00b29444733800fb1330793cd5d1,
            package_extract_file("patch/system/priv-app/SystemUI/SystemUI.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/SystemUI/SystemUI.apk");
set_progress(0.590814);
apply_patch("/system/priv-app/TimerSwitch/TimerSwitch.apk", "-",
            d4706bbc96db6e979bfaa4be7400f8d0cb267622, 275162,
            1520c72b9f1df97b490d3ecb8d70db75930b7e0f,
            package_extract_file("patch/system/priv-app/TimerSwitch/TimerSwitch.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/TimerSwitch/TimerSwitch.apk");
set_progress(0.592988);
apply_patch("/system/priv-app/TrilegalUpdater/TrilegalUpdater.apk",
            "-", c4a7f8cf646506d68dbc297cb7ba5bf748f3b30b, 2444899,
            c003354d5c3acef8dbee907107320300c2e6fe0c,
            package_extract_file("patch/system/priv-app/TrilegalUpdater/TrilegalUpdater.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/TrilegalUpdater/TrilegalUpdater.apk");
set_progress(0.612304);
apply_patch("/system/priv-app/launcherApp/launcherApp.apk", "-",
            5ae7f9394fe81f8e530e09a6254716687757527b, 14940722,
            62812b3fb12f5762bf09a24e534838eff69bb757,
            package_extract_file("patch/system/priv-app/launcherApp/launcherApp.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/priv-app/launcherApp/launcherApp.apk");
set_progress(0.730346);
apply_patch("/system/recovery-from-boot.p", "-",
            e45ce8732deec8462f3ad2ac990c54219558463f, 199169,
            75401568288d45e36cce3d8bfea7926d2d063888,
            package_extract_file("patch/system/recovery-from-boot.p.p")) ||
    abort("E3008: Failed to apply patch to /system/recovery-from-boot.p");
set_progress(0.731920);
apply_patch("/system/vendor/bin/perto_bc_test", "-",
            47a64d3bc50ac21567062f007a66d38943824162, 31984,
            168fc176a9b76ddf432377974a5809f8c7f0a25e,
            package_extract_file("patch/system/vendor/bin/perto_bc_test.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/bin/perto_bc_test");
set_progress(0.732172);
apply_patch("/system/vendor/bin/perto_power_on_off.sh", "-",
            a39074195f0946c7065a93c51ce697d741e88d3b, 3100,
            42c2acbe2d8e68c9312225b385bb2fde12d1b1d2,
            package_extract_file("patch/system/vendor/bin/perto_power_on_off.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/bin/perto_power_on_off.sh");
set_progress(0.732197);
apply_patch("/system/vendor/bin/perto_print_test", "-",
            416f04640db61269b69019bf54d1812e0ad54233, 28264,
            c5f9bf62fc61b6d593985a038b76965df2c6d3e1,
            package_extract_file("patch/system/vendor/bin/perto_print_test.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/bin/perto_print_test");
set_progress(0.732420);
apply_patch("/system/vendor/etc/init/init.smart.posboot.sh", "-",
            e14257728fb05fc796d38b0fd1e9a217e360b5ae, 649,
            97e4a57c12f840a1c0c357ce094774f9b1a8ff63,
            package_extract_file("patch/system/vendor/etc/init/init.smart.posboot.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/etc/init/init.smart.posboot.sh");
set_progress(0.732425);
apply_patch("/system/vendor/etc/init/init.smart.preboot.sh", "-",
            f3726601be3f9901b251863c6ed8d43ffd896e3f, 2552,
            1316e26daf39df88048fe0d385d3980a7ddb59c9,
            package_extract_file("patch/system/vendor/etc/init/init.smart.preboot.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/etc/init/init.smart.preboot.sh");
set_progress(0.732445);
apply_patch("/system/vendor/etc/init/init.smart.rc", "-",
            58157a86670c540f132baf996645f034b09e73c8, 4510,
            4dc7eda1e07b1ef6bc80031fa764cd0e963ec494,
            package_extract_file("patch/system/vendor/etc/init/init.smart.rc.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/etc/init/init.smart.rc");
set_progress(0.732481);
apply_patch("/system/vendor/etc/init/init.smart.terminalID.sh", "-",
            d4957bc87441abab5227c0bdabcb7f1ddccff9fe, 732,
            419ffc0e0fb43577489bdcf6fefe8a0643d88688,
            package_extract_file("patch/system/vendor/etc/init/init.smart.terminalID.sh.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/etc/init/init.smart.terminalID.sh");
set_progress(0.732487);
apply_patch("/system/vendor/pos/preinstalled-files/TF.apk", "-",
            0c3bf5a91d4e3556887986dbfb34e4f8b8456519, 17978114,
            a2ac45d8be5dcdcb223ee8ba5d86154d25403a14,
            package_extract_file("patch/system/vendor/pos/preinstalled-files/TF.apk.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/pos/preinstalled-files/TF.apk");
set_progress(0.874526);
apply_patch("/system/vendor/pos/versions", "-",
            db3c41516df39730f98cf4b905ec306a0384bca6, 370,
            6d0c2f0da5c53c98b34365e4b355138624d5600a,
            package_extract_file("patch/system/vendor/pos/versions.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/pos/versions");
set_progress(0.874529);
apply_patch("/system/vendor/vendor.prop", "-",
            caf51299dce7a992e90f055cac3eb900b3038400, 4942,
            a10422b196df85eb8ba03dff80ac728b364ffd25,
            package_extract_file("patch/system/vendor/vendor.prop.p")) ||
    abort("E3008: Failed to apply patch to /system/vendor/vendor.prop");
set_progress(0.874568);
ui_print("Patching boot image...");
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:17737000:ee76ad15539a041ed4c90d5d4dad8ae46e9c5873:17737000:a8cf3a186660a590479414f86fac3ae438024ac2",
            "-", a8cf3a186660a590479414f86fac3ae438024ac2, 17737000,
            ee76ad15539a041ed4c90d5d4dad8ae46e9c5873,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:17737000:ee76ad15539a041ed4c90d5d4dad8ae46e9c5873:17737000:a8cf3a186660a590479414f86fac3ae438024ac2");
set_progress(1.014703);
show_progress(0.100000, 10);
delete("/system/app/PicoTts/lib/arm64/libttscompat.so",
       "/system/app/PicoTts/lib/arm64/libttspico.so");
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/ATFWD-daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:atfwd_exec:s0");
set_metadata("/system/bin/PktRspTest", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/StoreKeybox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sectest_exec:s0");
set_metadata("/system/bin/adsprpcd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:adsprpcd_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/app_process64", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:zygote_exec:s0");
set_metadata("/system/bin/athdiag", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/atrace", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:atrace_exec:s0");
set_metadata("/system/bin/audiod", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:audiod_exec:s0");
set_metadata("/system/bin/audioserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:audioserver_exec:s0");
set_metadata("/system/bin/blkid", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:blkid_exec:s0");
set_metadata("/system/bin/bootanimation", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootanim_exec:s0");
set_metadata("/system/bin/bootstat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:bootstat_exec:s0");
set_metadata("/system/bin/btnvtool", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:btnvtool_exec:s0");
set_metadata("/system/bin/cameraserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:cameraserver_exec:s0");
set_metadata("/system/bin/clatd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:clatd_exec:s0");
set_metadata("/system/bin/cnd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:cnd_exec:s0");
set_metadata("/system/bin/cnss-daemon", "uid", 1000, "gid", 1000, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/cnss_diag", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_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/debuggerd64", "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-6.8.2", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dhcp_exec:s0");
set_metadata("/system/bin/diag_callback_client", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/diag_dci_sample", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/diag_klog", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/diag_mdlog", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qlogd_exec:s0");
set_metadata("/system/bin/diag_qshrink4_daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/diag_socket_log", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/diag_uart_log", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_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/dpmd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dpmd_exec:s0");
set_metadata("/system/bin/drmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:drmserver_exec:s0");
set_metadata("/system/bin/dumpstate", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dumpstate_exec:s0");
set_metadata("/system/bin/dun-server", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:dun-server_exec:s0");
set_metadata("/system/bin/e2fsck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck.f2fs", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/fsck_msdos", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fsck_exec:s0");
set_metadata("/system/bin/garden_app", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/bin/gatekeeperd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gatekeeperd_exec:s0");
set_metadata("/system/bin/gpsone_daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/bin/hal_proxy_daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/hostapd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0");
set_metadata("/system/bin/hostapd_cli", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:hostapd_exec:s0");
set_metadata("/system/bin/idmap", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:idmap_exec:s0");
set_metadata("/system/bin/ims_rtp_daemon", "uid", 1000, "gid", 1001, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:ims_exec:s0");
set_metadata("/system/bin/imscmservice", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:imscm_exec:s0");
set_metadata("/system/bin/imsdatadaemon", "uid", 1000, "gid", 1000, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:ims_exec:s0");
set_metadata("/system/bin/imsqmidaemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ims_exec:s0");
set_metadata("/system/bin/init.config.ip", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sierra_config_ip_exec:s0");
set_metadata("/system/bin/init.dhcpcd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sierra_dhcpcd_exec:s0");
set_metadata("/system/bin/init.gprs-pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gemalto_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/irsc_util", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:irsc_util_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/loc_launcher", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/bin/logcat", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logcat_exec:s0");
set_metadata("/system/bin/logd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:logd_exec:s0");
set_metadata("/system/bin/lowi-server", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/bin/manBC", "uid", 1000, "gid", 1000, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:manbc_exec:s0");
set_metadata("/system/bin/manBuzzerd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:manbuzzerd_exec:s0");
set_metadata("/system/bin/manFactory", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:manfactory_exec:s0");
set_metadata("/system/bin/manImpressora", "uid", 1000, "gid", 1000, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:manimpressora_exec:s0");
set_metadata("/system/bin/manPowerMngt", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:manpowermngt_exec:s0");
set_metadata("/system/bin/mdnsd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mdnsd_exec:s0");
set_metadata("/system/bin/mediacodec", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediacodec_exec:s0");
set_metadata("/system/bin/mediadrmserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediadrmserver_exec:s0");
set_metadata("/system/bin/mediaextractor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaextractor_exec:s0");
set_metadata("/system/bin/mediaserver", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mediaserver_exec:s0");
set_metadata("/system/bin/mm-pp-daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mm-pp-daemon_exec:s0");
set_metadata("/system/bin/mm-qcamera-daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mm-qcamerad_exec:s0");
set_metadata("/system/bin/mmi", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:mmi_exec:s0");
set_metadata("/system/bin/msm_irqbalance", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:msm_irqbalanced_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/ndc", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/netd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netd_exec:s0");
set_metadata("/system/bin/netmgrd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:netmgrd_exec:s0");
set_metadata("/system/bin/oemwvtest", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sectest_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/pktlogconf", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/pm-service", "uid", 1000, "gid", 1000, "mode", 0755, "capabilities", 0x400, "selabel", "u:object_r:per_mgr_exec:s0");
set_metadata("/system/bin/port-bridge", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:port-bridge_exec:s0");
set_metadata("/system/bin/pppd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ppp_exec:s0");
set_metadata("/system/bin/pppv6_startup.sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata("/system/bin/profman", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:profman_exec:s0");
set_metadata("/system/bin/ptt_socket_app", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/qcom-system-daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qcomsysd_exec:s0");
set_metadata("/system/bin/qmi-framework-tests/qmi_test_mt_client_init_instance", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qmi_test_service_exec:s0");
set_metadata("/system/bin/qmuxd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:qmuxd_exec:s0");
set_metadata("/system/bin/qseecom_sample_client", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sectest_exec:s0");
set_metadata("/system/bin/qseecomd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tee_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/rfs_access", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rfs_access_exec:s0");
set_metadata("/system/bin/rild", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rild_exec:s0");
set_metadata("/system/bin/rmt_storage", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rmt_storage_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/sgdisk", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:sgdisk_exec:s0");
set_metadata("/system/bin/sh", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:shell_exec:s0");
set_metadata("/system/bin/ssr_diag", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ssr_diag_exec:s0");
set_metadata("/system/bin/ssr_setup", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:ssr_setup_exec:s0");
set_metadata("/system/bin/subsystem_ramdump", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:subsystem_ramdump_exec:s0");
set_metadata("/system/bin/surfaceflinger", "uid", 1000, "gid", 1003, "mode", 0755, "capabilities", 0x800000, "selabel", "u:object_r:surfaceflinger_exec:s0");
set_metadata("/system/bin/tbaseLoader", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tbaseLoader_exec:s0");
set_metadata("/system/bin/test_diag", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:diag_exec:s0");
set_metadata("/system/bin/tftp_server", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:rfs_access_exec:s0");
set_metadata("/system/bin/time_daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:time_daemon_exec:s0");
set_metadata("/system/bin/toolbox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/toybox", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:toolbox_exec:s0");
set_metadata("/system/bin/tzdatacheck", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:tzdatacheck_exec:s0");
set_metadata("/system/bin/uncrypt", "uid", 0, "gid", 0, "mode", 0750, "capabilities", 0x0, "selabel", "u:object_r:uncrypt_exec:s0");
set_metadata("/system/bin/vdc", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vdc_exec:s0");
set_metadata("/system/bin/vm_bms", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vm_bms_exec:s0");
set_metadata("/system/bin/vold", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:vold_exec:s0");
set_metadata("/system/bin/wcnss_filter", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_filter_exec:s0");
set_metadata("/system/bin/wcnss_service", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wcnss_service_exec:s0");
set_metadata("/system/bin/wfdservice", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wfdservice_exec:s0");
set_metadata("/system/bin/wpa_supplicant", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:wpa_exec:s0");
set_metadata("/system/bin/xtwifi-client", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/bin/xtwifi-inet-agent", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/etc/fs_config_files", "uid", 0, "gid", 0, "mode", 0444, "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:gemalto_chat_script:s0");
set_metadata("/system/etc/ppp", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/ppp/ip-down", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata("/system/etc/ppp/ip-up", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata("/system/etc/ppp/ip-up-vpn", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata("/system/etc/ppp/ipv6-down", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata("/system/etc/ppp/ipv6-up", "uid", 0, "gid", 0, "mode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_exec:s0");
set_metadata_recursive("/system/etc/ppp/peers", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0555, "capabilities", 0x0, "selabel", "u:object_r:gemalto_ppp_file:s0");
set_metadata("/system/etc/ppp/peers", "uid", 0, "gid", 0, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/etc/ril.conf", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:gemalto_config_file:s0");
set_metadata("/system/recovery-from-boot.p", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
set_metadata_recursive("/system/rfs", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:rfs_system_file:s0");
set_metadata("/system/vendor", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/CTA", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTAMmsRes/CTAMmsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTANetworkSettingRes/CTANetworkSettingRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTASettingsProviderRes/CTASettingsProviderRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTASettingsRes/CTASettingsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTASimContactsRes/CTASimContactsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTASystemUIRes/CTASystemUIRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/CTA/system/vendor/overlay/CTATeleServiceRes/CTATeleServiceRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/ChinaMobile", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/exclude.list", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/10086cn/10086cn.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/Backup/Backup.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/BackupReceiver/BackupReceiver.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/BatterySaver/BatterySaver.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/CmccCustomerService/CmccCustomerService.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/app/ExtWifi/ExtWifi.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/ChinaMobileFrameworksRes/ChinaMobileFrameworksRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccBrowserRes/CmccBrowserRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccCalculatorRes/CmccCalculatorRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccDeskClockRes/CmccDeskClockRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccDialerRes/CmccDialerRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccEmailRes/CmccEmailRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccMmsRes/CmccMmsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccMusicRes/CmccMusicRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccQuickSearchBoxRes/CmccQuickSearchBoxRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccSettingsProviderRes/CmccSettingsProviderRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccSettingsRes/CmccSettingsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccSimContactsRes/CmccSimContactsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/overlay/CmccSystemUIRes/CmccSystemUIRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaMobile/system/vendor/vendor.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/ChinaTelecom", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/exclude.list", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/app/AutoRegistration/AutoRegistration.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/app/CtBrowserQuick/CtBrowserQuick.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/app/CtRoamingSettings/CtRoamingSettings.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/app/CustomerService/CustomerService.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtBrowserRes/CtBrowserRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtDialerRes/CtDialerRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtEmailRes/CtEmailRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtFrameworksRes/CtFrameworksRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtMmsRes/CtMmsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtPhoneFeaturesRes/CtPhoneFeaturesRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtSettingsProviderRes/CtSettingsProviderRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtSettingsRes/CtSettingsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtSimContactsRes/CtSimContactsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtStkRes/CtStkRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtSystemUIRes/CtSystemUIRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/overlay/CtTeleServiceRes/CtTeleServiceRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaTelecom/system/vendor/vendor.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/ChinaUnicom", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/exclude.list", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/app/CuBrowserQuick/CuBrowserQuick.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/app/WoRead/WoRead.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuBrowserRes/CuBrowserRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuDialerRes/CuDialerRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuSettingsProviderRes/CuSettingsProviderRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuSettingsRes/CuSettingsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuSimContactsRes/CuSimContactsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuStkRes/CuStkRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/ChinaUnicom/system/vendor/overlay/CuSystemUIRes/CuSystemUIRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/Default", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/Default/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/RJIL", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/.preloadspec", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILCallSettings/RJILCallSettings.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILFrameworksRes/RJILFrameworksRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILProfileMgrRes/RJILProfileMgrRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILSettingsRes/RJILSettingsRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILSystemUIRes/RJILSystemUIRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/overlay/RJILTeleServiceRes/RJILTeleServiceRes.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/RJIL/system/vendor/vendor.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/app", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/app/DataStorageCleanerService/DataStorageCleanerService.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/app/StorageCleaner/StorageCleaner.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/app/WfdService/WfdService.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/app/ims/ims.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/app/imssettings/imssettings.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/bin", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/bin/fidodaemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fidodaemon_exec:s0");
set_metadata("/system/vendor/bin/perfd", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:perfd_exec:s0");
set_metadata("/system/vendor/bin/perto_dpa_test", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:devscripts_exec:s0");
set_metadata("/system/vendor/bin/perto_halt_test", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:devscripts_exec:s0");
set_metadata("/system/vendor/bin/sampleauthdaemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:fidotest_exec:s0");
set_metadata("/system/vendor/bin/slim_daemon", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:location_exec:s0");
set_metadata("/system/vendor/bin/thermal-engine", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:thermal-engine_exec:s0");
set_metadata("/system/vendor/etc", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/etc/RIDL", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/etc/RIDL/qdss.cfg", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/etc/init", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/exclude", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/drm", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/egl", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/hw", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/mediadrm", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib/soundfx", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib64", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib64/egl", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib64/hw", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/lib64/mediadrm", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/pos/cert", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/cert/ca-chain.crt", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/maxim_32560", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/maxim_32560/CRK", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/pos/maxim_32560/Factory_CA", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/maxim_32560/Firmware", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/maxim_32560/SBIN", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/maxim_32560/bins", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/preinstalled-files", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/pos/printer_lpc51u68", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/priv-app", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/priv-app/ZeroBalanceHelper/ZeroBalanceHelper.apk", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata("/system/vendor/speccfg", "uid", 0, "gid", 2000, "mode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
set_metadata_recursive("/system/vendor/system", "uid", 0, "gid", 2000, "dmode", 0755, "fmode", 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");
set_metadata("/system/xbin/su", "uid", 0, "gid", 2000, "mode", 04750, "capabilities", 0x0, "selabel", "u:object_r:su_exec:s0");

# ---- radio update tasks ----

ui_print("Patching firmware images...");
delete("/data/user_de/0/com.android.providers.telephony/databases/telephony.db",
        "/data/data/com.android.timerswitch/databases/timerswitch.db");

ui_print("Patching remaining system files...");
apply_patch("/system/build.prop", "-",
            b0e7006ef3ed7b5c78c3db54f76c48c050183cac, 2786,
            2b3f9680d8c2c2bf1c77aca3da5ee6bcfa52acd7,
            package_extract_file("patch/system/build.prop.p")) ||
    abort("E3008: Failed to apply patch to /system/build.prop");
set_metadata("/system/build.prop", "uid", 0, "gid", 0, "mode", 0644, "capabilities", 0x0);
unmount("/system");
