#!/sbin/sh

export PACKAGES=/data/system/packages.xml
export PACKAGES_BACKUP=/data/system/packages-backup.xml

export OUTFD="/proc/self/fd/$2"

if [ ! -f $PACKAGES ]; then
    echo "ui_print ERROR: packages.xml not found. Exiting..." > $OUTFD
    echo "ui_print" > $OUTFD
    exit 0
fi

echo "ui_print Backing up packages.xml..." > $OUTFD
echo "ui_print" > $OUTFD
cp $PACKAGES $PACKAGES_BACKUP

media_cert_makorn="3082041e30820306a003020102020900b690e0555f5c4d89300d06092a864886f70d01010b05003081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d301e170d3138303830343132313734335a170d3435313232303132313734335a3081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100dfc0a870b39b17a349ea4f1c92abba63cc3c88e43e7298f70f14c555e32cf168d34373dea294fad2affa036028fc588fefcad5e4fe0aa75ebdb259207bf8b3a7f53d194a1545743d6d7f1c9bea231aa633927787d4637a5e266342f472b12f4a1cb7e996f392407b1bd6aedffcbd63b9cecf9006d31e326762ba1b4643ee24c38c90e8a643f5b3932c02e943b37a5414ca92217b4c9f6671c132799bc4f239c2519a16c7b87920e776c66fd5e1fdd70907676cbef8f48a4e9adaad3be9133d4c4ac566bec01292ccd333094387c2d9fceb63abd84da2836dc26b783e1f7ec67da258ada8a1c45612a3ac5d2b386d6e8062db489e7eb43b1f71d8981f23ee31fb0203010001a3533051301d0603551d0e04160414c59a8cfcfd3c5404bf0d770eff38c1ce5fd14062301f0603551d23041830168014c59a8cfcfd3c5404bf0d770eff38c1ce5fd14062300f0603551d130101ff040530030101ff300d06092a864886f70d01010b050003820101004ecc91043dc03cc47a426bdb8a62bbe6daebfc766a5c79c08e593a53100541b678111ff14c551b21497631e37a7a95ba146bf9ea609ae85dee20483a525b7b7871bc3758f662dfcf66729f047e55be06d91175148b7a33698865160dd5d9b4ef986c2b26854a93f88e996138dec750bc72ec8272cac0f031c01245285faa994cef436c3f50769fa57955ca301b4865b6a36845dd0936151e1a1a79b548a712257f7ccc651f8aabe8b826016ef215edd8543da56a855abf38f6fce2f71777f8188c2c2d6ba7e2b9ffc50df17a66d73afc5f58c398e2e7e29c8c5163cfc3ffeadd5dba313c85884fa2a54b08da02f1d09d2f6f18b6b961a75499ad1bfdccc3880b"
media_cert_release='308203b33082029ba003020102020900e1c286d5b6096213300d06092a864886f70d01010505003070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f53301e170d3137303130373034323132385a170d3434303532353034323132385a3070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f5330820122300d06092a864886f70d01010105000382010f003082010a0282010100cc818ef9a14c1ae3b79fb0805f59aff780e9a8b28bddf9c71703af8ffc15dc30a8439a6ebbfea3b2ca429cd07b1feb6a3b33446688964cf70f23e9637d91ef0a5654c2d4261487fdb9bb0b01abfd52f5edc2aec205a7849b0f66ac25d9e434a43e8a5cc75f11df6847c5f7d9fdad45ef0f6bf53f8c7bb73319e6a28bfee7e06e97d5d2b7d53c8cf2d2638ede5404dfd27cc39c7631c9a52eb632f79cb108b50d0e136bd639d19b4f05e5c840680a0241b86fd702c2c44b2f196e306eac2dc40066f1ea1e43496b1ba4c85fedfd68374064f139a5630dde0c84a0e9dbb7f953562fe400ff02bcc6aadfda63fd572e473da83e22bf21c1421fefb3c3707d5a97630203010001a350304e301d0603551d0e04160414fbc481032a0bed6d36b8d11d46e0ef18ebfc06b2301f0603551d23041830168014fbc481032a0bed6d36b8d11d46e0ef18ebfc06b2300c0603551d13040530030101ff300d06092a864886f70d010105050003820101007dd63789ed7427ca371673242b6c5f7fb669bcb6f681ad833e413bcba56be119df42ae035681d806a7c6fb8db17a09120b7dcde5b28752466e6afaf57339f6d9d6ef74f687535021e7c33c0c8c99bd10bcd587c2856b8ba1318ea9616aee74b6d60efd15a59014c190b9c8bb79ad942db520ff0c2fd7ebef7f68424ab9a375f7768a24a8c0f954de6c31c3880d87ec8e518daf51466a78c3182e8fcfe5774e217309b27e6110f84f0bbe89d15d21d77c4c269e14e9d88619145fdf43aa17b54388006cb8bf648001951bc5a1f2b308f6f5b1c929fa522406a84b253c3032187fa5480aaf3de4eba86b2bc43371b5eb2bf26f1ce17ab4413a5793087e41c10f05'
platform_cert_makorn="3082041e30820306a003020102020900c727594da05a0e24300d06092a864886f70d01010b05003081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d301e170d3138303830343132313734335a170d3435313232303132313734335a3081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100cb935109c508c535d6a6f8bb8032780e852ba9e043c68b63ea658c1448de54409ccc46ea99027ffbee954ed82a32f7a770a34818e0b3be0f8787e6591f1a39dba0adff58bd65f3940dddb053627ee322aa5d5fcee83058fc2de64fbbf98c237af075e95bce96d1856ed02cdbe3dcbb7f7bd0d7982dc5f1d3a4f72a6b1bbc3e71c32470d9be2e913de83c2dd6a4090da33c3547109bedc6a16811840bd5ed0999ce5473b03424452ee983dad5ab3a47e54ec25738cc465cea6c8b91533270f73b190b782ed5f2a814db5ff353ccc975e82c8c72f68df109d76d0b578d4ec249cc42745586d3e251d1abbec00c3be8ac8835b285609afc1ff7e91e51eb8c0432d30203010001a3533051301d0603551d0e041604147281bcb2a412bec4e862392c49763abef4c640d7301f0603551d230418301680147281bcb2a412bec4e862392c49763abef4c640d7300f0603551d130101ff040530030101ff300d06092a864886f70d01010b050003820101001e7ec4b4760881b46184efc79bf6c857e559f9242b4b705ca9d1695a10f68e961afa5394a67dfcea0704c522359f2ff2d29ee2147f80a852a83324e944221864e447492110788605fb609459e45da71cc7a742716d74f1e0fa5b7d2f1e47559a1ebd3229c070dd431ef5580be6f1a60edfa98447e73930726855d7301a9a9a19675bcdfafee695480f0be62fe930c3c11bc490aad3a4737350b7458e9e4c71b08c9fa9b227be4e9284d7021c29c3aa6fe71e23882202779c0b1618b8d50bb42804d1f12916b41029aeba6e6c9418e4e627f04080a2fbdfd06ec1656cee739426ce57fd74cfe0cabd7523c5caebf452a1a39df0bae425f0790495c3aeb82ba3e1"
platform_cert_release='308203b33082029ba003020102020900d94a816d624a0050300d06092a864886f70d01010505003070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f53301e170d3137303130373034323132365a170d3434303532353034323132365a3070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f5330820122300d06092a864886f70d01010105000382010f003082010a02820101009a41d7715c8ce053804b1260bbad6c332def57bfd3d26b26102d8892ce9a3d0b780b3bf4cfc5778303470110cde8f6be1766147128731ec202977b62f1b4ae9b0e331a334a27c84c31b5885c4bd4650423cae821c7e08522515f63a9d3667f8c8b33cc9c322704e4645e37b13a50a8d04d3b04dcd0e1a87efbc32e7172f296df8ea33fcb071f9868d91a462e894fe49670ae27354dbfd14a83a23e6c775ae40761c91e416b042ceff81cf66d9e4d73c4bce7e14d6347dcbeab38820316be81decda9a7d5de8da71f1fe0e64a570da004279a6ea2628de4a839a7fdd9baa2d1c5445c6a6e7ed1949a18cd5a23cf602d7dd3d8cf17c953aa525454f17eaef84ea50203010001a350304e301d0603551d0e04160414609957d0ee9881d4d84690e80386c723b738d223301f0603551d23041830168014609957d0ee9881d4d84690e80386c723b738d223300c0603551d13040530030101ff300d06092a864886f70d0101050500038201010063e903bdcb6ee9c7767a170080caccea08a96d7f732fecdd261acdab1f651c701593051408ef0aec2de88fd7e8e7502815cc04a8b47ce35fba0179d0a3f0e7c7e0fc94cce049c34f3601e525b1b92ab19a2618749da33921b090321cff9f146eab1abd9166021a022f003e1034d0c7ba2e3937cfcd75700575fc9d542643924b4d869716eec2c226b1947bc11fe3cd45e3ba27bd52724e30fb69174d6d87199baa425642ab5b2da659ed9da32809311cbc217d1a72f60e8257a191083f210a909507fa08ce8a467b0434fee41a9c068ad0ada084ca87290f0c70b7f16e0d22a31a5dda2a0de059e63257126191a55523d714096582028e99b089b213e71467b2'
shared_cert_makorn="3082041e30820306a003020102020900acaa301f6ec4fd2e300d06092a864886f70d01010b05003081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d301e170d3138303830343132313734335a170d3435313232303132313734335a3081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d30820122300d06092a864886f70d01010105000382010f003082010a028201010093d2e7191f01ab1b07e00f6b8fe2ff6d017593bb400a96891a90dde7d2b24b02e80dd72e35fb70da331c4b9591af799029ceffa249eb19fe8edfcd0c63cfe885efaba43673562b41fb542d51111d41db304cb1b9fb43e5eaf9bb139af9f9bf380208690001b3c2dde870238420530c4fbe165427ca0208424b47e0a6722b09f31023547aa1adbdae125297fc22fcd0e6a4a60b55b1dedfea6675d2344da214790989646557539c5363fb1bd9e77e2f8d115cbb1937cf10a0ec25f8b9b093f1bebbe74912c276fb363bcab1baa3e5fbb96796aea37ff58f0a40a7662e2f98a9f40a753997ed962a8a3fa2462b1ffc5d2abe05dbd0d3f17f4c4450a30e9d4937ab0203010001a3533051301d0603551d0e0416041471f44614f991ecfd9f22cf94b0d582f353818350301f0603551d2304183016801471f44614f991ecfd9f22cf94b0d582f353818350300f0603551d130101ff040530030101ff300d06092a864886f70d01010b0500038201010046e769e169c2d6e8736eca6bf9394bbab349c27a6a3ea8503e12123ce35b1dfec1ebc5a80a5f7efb3cfbdb881508aaae7d78909790ef00bc23af7e9cd182fee8c99dfa0fb3834fdc36ddfde3e0f480eddb6ca5b209ea31721d318aa27def881f47baafe434a78436c56745218d9e0b0946653daa5a9c33b19ac4bceab948082b759a1b0e083b85abb57fe7aef18fecccee9935e240d13a5d51f9d5c9b7d4510a63b8b988c41d5672749f7ebf597c98b8bd871f2d53b2ab8439c206efa9a7706f4431a0fd7a88187eee940e2d126b1b7b9b77a39be7c20b2c6b1f6fa4f48907f10db620d7148998085e9ec5daf57506372f8b36898b403019daa639c73c23d4e7"
shared_cert_release='308203b33082029ba003020102020900dacb4739a1727e6e300d06092a864886f70d01010505003070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f53301e170d3137303130373034323132375a170d3434303532353034323132375a3070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f5330820122300d06092a864886f70d01010105000382010f003082010a028201010096f2f8f3dad19ee79f28256693ce970bda272f72025b4c4a6c20e027a921622530e1b780f9117c98f10b910259005a27da5020d9345844acec3da13ee0d684e067958a23dfc751ec497f5e3f3b13023c5428edc53aadbc44c10bfa84abd436bf13f8222ebf724f7e2e557e81effe21faa52b88899108cd62b7d5a84821576ed2edf50b83324a93439185b078711974395763265f7465b6bb908b0139489707cd4e76e4937545751f6b9c90d7b4bd17a234613d0919ca66e34d78906d5eaa43409e7c57d74266996f2e3f1d5a6061b65fb19f85c62829a8b3978541e64b3fa4f9febcbf5b291eaa433774c45749f73e12d377b9f9b0dfd0d7d8003a78c144a2f50203010001a350304e301d0603551d0e04160414b4dc1c6737cee40f786a398c8bb345d8a8eecbc2301f0603551d23041830168014b4dc1c6737cee40f786a398c8bb345d8a8eecbc2300c0603551d13040530030101ff300d06092a864886f70d010105050003820101002002b4557df909ace023d050f6c739b57ef311ce39abffda1b74161a71554ab78fd23b2b4b57d8c31e646f71f9063e1486a0502da00cfe4d87c4a75dd1eec6416b4460adace72a1cde79ea39f95e4fa3eb1777b9c2f080438298b963d21b54aa3aa7fc6f1b9717333c7b5244ac7862f07c34f443a72462141742f309f51e349fe21b21affcb5369c8723eef2ad2f1452b6bce685337a2751d3bd33eabece08bd62ed6801e6e331eaba7ae0a6dfb632a4fe184141013869bbdbd0d564a44091349890e178f755d14d08d6d868e4abdaa27759fcd576b1f2026db630d11639fd9672d54f0c15b03dc754c5c11ff168d3dd6b2dc7b58e7f47f472f684c41c87bd9e'
makorn_cert="3082041e30820306a003020102020900b7fca4984fd07526300d06092a864886f70d01010b05003081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d301e170d3138303830343132313734335a170d3435313232303132313734335a3081a3310b30090603550406130254483113301106035504080c0a4e6f6e746861627572693111300f06035504070c0850616b204b72657431123010060355040a0c096d616b6f726e36343531123010060355040b0c096d616b6f726e3634353112301006035504030c096d616b6f726e3634353130302e06092a864886f70d01090116216d616b6f726e746861776174657567656e65656d65727940676d61696c2e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100b1708326a0149c9df8f820da1b268851ebeda88e92dca79d8cd4d38562f12c720321039ebf0bde1e425add7535d1700f8917c124e3c2a5791bba8c905c245f17025a8ff50a936bd3991bdbca8d2813c932fb283cd99121c5919a5e4f23c0ad683859c92df9b9ad2a4bc7524c3f80f2748fb21132a5513874e272ee4556d0e156e651b7ed27a387843ab621ea8233ee06a108a1de824138184f250c35b1189f93ef3985cce3de1f0973aed3012dd951ac9114cc257bdff29a7d3cc4ff810e32a3b1ea04823cc0084e848fb979d4f080e1886bd1daa3c1488878d2652e5994090728998c3cbce28dec27338532f5f1ee81461741e3594407e455e4e1048618c63b0203010001a3533051301d0603551d0e04160414a54126c592d0272f08a7d7838f16ce9f4356be62301f0603551d23041830168014a54126c592d0272f08a7d7838f16ce9f4356be62300f0603551d130101ff040530030101ff300d06092a864886f70d01010b0500038201010007269060fcd4a883f5b26e1c3961e522764610f015d5cfd262452ca28189e847ba836019fd11973916afd3f4a7d5a4f5430140b3ce1fc1827c59bbae2e67c2367e70f53217c1f3c4f9231a0efc0022088ba0b32e45a0045794574f44e3f2abdb6b3a11e3d21380d8b90442105224cb8acade5af51ad13892ef7f4d09f186c3353bcef3ccb0a9718dadcb4c59e5e22ae46fcb2de3f02c559559d71f140e60024d7dd17dd4ed333b1d255487b7f487d2b528ba34fb7fd0d8128ea63b6c262942be36ea193efe941af413c0e3068d87e3cfdde9169226e0887c60c8ad8a0608f2adbaa70675420af78457cbfc1cc11862ca18dbcc5a87dbc86ba362d777c8b3515c"
release_cert='308203b33082029ba003020102020900e10413c773c3c54f300d06092a864886f70d01010505003070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f53301e170d3137303130373034323132355a170d3434303532353034323132355a3070310b30090603550406130255533113301106035504080c0a57617368696e67746f6e3110300e06035504070c0753656174746c6531123010060355040a0c094c696e656167654f5331123010060355040b0c094c696e656167654f533112301006035504030c094c696e656167654f5330820122300d06092a864886f70d01010105000382010f003082010a0282010100a64dd3e1f842038ff03f67b8e9bf09530fc2913cb53e3654c78ec20dbc8b1e7113628ca5abc0860560cb442c1b51f98b6dce5e59c49037f27f64f48aef0490ab99106f0807a2130e1a8b3aacd834e656f0854b602677b66c007b14c2d0c28d0dc61341de648d879db59a9e79e12888731a3bb1c61fb58f725ac071de12b61093decc5685ac2474cee2cf22f0e44bf208410d91c5d1f60aa7945548822bad756a70e0fe17c83f35e5fa59be4dd2b446048f9b42332186ff0aa47ed39c210de9fd981c55719ec8f30caac4415c21605f13f57d0ecdf0682c484e9456748debe80e2f2e0b1cf47fb95d92fff4673e16f63781f3b2c7cd4b904041abeb5df85059990203010001a350304e301d0603551d0e0416041472963227d66c4c4d5fa0916ac22c793cd45f435c301f0603551d2304183016801472963227d66c4c4d5fa0916ac22c793cd45f435c300c0603551d13040530030101ff300d06092a864886f70d010105050003820101008a247e01c9c72e7167dec24993f23f539c07618c2819ee4d3eae96d283173aebe112469405c4c48052ef1ec72f2949ac0677b49eac5055bea2fe75a8dd3dfc8b3ccf88fb10c4a0c2779dc2861e80b445128c18485ce2b4b4f74ff0389247659b5386572374d0f9bf26ccc261e783397ca3808d5a19de26f8db84d92ac6872b0bdbc60ac768e4ac74d142e7f2c5d5c1cabbca5d1baadb923252b19ba0950370d556707c37c399c936a67e08fd1748cea5656d8add7fa2177ed630796d8de0fae9570b274a04590984d5c065fe307a5346eb54962e41f580d1a448463112e2d5f491a39bb9f9a2a0cac5855c28a35fbdb1ad4a6aeab2aea2f9056e73fc487737eb'

media_key_makorn="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA38CocLObF6NJ6k8ckqu6Y8w8iOQ+cpj3DxTFVeMs8WjTQ3PeopT60q/6A2Ao/FiP78rV5P4Kp169slkge/izp/U9GUoVRXQ9bX8cm+ojGqYzkneH1GN6XiZjQvRysS9KHLfplvOSQHsb1q7f/L1juc7PkAbTHjJnYrobRkPuJMOMkOimQ/WzkywC6UOzelQUypIhe0yfZnHBMnmbxPI5wlGaFse4eSDndsZv1eH91wkHZ2y++PSKTprarTvpEz1MSsVmvsASkszTMwlDh8LZ/Otjq9hNooNtwmt4Ph9+xn2iWK2oocRWEqOsXSs4bW6AYttInn60Ox9x2JgfI+4x+wIDAQAB"
media_key_release='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzIGO+aFMGuO3n7CAX1mv94DpqLKL3fnHFwOvj/wV3DCoQ5puu/6jsspCnNB7H+tqOzNEZoiWTPcPI+ljfZHvClZUwtQmFIf9ubsLAav9UvXtwq7CBaeEmw9mrCXZ5DSkPopcx18R32hHxffZ/a1F7w9r9T+Me7czGeaii/7n4G6X1dK31TyM8tJjjt5UBN/SfMOcdjHJpS62MvecsQi1DQ4Ta9Y50ZtPBeXIQGgKAkG4b9cCwsRLLxluMG6sLcQAZvHqHkNJaxukyF/t/Wg3QGTxOaVjDd4MhKDp27f5U1Yv5AD/ArzGqt/aY/1XLkc9qD4ivyHBQh/vs8NwfVqXYwIDAQAB'
platform_key_makorn="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy5NRCcUIxTXWpvi7gDJ4DoUrqeBDxotj6mWMFEjeVECczEbqmQJ/++6VTtgqMvencKNIGOCzvg+Hh+ZZHxo526Ct/1i9ZfOUDd2wU2J+4yKqXV/O6DBY/C3mT7v5jCN68HXpW86W0YVu0Czb49y7f3vQ15gtxfHTpPcqaxu8PnHDJHDZvi6RPeg8LdakCQ2jPDVHEJvtxqFoEYQL1e0Jmc5Uc7A0JEUu6YPa1as6R+VOwlc4zEZc6myLkVMycPc7GQt4LtXyqBTbX/NTzMl16CyMcvaN8QnXbQtXjU7CScxCdFWG0+JR0au+wAw76KyINbKFYJr8H/fpHlHrjAQy0wIDAQAB"
platform_key_release='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmkHXcVyM4FOASxJgu61sMy3vV7/T0msmEC2Iks6aPQt4Czv0z8V3gwNHARDN6Pa+F2YUcShzHsICl3ti8bSumw4zGjNKJ8hMMbWIXEvUZQQjyughx+CFIlFfY6nTZn+MizPMnDInBORkXjexOlCo0E07BNzQ4ah++8MucXLylt+Ooz/LBx+YaNkaRi6JT+SWcK4nNU2/0UqDoj5sd1rkB2HJHkFrBCzv+Bz2bZ5Nc8S85+FNY0fcvqs4ggMWvoHezamn1d6Npx8f4OZKVw2gBCeabqJijeSoOaf92bqi0cVEXGpuftGUmhjNWiPPYC1909jPF8lTqlJUVPF+rvhOpQIDAQAB'
shared_key_makorn="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk9LnGR8BqxsH4A9rj+L/bQF1k7tACpaJGpDd59KySwLoDdcuNftw2jMcS5WRr3mQKc7/oknrGf6O380MY8/ohe+rpDZzVitB+1QtUREdQdswTLG5+0Pl6vm7E5r5+b84AghpAAGzwt3ocCOEIFMMT74WVCfKAghCS0fgpnIrCfMQI1R6oa29rhJSl/wi/NDmpKYLVbHe3+pmddI0TaIUeQmJZGVXU5xTY/sb2ed+L40RXLsZN88QoOwl+Lmwk/G+u+dJEsJ2+zY7yrG6o+X7uWeWrqN/9Y8KQKdmLi+YqfQKdTmX7ZYqij+iRisf/F0qvgXb0NPxf0xEUKMOnUk3qwIDAQAB"
shared_key_release='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlvL489rRnuefKCVmk86XC9onL3ICW0xKbCDgJ6khYiUw4beA+RF8mPELkQJZAFon2lAg2TRYRKzsPaE+4NaE4GeViiPfx1HsSX9ePzsTAjxUKO3FOq28RMEL+oSr1Da/E/giLr9yT34uVX6B7/4h+qUriImRCM1it9WoSCFXbtLt9QuDMkqTQ5GFsHhxGXQ5V2MmX3RltruQiwE5SJcHzU525JN1RXUfa5yQ17S9F6I0YT0JGcpm4014kG1eqkNAnnxX10JmmW8uPx1aYGG2X7GfhcYoKaizl4VB5ks/pPn+vL9bKR6qQzd0xFdJ9z4S03e5+bDf0NfYADp4wUSi9QIDAQAB'
makorn_key="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsXCDJqAUnJ34+CDaGyaIUevtqI6S3KedjNTThWLxLHIDIQOevwveHkJa3XU10XAPiRfBJOPCpXkbuoyQXCRfFwJaj/UKk2vTmRvbyo0oE8ky+yg82ZEhxZGaXk8jwK1oOFnJLfm5rSpLx1JMP4DydI+yETKlUTh04nLuRVbQ4VbmUbftJ6OHhDq2IeqCM+4GoQih3oJBOBhPJQw1sRifk+85hczj3h8Jc67TAS3ZUayRFMwle9/ymn08xP+BDjKjseoEgjzACE6Ej7l51PCA4Yhr0dqjwUiIeNJlLlmUCQcomYw8vOKN7CczhTL18e6BRhdB41lEB+RV5OEEhhjGOwIDAQAB"
release_key='MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApk3T4fhCA4/wP2e46b8JUw/CkTy1PjZUx47CDbyLHnETYoylq8CGBWDLRCwbUfmLbc5eWcSQN/J/ZPSK7wSQq5kQbwgHohMOGos6rNg05lbwhUtgJne2bAB7FMLQwo0NxhNB3mSNh521mp554SiIcxo7scYftY9yWsBx3hK2EJPezFaFrCR0zuLPIvDkS/IIQQ2RxdH2CqeUVUiCK611anDg/hfIPzXl+lm+TdK0RgSPm0IzIYb/CqR+05whDen9mBxVcZ7I8wyqxEFcIWBfE/V9Ds3waCxITpRWdI3r6A4vLgsc9H+5XZL/9Gc+FvY3gfOyx81LkEBBq+td+FBZmQIDAQAB'

echo "ui_print Updating /data/system/packages.xml..." > $OUTFD
echo "ui_print" > $OUTFD

sed -i "s#$media_cert_makorn#$media_cert_release#g" $PACKAGES
sed -i "s#$platform_cert_makorn#$platform_cert_release#g" $PACKAGES
sed -i "s#$shared_cert_makorn#$shared_cert_release#g" $PACKAGES
sed -i "s#$makorn_cert#$release_cert#g" $PACKAGES
sed -i "s#$media_key_makorn#$media_key_release#g" $PACKAGES
sed -i "s#$platform_key_makorn#$platform_key_release#g" $PACKAGES
sed -i "s#$shared_key_makorn#$shared_key_release#g" $PACKAGES
sed -i "s#$makorn_key#$release_key#g" $PACKAGES

echo "ui_print Setting correct file owner and permissions..." > $OUTFD
echo "ui_print" > $OUTFD

chmod 660 $PACKAGES
chown system:system $PACKAGES

echo "ui_print File updating complete. Flash an officially signed LineageOS build now!" > $OUTFD
echo "ui_print" > $OUTFD
exit 0
