mount("ext3", "EMMC", "/dev/block/mmcblk0p1", "/system");
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys");
assert(getprop("ro.product.device") == "p990" ||
       getprop("ro.build.product") == "p990");
ui_print("Verifying current system...");
show_progress(0.100000, 0);
assert(apply_patch_check("/system/app/Browser.apk", "2f9fc6c9d8ddf87ef2bbdfee4d7081b613057d7d", "360cdc974e60489fa9cfc1464ee332c487c4d91b"));
set_progress(0.022875);
assert(apply_patch_check("/system/app/Browser.odex", "c23aa0a2c28464f61d0aef9de15588749d0d329a", "1bb7ec2b2f0ab00b58284986b3a8f1e66183dd45"));
set_progress(0.054685);
assert(apply_patch_check("/system/app/Phone.apk", "7b0a7a6d09313d8efccaca2f4a1b8acafc346c7f", "14d1e824df8f1b8570e6645683fab54ab1c076b5"));
set_progress(0.079735);
assert(apply_patch_check("/system/app/Phone.odex", "b12802895a0913fbf5c5877cbfd6da99acdbbdf0", "571636d15e98300db3872edc4aab46566fb04894"));
set_progress(0.105841);
assert(apply_patch_check("/system/bin/debuggerd", "525c800365ae6edccf74d7b4d297288f6b6e7f3b", "c953addf54a395695837528938c161225134ce29"));
set_progress(0.106753);
assert(apply_patch_check("/system/bin/mkyaffs2image", "bebaae22893848b2a4de7fe500ad49568de7bd9e", "98f9e6e9efb9fe56434e982b1fc0da8d354f136b"));
set_progress(0.107361);
assert(apply_patch_check("/system/bin/recovery", "536133ddf0ce28e0fc20b966d0a79e44bd3f9e54", "c5b93886f6de7c3f20068f74c9553a27123eeb28"));
set_progress(0.139727);
assert(apply_patch_check("/system/bin/wpa_supplicant", "ea47af108e859703a27bac704178d90353affad4", "f23a35068fee569bb0f34078bffdec7a17c1b439"));
set_progress(0.151695);
assert(apply_patch_check("/system/build.prop", "5fa2877f726ec4854c0b19e2231e98191fe2c0e9", "4a80b26fe89fae7cb034946f8855bc98ba696034"));
set_progress(0.151809);
assert(apply_patch_check("/system/etc/init.d/06defaulttheme", "dfbe4b3d659f4b5dced883636aa4b802f091b752", "af2abe201c2761e0ce88ba47437c5c4e8e7d5297"));
set_progress(0.151840);
assert(apply_patch_check("/system/etc/security/otacerts.zip", "36ad0870d6b13ddfc7d7e37c59062e003f1d090d", "83663c6c8b5897012077cc3a74b583ec2e84878e"));
set_progress(0.151886);
assert(apply_patch_check("/system/framework/am.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.151899);
assert(apply_patch_check("/system/framework/am.odex", "96b0f80ac2ed71905160992044f8254ae553fcef", "9376c8f89cf0dfa037eed761409b268d89003bf7"));
set_progress(0.153037);
assert(apply_patch_check("/system/framework/android.policy.jar", "b4319961a293e440f3f8c411004401537640d48e", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.153050);
assert(apply_patch_check("/system/framework/android.policy.odex", "154879837bf9e6500e6addae2c3f2121c2604c11", "3f0e6db114c49ed00e0c3fd0793d40d0246236a1"));
set_progress(0.166756);
assert(apply_patch_check("/system/framework/android.test.runner.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.166769);
assert(apply_patch_check("/system/framework/android.test.runner.odex", "e85e3287e2c01be13026cef81cb1f0947db06f23", "0ea6a18af518aabe7f6201ff2acb835650d70bfe"));
set_progress(0.174765);
assert(apply_patch_check("/system/framework/bmgr.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.174778);
assert(apply_patch_check("/system/framework/bmgr.odex", "b9fbd35c99eb213142019651c8b4ce327c126cf6", "da17d32acc334ad1f2cb94a58519179d88ea3021"));
set_progress(0.175338);
assert(apply_patch_check("/system/framework/bouncycastle.jar", "8601afb7d50c192b74b4d529654bf954502d0ce1", "910fea557898c53d180cc18b962dd6d118938d0b"));
set_progress(0.175351);
assert(apply_patch_check("/system/framework/bouncycastle.odex", "fb63ee58193c514168e16458e8cef8577cb4a774", "f065d0a929ddff43ca30fbd905ce944a94fa7bc7"));
set_progress(0.207276);
assert(apply_patch_check("/system/framework/com.android.future.usb.accessory.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.207289);
assert(apply_patch_check("/system/framework/com.android.future.usb.accessory.odex", "7d55e5ee0e6649143c51af20efd0299d8f31bf2a", "004c167cf2686663abea9de899ba72be094bd836"));
set_progress(0.207531);
assert(apply_patch_check("/system/framework/com.android.location.provider.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.207544);
assert(apply_patch_check("/system/framework/com.android.location.provider.odex", "ebc7dc12647250ab7f069ebf95a1bba126be7961", "d96c585fcef91efefca0b0830afc35b472f90a8e"));
set_progress(0.207841);
assert(apply_patch_check("/system/framework/core-junit.jar", "7c9d18ffe1f440bf6811ec9823fc5fbcd41bd524", "3aebba5c519edc6a072f488939f9e7c6bfd18763"));
set_progress(0.207854);
assert(apply_patch_check("/system/framework/core-junit.odex", "1263cf8bd956d7e705ce938529117f0c5e0d41b0", "d64960c5be05025b269b7c4ca0392240a4035073"));
set_progress(0.208836);
assert(apply_patch_check("/system/framework/core.jar", "15b775ef4b85c1876174caca28c1e2280aa6b7a1", "f09adc976b1a6decfb6185fd853d80a329f2b949"));
set_progress(0.209776);
assert(apply_patch_check("/system/framework/core.odex", "a893674677dd85c6c588b3c24efbe50bc6453ed2", "07a9d84671aa885cb7aedc869083c50595e9a9e0"));
set_progress(0.407096);
assert(apply_patch_check("/system/framework/ext.jar", "ee305b7bea23e474c41f11d6598eaadc61cee847", "702af1d3fadad40dc096a99c6e0748b74e58e028"));
set_progress(0.407108);
assert(apply_patch_check("/system/framework/ext.odex", "bbe7a6e69961b6832dcbc18c0146966b0c998a58", "4677bac7e379add98a0a3b5d3bc7354b93b874e8"));
set_progress(0.464144);
assert(apply_patch_check("/system/framework/framework.jar", "59bb20f295ee5336b53f2a8fe410234357527b4f", "309c7537a5481e5f77a5881a7851584f832a3f77"));
set_progress(0.464652);
assert(apply_patch_check("/system/framework/framework.odex", "9255d4daa1ec5c32d777b75bcad0fc9da2439231", "46363ae3d227a95bf21260ae409e599ebf4d8c0e"));
set_progress(0.825086);
assert(apply_patch_check("/system/framework/ime.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.825099);
assert(apply_patch_check("/system/framework/ime.odex", "6d1860658caf8baf80042a6d52fd123521fb407e", "2e33c16d11ef621df709e4d4ba1b47cf99c25e60"));
set_progress(0.825370);
assert(apply_patch_check("/system/framework/input.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.825383);
assert(apply_patch_check("/system/framework/input.odex", "83e30188f4a35d2c2c147e3023cfecdd87b4bcc9", "cfa5e18d1d6b1d0bee6023f00a15c05c99399cd0"));
set_progress(0.825559);
assert(apply_patch_check("/system/framework/javax.obex.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "677840b1ac49b69bc0263deb642ee06f3f084a1b"));
set_progress(0.825572);
assert(apply_patch_check("/system/framework/javax.obex.odex", "72cba392af3953a34b6bf5772f4ed8a0a39fed19", "c152da6536c444cf3f6e9432dcbc5c1a395043b4"));
set_progress(0.828052);
assert(apply_patch_check("/system/framework/monkey.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.828065);
assert(apply_patch_check("/system/framework/monkey.odex", "825ccbcfdd9ac1f18f9c67ffe4cd3adea93a61b4", "9f25f3ef6bb985fb9923eb7bcfa9bf7f8414a1cb"));
set_progress(0.831735);
assert(apply_patch_check("/system/framework/pm.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.831748);
assert(apply_patch_check("/system/framework/pm.odex", "6df1ecd017aeb8d248eec68747e465519ce56b83", "d719092ed1ff7c91c4a71b80004c69ed07c99e4f"));
set_progress(0.832909);
assert(apply_patch_check("/system/framework/services.jar", "7b0c8922cf3bb493f5588391f0542afa2e3ee94c", "cd0920eff07a79396ee4808941ae0c7f0c36a74e"));
set_progress(0.832921);
assert(apply_patch_check("/system/framework/services.odex", "b3263e8384f8c453c2945071c1ccfb12bac9a9a8", "b5a6cd3434490072c22ecde92b0ed0c2175b4d94"));
set_progress(0.898955);
assert(apply_patch_check("/system/framework/sqlite-jdbc.jar", "901a98d7a254dff3925cdcbb32b8e85b27d05bcc", "e8770c63423d99f0caf23962a273daaf59b87682"));
set_progress(0.898968);
assert(apply_patch_check("/system/framework/sqlite-jdbc.odex", "71b10f035d04cca1746bbc9fc171140cecb9ef2d", "b716f10ab5bc5344d0a7d7151b3b11dea7b333c6"));
set_progress(0.905017);
assert(apply_patch_check("/system/framework/svc.jar", "e78e5f789d6fbee5053efb35f03fb73396ca7db1", "01bcc49256af28402c0c0452d9c1a9c932f93566"));
set_progress(0.905030);
assert(apply_patch_check("/system/framework/svc.odex", "3af7859a3a94be7f477322c17344cccaed632192", "b7e41d374e17280f184435dae8e003125545c040"));
set_progress(0.905369);
assert(apply_patch_check("/system/media/theme/default.mtz", "91ec077e5ddabfdc0e34efa0fbc8f26a6cf16b16", "beab435b52ecb4f0bc1fdbcd9a6487ff3e5badf1"));
set_progress(0.983079);
assert(apply_patch_check("/system/xbin/openvpn", "65333dc8049dd666fae67334a309e5aea0938e27", "5c914297ca82e7a908683f9d0020d0bede588651"));
set_progress(0.997648);
assert(apply_patch_check("/system/xbin/oprofiled", "10dc2f1a21ecc0771c9e846d7c72dd9aea5971c9", "5a39483cfcff4b88e75dcd183354d44d9e02afed"));
set_progress(1.000000);
assert(apply_patch_space(8790600));

# ---- 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("/system/app/Browser.apk", "-",
            2f9fc6c9d8ddf87ef2bbdfee4d7081b613057d7d, 557898,
            360cdc974e60489fa9cfc1464ee332c487c4d91b, package_extract_file("patch/system/app/Browser.apk.p"));
set_progress(0.022876);
apply_patch("/system/app/Browser.odex", "-",
            c23aa0a2c28464f61d0aef9de15588749d0d329a, 776056,
            1bb7ec2b2f0ab00b58284986b3a8f1e66183dd45, package_extract_file("patch/system/app/Browser.odex.p"));
set_progress(0.054698);
apply_patch("/system/app/Phone.apk", "-",
            7b0a7a6d09313d8efccaca2f4a1b8acafc346c7f, 610930,
            14d1e824df8f1b8570e6645683fab54ab1c076b5, package_extract_file("patch/system/app/Phone.apk.p"));
set_progress(0.079749);
apply_patch("/system/app/Phone.odex", "-",
            b12802895a0913fbf5c5877cbfd6da99acdbbdf0, 637112,
            571636d15e98300db3872edc4aab46566fb04894, package_extract_file("patch/system/app/Phone.odex.p"));
set_progress(0.105873);
apply_patch("/system/bin/debuggerd", "-",
            525c800365ae6edccf74d7b4d297288f6b6e7f3b, 22240,
            c953addf54a395695837528938c161225134ce29, package_extract_file("patch/system/bin/debuggerd.p"));
set_progress(0.106785);
apply_patch("/system/bin/mkyaffs2image", "-",
            bebaae22893848b2a4de7fe500ad49568de7bd9e, 14848,
            98f9e6e9efb9fe56434e982b1fc0da8d354f136b, package_extract_file("patch/system/bin/mkyaffs2image.p"));
set_progress(0.107394);
apply_patch("/system/bin/recovery", "-",
            536133ddf0ce28e0fc20b966d0a79e44bd3f9e54, 789352,
            c5b93886f6de7c3f20068f74c9553a27123eeb28, package_extract_file("patch/system/bin/recovery.p"));
set_progress(0.139761);
apply_patch("/system/bin/wpa_supplicant", "-",
            ea47af108e859703a27bac704178d90353affad4, 291892,
            f23a35068fee569bb0f34078bffdec7a17c1b439, package_extract_file("patch/system/bin/wpa_supplicant.p"));
set_progress(0.151729);
apply_patch("/system/build.prop", "-",
            5fa2877f726ec4854c0b19e2231e98191fe2c0e9, 2775,
            4a80b26fe89fae7cb034946f8855bc98ba696034, package_extract_file("patch/system/build.prop.p"));
set_progress(0.151843);
apply_patch("/system/etc/init.d/06defaulttheme", "-",
            dfbe4b3d659f4b5dced883636aa4b802f091b752, 848,
            af2abe201c2761e0ce88ba47437c5c4e8e7d5297, package_extract_file("patch/system/etc/init.d/06defaulttheme.p"));
set_progress(0.151878);
apply_patch("/system/etc/security/otacerts.zip", "-",
            36ad0870d6b13ddfc7d7e37c59062e003f1d090d, 1125,
            83663c6c8b5897012077cc3a74b583ec2e84878e, package_extract_file("patch/system/etc/security/otacerts.zip.p"));
set_progress(0.151924);
apply_patch("/system/framework/am.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/am.jar.p"));
set_progress(0.151937);
apply_patch("/system/framework/am.odex", "-",
            96b0f80ac2ed71905160992044f8254ae553fcef, 27752,
            9376c8f89cf0dfa037eed761409b268d89003bf7, package_extract_file("patch/system/framework/am.odex.p"));
set_progress(0.153075);
apply_patch("/system/framework/android.policy.jar", "-",
            b4319961a293e440f3f8c411004401537640d48e, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/android.policy.jar.p"));
set_progress(0.153088);
apply_patch("/system/framework/android.policy.odex", "-",
            154879837bf9e6500e6addae2c3f2121c2604c11, 334280,
            3f0e6db114c49ed00e0c3fd0793d40d0246236a1, package_extract_file("patch/system/framework/android.policy.odex.p"));
set_progress(0.166795);
apply_patch("/system/framework/android.test.runner.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/android.test.runner.jar.p"));
set_progress(0.166807);
apply_patch("/system/framework/android.test.runner.odex", "-",
            e85e3287e2c01be13026cef81cb1f0947db06f23, 195008,
            0ea6a18af518aabe7f6201ff2acb835650d70bfe, package_extract_file("patch/system/framework/android.test.runner.odex.p"));
set_progress(0.174804);
apply_patch("/system/framework/bmgr.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/bmgr.jar.p"));
set_progress(0.174816);
apply_patch("/system/framework/bmgr.odex", "-",
            b9fbd35c99eb213142019651c8b4ce327c126cf6, 13672,
            da17d32acc334ad1f2cb94a58519179d88ea3021, package_extract_file("patch/system/framework/bmgr.odex.p"));
set_progress(0.175377);
apply_patch("/system/framework/bouncycastle.jar", "-",
            8601afb7d50c192b74b4d529654bf954502d0ce1, 313,
            910fea557898c53d180cc18b962dd6d118938d0b, package_extract_file("patch/system/framework/bouncycastle.jar.p"));
set_progress(0.175390);
apply_patch("/system/framework/bouncycastle.odex", "-",
            fb63ee58193c514168e16458e8cef8577cb4a774, 778624,
            f065d0a929ddff43ca30fbd905ce944a94fa7bc7, package_extract_file("patch/system/framework/bouncycastle.odex.p"));
set_progress(0.207317);
apply_patch("/system/framework/com.android.future.usb.accessory.jar",
            "-", e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/com.android.future.usb.accessory.jar.p"));
set_progress(0.207330);
apply_patch("/system/framework/com.android.future.usb.accessory.odex",
            "-", 7d55e5ee0e6649143c51af20efd0299d8f31bf2a, 5904,
            004c167cf2686663abea9de899ba72be094bd836, package_extract_file("patch/system/framework/com.android.future.usb.accessory.odex.p"));
set_progress(0.207572);
apply_patch("/system/framework/com.android.location.provider.jar",
            "-", e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/com.android.location.provider.jar.p"));
set_progress(0.207585);
apply_patch("/system/framework/com.android.location.provider.odex",
            "-", ebc7dc12647250ab7f069ebf95a1bba126be7961, 7240,
            d96c585fcef91efefca0b0830afc35b472f90a8e, package_extract_file("patch/system/framework/com.android.location.provider.odex.p"));
set_progress(0.207881);
apply_patch("/system/framework/core-junit.jar", "-",
            7c9d18ffe1f440bf6811ec9823fc5fbcd41bd524, 313,
            3aebba5c519edc6a072f488939f9e7c6bfd18763, package_extract_file("patch/system/framework/core-junit.jar.p"));
set_progress(0.207894);
apply_patch("/system/framework/core-junit.odex", "-",
            1263cf8bd956d7e705ce938529117f0c5e0d41b0, 23952,
            d64960c5be05025b269b7c4ca0392240a4035073, package_extract_file("patch/system/framework/core-junit.odex.p"));
set_progress(0.208876);
apply_patch("/system/framework/core.jar", "-",
            15b775ef4b85c1876174caca28c1e2280aa6b7a1, 22926,
            f09adc976b1a6decfb6185fd853d80a329f2b949, package_extract_file("patch/system/framework/core.jar.p"));
set_progress(0.209816);
apply_patch("/system/framework/core.odex", "-",
            a893674677dd85c6c588b3c24efbe50bc6453ed2, 4812424,
            07a9d84671aa885cb7aedc869083c50595e9a9e0, package_extract_file("patch/system/framework/core.odex.p"));
set_progress(0.407147);
apply_patch("/system/framework/ext.jar", "-",
            ee305b7bea23e474c41f11d6598eaadc61cee847, 313,
            702af1d3fadad40dc096a99c6e0748b74e58e028, package_extract_file("patch/system/framework/ext.jar.p"));
set_progress(0.407159);
apply_patch("/system/framework/ext.odex", "-",
            bbe7a6e69961b6832dcbc18c0146966b0c998a58, 1391032,
            4677bac7e379add98a0a3b5d3bc7354b93b874e8, package_extract_file("patch/system/framework/ext.odex.p"));
set_progress(0.464198);
apply_patch("/system/framework/framework.jar", "-",
            59bb20f295ee5336b53f2a8fe410234357527b4f, 12406,
            309c7537a5481e5f77a5881a7851584f832a3f77, package_extract_file("patch/system/framework/framework.jar.p"));
set_progress(0.464706);
apply_patch("/system/framework/framework.odex", "-",
            9255d4daa1ec5c32d777b75bcad0fc9da2439231, 8790600,
            46363ae3d227a95bf21260ae409e599ebf4d8c0e, package_extract_file("patch/system/framework/framework.odex.p"));
set_progress(0.825159);
apply_patch("/system/framework/ime.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/ime.jar.p"));
set_progress(0.825172);
apply_patch("/system/framework/ime.odex", "-",
            6d1860658caf8baf80042a6d52fd123521fb407e, 6608,
            2e33c16d11ef621df709e4d4ba1b47cf99c25e60, package_extract_file("patch/system/framework/ime.odex.p"));
set_progress(0.825442);
apply_patch("/system/framework/input.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/input.jar.p"));
set_progress(0.825455);
apply_patch("/system/framework/input.odex", "-",
            83e30188f4a35d2c2c147e3023cfecdd87b4bcc9, 4296,
            cfa5e18d1d6b1d0bee6023f00a15c05c99399cd0, package_extract_file("patch/system/framework/input.odex.p"));
set_progress(0.825631);
apply_patch("/system/framework/javax.obex.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            677840b1ac49b69bc0263deb642ee06f3f084a1b, package_extract_file("patch/system/framework/javax.obex.jar.p"));
set_progress(0.825644);
apply_patch("/system/framework/javax.obex.odex", "-",
            72cba392af3953a34b6bf5772f4ed8a0a39fed19, 60488,
            c152da6536c444cf3f6e9432dcbc5c1a395043b4, package_extract_file("patch/system/framework/javax.obex.odex.p"));
set_progress(0.828125);
apply_patch("/system/framework/monkey.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/monkey.jar.p"));
set_progress(0.828137);
apply_patch("/system/framework/monkey.odex", "-",
            825ccbcfdd9ac1f18f9c67ffe4cd3adea93a61b4, 89512,
            9f25f3ef6bb985fb9923eb7bcfa9bf7f8414a1cb, package_extract_file("patch/system/framework/monkey.odex.p"));
set_progress(0.831808);
apply_patch("/system/framework/pm.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/pm.jar.p"));
set_progress(0.831821);
apply_patch("/system/framework/pm.odex", "-",
            6df1ecd017aeb8d248eec68747e465519ce56b83, 28312,
            d719092ed1ff7c91c4a71b80004c69ed07c99e4f, package_extract_file("patch/system/framework/pm.odex.p"));
set_progress(0.832982);
apply_patch("/system/framework/services.jar", "-",
            7b0c8922cf3bb493f5588391f0542afa2e3ee94c, 313,
            cd0920eff07a79396ee4808941ae0c7f0c36a74e, package_extract_file("patch/system/framework/services.jar.p"));
set_progress(0.832994);
apply_patch("/system/framework/services.odex", "-",
            b3263e8384f8c453c2945071c1ccfb12bac9a9a8, 1610496,
            b5a6cd3434490072c22ecde92b0ed0c2175b4d94, package_extract_file("patch/system/framework/services.odex.p"));
set_progress(0.899032);
apply_patch("/system/framework/sqlite-jdbc.jar", "-",
            901a98d7a254dff3925cdcbb32b8e85b27d05bcc, 313,
            e8770c63423d99f0caf23962a273daaf59b87682, package_extract_file("patch/system/framework/sqlite-jdbc.jar.p"));
set_progress(0.899044);
apply_patch("/system/framework/sqlite-jdbc.odex", "-",
            71b10f035d04cca1746bbc9fc171140cecb9ef2d, 147520,
            b716f10ab5bc5344d0a7d7151b3b11dea7b333c6, package_extract_file("patch/system/framework/sqlite-jdbc.odex.p"));
set_progress(0.905093);
apply_patch("/system/framework/svc.jar", "-",
            e78e5f789d6fbee5053efb35f03fb73396ca7db1, 313,
            01bcc49256af28402c0c0452d9c1a9c932f93566, package_extract_file("patch/system/framework/svc.jar.p"));
set_progress(0.905106);
apply_patch("/system/framework/svc.odex", "-",
            3af7859a3a94be7f477322c17344cccaed632192, 8288,
            b7e41d374e17280f184435dae8e003125545c040, package_extract_file("patch/system/framework/svc.odex.p"));
set_progress(0.905446);
apply_patch("/system/media/theme/default.mtz", "-",
            91ec077e5ddabfdc0e34efa0fbc8f26a6cf16b16, 1893270,
            beab435b52ecb4f0bc1fdbcd9a6487ff3e5badf1, package_extract_file("patch/system/media/theme/default.mtz.p"));
set_progress(0.983078);
apply_patch("/system/xbin/openvpn", "-",
            65333dc8049dd666fae67334a309e5aea0938e27, 355316,
            5c914297ca82e7a908683f9d0020d0bede588651, package_extract_file("patch/system/xbin/openvpn.p"));
set_progress(0.997648);
apply_patch("/system/xbin/oprofiled", "-",
            10dc2f1a21ecc0771c9e846d7c72dd9aea5971c9, 57364,
            5a39483cfcff4b88e75dcd183354d44d9e02afed, package_extract_file("patch/system/xbin/oprofiled.p"));
set_progress(1.000000);
show_progress(0.100000, 10);
ui_print("Symlinks and permissions...");
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 2000, 06750, "/system/bin/run-as");
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_recursive(0, 2000, 0755, 0750, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
set_perm_recursive(0, 0, 0755, 0644, "/system/vendor/firmware");
set_perm(0, 2000, 0755, "/system/vendor/firmware");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
set_perm(0, 0, 06755, "/system/xbin/apply_firewall");
set_perm(0, 0, 06755, "/system/xbin/apply_theme");
set_perm(0, 0, 06755, "/system/xbin/dumplog");
set_perm(0, 0, 06755, "/system/xbin/librank");
set_perm(0, 0, 06755, "/system/xbin/mv2sd");
set_perm(0, 0, 06755, "/system/xbin/ota");
set_perm(0, 0, 06755, "/system/xbin/procmem");
set_perm(0, 0, 06755, "/system/xbin/procrank");
set_perm(0, 0, 06755, "/system/xbin/run_as");
set_perm(0, 0, 06755, "/system/xbin/su");
unmount("/system");
