getprop("ro.product.device") == "msm8909" || abort("E3004: This package is for \"msm8909\" devices; this is a \"" + getprop("ro.product.device") + "\".");
ui_print("Source: qcom/msm8909/msm8909:7.1.2/017/t470p11121715:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/017/t470p11121715:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/017/t470p11121715:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/015/t470p07271143:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16209192:6e43d6329096280af50c79e4ac6ec64facf42cde:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16209192:6e43d6329096280af50c79e4ac6ec64facf42cde:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed\" has unexpected contents.");
apply_patch_space(33554432) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "3920,1,80,81,307,575,938,939,941,1273,1279,1317,1480,1570,1836,1837,1838,1839,2055,3161,3163,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3182,3287,3288,3289,3290,3291,3384,3385,3386,3392,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3419,3436,3437,3438,3439,3440,3450,3451,3452,3504,3505,3506,3507,3508,3520,3521,3522,3524,3525,3526,3527,3528,3538,3539,3540,3552,3553,3554,3555,3556,3592,3593,3594,3601,3602,3603,3604,3605,3648,3649,3650,3674,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3783,3793,3794,3795,3796,3797,3798,3799,3800,3877,3878,3879,3880,3881,4114,4115,7001,7002,7003,7005,7006,7007,7008,7009,7018,7019,7020,7026,7027,7028,7029,7030,7058,7059,7060,7123,7124,7125,7126,7127,7195,7196,7197,7203,7204,7205,7206,7207,7236,7237,7238,7242,7243,7244,7245,7246,7267,7268,7269,7271,7272,7273,7274,7275,7283,7284,7285,7289,7290,7291,7292,7293,7311,7312,7317,7318,7319,7320,7332,7333,7334,7337,7338,7339,7340,7341,7356,7357,7358,7362,7363,7364,7365,7366,7379,7380,7381,7382,7383,7384,7450,7461,7462,7463,7464,7465,7466,7467,7476,7478,7479,7480,7481,7483,7484,7485,7486,7487,7488,7489,7538,7547,7548,7549,7550,7551,7552,7553,7607,7617,7618,7619,7620,7621,7622,7623,19573,19575,20848,20849,20892,20893,20923,20924,21252,21253,22221,22255,22829,22830,22935,22936,23228,23229,23441,23442,24362,24365,24366,24367,24433,24434,24435,24436,24602,24603,24747,24748,24921,24922,25093,25094,25454,25455,25472,25714,25717,25718,25727,25728,25729,25730,25747,25748,25769,25770,25879,25880,25918,25919,25922,25923,25934,25935,26401,26402,26403,26404,26426,26427,26448,26449,26688,26689,27801,27802,28098,28099,28217,28218,28695,28696,28697,28698,29223,29224,29239,29240,29271,29272,29333,29334,29340,29341,32750,32751,32768,32770,32849,32850,65536,65537,74222,74956,74957,78521,84212,85049,85759,85839,85840,85841,85842,85843,85844,85950,85951,85952,85953,85977,85978,85979,85980,85981,85982,85992,85993,85994,85995,86142,86143,86144,86145,86146,86147,87015,87016,87017,87018,87019,87020,87021,87022,87056,87057,87064,87065,87066,87067,87068,87069,87070,87071,87103,87104,87158,87159,87194,87195,87196,87197,87198,87199,87200,87201,87202,87203,87204,87205,87206,87207,87208,87209,87210,87211,87212,87213,87214,87215,87216,87217,87218,87219,87220,87221,87222,87223,87224,87225,87226,87227,87228,87229,87230,87231,87387,87388,87496,87497,87640,87641,87742,87743,87933,87934,88093,88094,88157,88158,88306,88307,88511,88512,88606,88607,88761,88762,88824,88825,88826,88827,88828,88829,88830,88831,88832,88833,88834,88835,88836,88837,88846,88847,88848,88849,88851,88852,88853,88854,88881,88882,88883,88884,88910,88911,88912,88913,88940,88941,88942,88943,88955,88956,88957,88958,88966,88967,88968,88969,88973,88974,88975,88976,88982,88983,88984,88985,88986,88987,88988,88989,88991,88992,88993,88994,89003,89004,89005,89006,89007,89008,89009,89010,89011,89012,89013,89014,89015,89016,89017,89018,89096,89097,89098,89099,89100,89101,89102,89103,89104,89105,89106,89107,89108,89109,89110,89111,89113,89114,89115,89116,89117,89118,89119,89120,89156,89157,89158,89159,89195,89196,89197,89198,89199,89200,89201,89202,89203,89204,89205,89206,89207,89208,89210,89211,89213,89214,89215,89216,89217,89218,89219,89220,89221,89222,89223,89224,89225,89226,89227,89228,89229,89230,89231,89232,89233,89234,94655,94656,94657,94658,94659,94660,94661,94662,94663,94664,94665,94666,94670,94671,94674,94675,94679,94680,94684,94685,94689,94690,94691,94692,94693,94694,94697,94698,94699,94700,94701,94702,94703,94704,94705,94706,94707,94708,94709,94710,94711,94712,94713,94714,94715,94716,94717,94718,94719,94720,94721,94722,94723,94724,94725,94726,94727,94728,94729,94730,94731,94732,94733,94734,94735,94736,94737,94738,94739,94740,94741,94742,94743,94744,94745,94746,94747,94748,94749,94750,94751,94752,94753,94754,94755,94756,94757,94758,94759,94760,94761,94762,94763,94764,94765,94766,94767,94768,94769,94770,94771,94772,94773,94774,94778,94779,94784,94785,94786,94787,94910,94911,94912,94913,94914,94915,94916,94917,94918,94919,94920,94921,94922,94923,94925,94926,94927,94928,94930,94931,94932,94933,94935,94936,94937,94938,94940,94941,94942,94943,94945,94946,94947,94948,94950,94951,94952,94953,94955,94956,94957,94958,94959,94960,94961,94962,94963,94964,94965,94966,94972,94973,94974,94975,94976,94977,94983,94984,94985,94986,95067,95068,95069,95070,95071,95072,95458,95459,95460,95461,95463,95464,95465,95466,95467,95468,95474,95475,95476,95477,95482,95483,95484,95485,95486,95487,95504,95505,95506,95507,95537,95538,95539,95540,95541,95542,95561,95562,95563,95564,95574,95575,95576,95577,95578,95579,95602,95603,95604,95605,95606,95607,95608,95609,95611,95612,95613,95614,95618,95619,95620,95621,95623,95624,95625,95626,95628,95629,95630,95631,95633,95634,95635,95636,95638,95639,95640,95641,95643,95644,95645,95646,95648,95649,95650,95651,95654,95655,95656,95657,95659,95660,95661,95662,95665,95666,95667,95668,95670,95671,95672,95673,95683,95684,95685,95686,95687,95688,95689,95690,95691,95692,95693,95694,95695,95696,95701,95702,95703,95704,95705,95706,95713,95714,95715,95716,95738,95739,95740,95741,95742,95743,95788,95789,95790,95791,95805,95806,95807,95808,95809,95810,95826,95827,95828,95829,95830,95831,95832,95833,95846,95847,95848,95849,95851,95852,95853,95854,95856,95857,95858,95859,95861,95862,95863,95864,95866,95867,95868,95869,95871,95872,95873,95874,95876,95877,95878,95879,95881,95882,95883,95884,95886,95887,95888,95889,95891,95892,95893,95894,95901,95902,95903,95904,95906,95907,95908,95909,95910,95911,95912,95913,95914,95915,95916,95917,95918,95919,95924,95925,95926,95927,95928,95929,95936,95937,95938,95939,95943,95944,95945,95946,95947,95948,95955,95956,95957,95958,95959,95960,95961,95962,95964,95965,95966,95967,95969,95970,95971,95972,95974,95975,95976,95977,95979,95980,95981,95982,95984,95985,95986,95987,95989,95990,95991,95992,96100,96101,96102,96103,96104,96105,96106,96107,96108,96109,96110,96111,96112,96113,96114,96115,96116,96117,96118,96119,96120,96121,96122,96123,96131,96132,96133,96134,96142,96143,96144,96145,96146,96147,96154,96155,96156,96157,96164,96165,96166,96167,96168,96169,96170,96171,96172,96173,96174,96175,96184,96185,96186,96187,96188,96189,96205,96206,96207,96208,96210,96211,96212,96213,96215,96216,96217,96218,96220,96221,96222,96223,96228,96229,96230,96231,96233,96234,96235,96236,96237,96238,96239,96240,96245,96246,96247,96248,96249,96250,96260,96261,96262,96263,96288,96289,96290,96291,96292,96293,96379,96380,96381,96382,96445,96446,96447,96448,96449,96450,96601,96602,96603,96604,96619,96620,96621,96622,96623,96624,96643,96644,96645,96646,96647,96648,96649,96650,96955,96956,97020,97021,97022,97023,97110,97111,97774,97775,97780,97781,97786,97787,97797,97798,97811,97812,97827,97828,97856,97857,97867,97868,97905,97906,98178,98179,98180,98181,98182,98183,98184,98185,98258,98259,98302,98304,98306,98385,98386,104971,104972,124027,125633,125685,125686,125687,125688,130067,130070,130075,130076,130093,130094,130123,130124,131067,131068,131069,131070,131072,131073,163840,163842,163921,163922,164415,172777,196608,196609,197102,197103,229376,229378,229457,229458,231739,231761,231762,231780,231781,231801,231802,231818,231819,231822,231823,231826,231827,231829,231830,231833,231834,231837,231838,231841,231842,231846,231847,231849,231850,231852,231853,231856,231857,231860,231861,231863,231864,231883,231884,231902,231903,231936,231937,231956,231957,231975,231976,231994,231995,231998,231999,232001,232002,232013,232014,232020,232021,232034,232035,232045,232046,232062,232063,232084,232085,232103,232104,232122,232123,232141,232142,232145,232146,232152,232153,232158,232159,232162,232163,232166,232167,232170,232171,232174,232175,232179,232180,232184,232185,232188,232189,232193,232194,232197,232198,232202,232203,232207,232208,232220,232221,232225,232226,232238,232239,232258,232259,233289,233290,233293,233294,233300,233301,233320,233321,233324,233325,233328,233329,233341,233342,233346,233347,233352,233353,233357,233358,233361,233362,233365,233366,233374,233375,233395,233396,233412,233413,233416,233417,233422,233423,233428,233429,233436,233437,233440,233441,233448,233449,233455,233456,233457,233458,233465,233466,233484,233485,233490,233491,233495,233496,233501,233502,233513,233514,233520,233521,233526,233527,233537,233538,233543,233544,233545,233546,233547,233548,233549,233550,233554,233555,233557,233558,233564,233565,233568,233569,233576,233577,233580,233581,233610,233611,233624,233625,233649,233650,233686,233687,233713,233714,233758,233759,233783,233784,233795,233796,233824,233825,233851,233852,233864,233865,233866,233867,233870,233871,233873,233874,233876,233877,233880,233881,233884,233885,233892,233893,233895,233896,233900,233901,233910,233911,233915,233916,233921,233922,233926,233927,233932,233933,233936,233937,233941,233942,233946,233947,233954,233955,233960,233961,233964,233965,233970,233971,233975,233976,233979,233980,233985,233986,233990,233991,233995,233996,233999,234000,234006,234007,234010,234011,234016,234017,234023,234024,234027,234028,234038,234039,234041,234042,234047,234048,234052,234053,234068,234069,234072,234073,234077,234078,234083,234084,234089,234090,234095,234096,234101,234102,234106,234107,234109,234110,234116,234117,234123,234124,234130,234131,234135,234136,234143,234144,234150,234151,234154,234155,234161,234162,234168,234169,234176,234177,234180,234181,234191,234192,234195,234196,234207,234208,234211,234212,234216,234217,234222,234223,234228,234229,234235,234236,234244,234245,234250,234251,234258,234259,234263,234264,234266,234267,234271,234272,234277,234278,234283,234284,234291,234292,234299,234300,234303,234304,234312,234313,234314,234315,234322,234323,234330,234331,234337,234338,234394,234395,234417,234418,234425,234426,234435,234436,234443,234444,234452,234453,234465,234466,234477,234478,234488,234489,234501,234502,234510,234511,234519,234520,234530,234531,234541,234542,234550,234551,234559,234560,234564,234565,234572,234573,234583,234584,234594,234595,234605,234606,234657,234658,234666,234667,234675,234676,234691,234692,234696,234697,234710,234711,234719,234720,234763,234764,234777,234778,234794,234795,234804,234805,234813,234814,234842,234843,234855,234856,234866,234867,234880,234881,234891,234892,234903,234904,234918,234919,234930,234931,234948,234949,234955,234956,234960,234961,235002,235003,235013,235014,235023,235024,235035,235036,235046,235047,235054,235055,235064,235065,235076,235077,235088,235089,235093,235094,235103,235104,235113,235114,235124,235125,235132,235133,235141,235142,235156,235157,235185,235186,235196,235197,235219,235220,235278,235279,235293,235294,235299,235300,235344,235345,235358,235359,235374,235375,235390,235391,235397,235398,235411,235412,235423,235424,235436,235437,235445,235446,235457,235458,235468,235469,235496,235497,235575,235576,235587,235588,235598,235599,235610,235611,235619,235620,235642,235643,235650,235651,235661,235662,235671,235672,235690,235691,235734,235735,235744,235745,235757,235758,235765,235766,235802,235803,235849,235850,235858,235859,235864,235865,235873,235874,235894,235895,235901,235902,235903,235904,235906,235907,235909,235910,235912,235913,235916,235917,235919,235920,235922,235923,235925,235926,235929,235930,235934,235935,235937,235938,235941,235942,235944,235945,235947,235948,235950,235951,235954,235955,235957,235958,235961,235962,235963,235964,235965,235966,236028,236029,236030,236031,236032,236033,236043,236044,236045,236046,236087,236088,236089,236090,236091,236092,236311,236312,236313,236314,236347,236348,236349,236350,236351,236352,236587,236588,236589,236590,236598,236599,236600,236601,236602,236603,236616,236617,236618,236619,236651,236652,236653,236654,236655,236656,236663,236664,236665,236666,237274,237275,237276,237277,237278,237279,237363,237364,237365,237366,237432,237433,237434,237435,237436,237437,237531,237532,237533,237534,239489,239490,239491,239492,239493,239494,241019,241020,241021,241022,241169,241170,241171,241172,241173,241174,241864,241865,241866,241867,241874,241875,241876,241877,241878,241879,241880,241881,241882,241883,241895,241896,241897,241898,244486,244487,244488,244489,244490,244491,246855,246856,246857,246858,247341,247342,247343,247344,247345,247346,248241,248242,248243,248244,248401,248402,248403,248404,248405,248406,248682,248683,248684,248685,249668,249669,249670,249671,249672,249673,250259,250260,250261,250262,250268,250269,250270,250271,250272,250273,250283,250284,250285,250286,250299,250300,250301,250302,250303,250304,250338,250339,250340,250341,250347,250348,250349,250350,250351,250352,250363,250364,250365,250366,250426,250427,250428,250429,250430,250431,250437,250438,250439,250440,250674,250675,250676,250677,250678,250679,250836,250837,250838,250839,250886,250887,250888,250889,250890,250891,251024,251025,251026,251027,252706,252707,252708,252709,252710,252711,254018,254019,254020,254021,254031,254032,254033,254034,254035,254036,254087,254088,254089,254090,254126,254127,254128,254129,254130,254131,254132,254133,254134,254135,254191,254192,254193,254194,254199,254200,254201,254202,254203,254204,254227,254228,254229,254230,255644,255645,255646,255647,255648,255649,256698,256699,256700,256701,256704,256705,256706,256707,256708,256709,256722,256723,256724,256725,256731,256732,256733,256734,256735,256736,256752,256753,256754,256755,256767,256768,256769,256770,256771,256772,256852,256853,256854,256855,256856,256857,256858,256859,259257,259258,259259,259260,259303,259304,259305,259306,259307,259308,259425,259426,259427,259428,259431,259432,259433,259434,259435,259436,259447,259448,259449,259450,259511,259512,259513,259514,259515,259516,259605,259606,259607,259608,259741,259742,259743,259744,259745,259746,259992,259993,259994,259995,260006,260007,260008,260009,260010,260011,260054,260055,260056,260057,261114,261115,261116,261117,261118,261119,262031,262032,262033,262034,262035,262036,262037,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262061,262062,262063,262064,262065,262066,262075,262076,262077,262078,262135,262136,262137,262138,262139,262140,262141,262144,262145,262638,262641,262642,262643,262644,262645,262646,262647,262648,262649,262650,262652,262653,262659,262660,262665,262666,262741,262742,262745,262746,262751,262752,262753,262754,262755,262756,262757,262758,262759,262760,262761,262762,262768,262769,262770,262771,262792,262793,262816,262817,262818,262819,262830,262831,262874,262875,262926,262927,263246,263247,263354,263355,263356,263357,263365,263366,263371,263372,263384,263385,263399,263400,263443,263444,263457,263458,263503,263504,263515,263516,263623,263624,263940,263941,264039,264040,264077,264078,264107,264108,264127,264128,264136,264137,264321,264322,264464,264465,264475,264476,264493,264494,264503,264504,264638,264639,264645,264646,264675,264676,264706,264707,264896,264897,264903,264904,264910,264911,264916,264917,264921,264922,264935,264936,264944,264945,264949,264950,264980,264981,264998,264999,265029,265030,265084,265085,265102,265103,265133,265134,265153,265154,265162,265163,265170,265171,265194,265195,265244,265245,265256,265257,265261,265262,265266,265267,266072,266073,266077,266078,266082,266083,266099,266100,266104,266105,266111,266112,266116,266117,266122,266123,266128,266129,266133,266134,266139,266140,266145,266146,266150,266151,266155,266156,266161,266162,266167,266168,266173,266174,266179,266180,266184,266185,266190,266191,266196,266197,266201,266202,266207,266208,266213,266214,266218,266219,266224,266225,266230,266231,266235,266236,266241,266242,266247,266248,266252,266253,266258,266259,266264,266265,266269,266270,266275,266276,266281,266282,266286,266287,266292,266293,266298,266299,266303,266304,266309,266310,266315,266316,266320,266321,266326,266327,266332,266333,266337,266338,266343,266344,266349,266350,266354,266355,266360,266361,266366,266367,266374,266375,266382,266383,266396,266397,266402,266403,266425,266426,266455,266456,266498,266499,266535,266536,266542,266543,266601,266602,266606,266607,266625,266626,266630,266631,266804,266805,266974,266975,266981,266982,266996,266997,267006,267007,267016,267017,267026,267027,267036,267037,267046,267047,267056,267057,267066,267067,267076,267077,267086,267087,267101,267102,267111,267112,267121,267122,267136,267137,267146,267147,267156,267157,267166,267167,267176,267177,267186,267187,267196,267197,267206,267207,267216,267217,267226,267227,267241,267242,267251,267252,267261,267262,267271,267272,267281,267282,267296,267297,267306,267307,267316,267317,267326,267327,267341,267342,267351,267352,267361,267362,267371,267372,267386,267387,267396,267397,267406,267407,267416,267417,267426,267427,267441,267442,267451,267452,267461,267462,267471,267472,267481,267482,267491,267492,267500,267501,267515,267516,267525,267526,267535,267536,267545,267546,267555,267556,267565,267566,267575,267576,267585,267586,267595,267596,267610,267611,267620,267621,267630,267631,267640,267641,267650,267651,267660,267661,267670,267671,267680,267681,267690,267691,267700,267701,267710,267711,267725,267726,267735,267736,267745,267746,267755,267756,267765,267766,267775,267776,267790,267791,267800,267801,267810,267811,267820,267821,267830,267831,267840,267841,267850,267851,267860,267861,267875,267876,267885,267886,267895,267896,267905,267906,267920,267921,267935,267936,267945,267946,267955,267956,267965,267966,267975,267976,267985,267986,267995,267996,268010,268011,268020,268021,268030,268031,268040,268041,268055,268056,268065,268066,268075,268076,268085,268086,268100,268101,268110,268111,268120,268121,268130,268131,268145,268146,268155,268156,268165,268166,268175,268176,268185,268186,268195,268196,268210,268211,268220,268221,268230,268231,268240,268241,268250,268251,268265,268266,268275,268276,268285,268286,268295,268296,268305,268306,268315,268316,268330,268331,268340,268341,268350,268351,268360,268361,268370,268371,268380,268381,268395,268396,268405,268406,268415,268416,268425,268426,268435,268436,268445,268446,268455,268456,268465,268466,268475,268476,268485,268486,268500,268501,268510,268511,268520,268521,268530,268531,268540,268541,268550,268551,268560,268561,268570,268571,268580,268581,268590,268591,268605,268606,268615,268616,268625,268626,268635,268636,268645,268646,268655,268656,268665,268666,268675,268676,268685,268686,268695,268696,268710,268711,268720,268721,268730,268731,268740,268741,268750,268751,268760,268761,268770,268771,268780,268781,268790,268791,268805,268806,268815,268816,268825,268826,268835,268836,268845,268846,268855,268856,268865,268866,268875,268876,268885,268886,268895,268896,268905,268906,268915,268916,268925,268926,268940,268941,268950,268951,268960,268961,268970,268971,268980,268981,268990,268991,269000,269001,269010,269011,269020,269021,269035,269036,269045,269046,269055,269056,269065,269066,269075,269076,269085,269086,269095,269096,269110,269111,269120,269121,269130,269131,269140,269141,269150,269151,269160,269161,269170,269171,269180,269181,269190,269191,269200,269201,269210,269211,269220,269221,269235,269236,269245,269246,269255,269256,269265,269266,269275,269276,269285,269286,269295,269296,269305,269306,269315,269316,269325,269326,269340,269341,269350,269351,269360,269361,269370,269371,269385,269386,269395,269396,269405,269406,269415,269416,269425,269426,269435,269436,269445,269446,269455,269456,269465,269466,269475,269476,269490,269491,269500,269501,269510,269511,269520,269521,269530,269531,269540,269541,269550,269551,269560,269561,269575,269576,269585,269586,269595,269596,269605,269606,269615,269616,269625,269626,269640,269641,269650,269651,269660,269661,269670,269671,269680,269681,269690,269691,269700,269701,269710,269711,269720,269721,269735,269736,269745,269746,269755,269756,269765,269766,269876,269877,269940,269941,269945,269946,269952,269953,269966,269967,269973,269974,270032,270033,270054,270055,270068,270069,270101,270102,270195,270196,270210,270211,270220,270221,270265,270266,270298,270299,270309,270310,270316,270317,270322,270323,270436,270437,270456,270457,270462,270463,271139,271140,271159,271160,271172,271173,271186,271187,271250,271251,271256,271257,271263,271264,271270,271271,271278,271279,271348,271349,271357,271358,271365,271366,271385,271386,271407,271408,271677,271678,276500,276501,276530,276531,276538,276539,276653,276654,276676,276677,276727,276728,276757,276758,276782,276783,276796,276797,276802,276803,276816,276817,276821,276822,276857,276858,276864,276865,276871,276872,276880,276881,276890,276891,276899,276900,276956,276957,276975,276976,277007,277008,277013,277014,277025,277026,277081,277082,277094,277095,277263,277264,277278,277279,277354,277355,277413,277414,277435,277436,277480,277481,277495,277496,277500,277501,277506,277507,277512,277513,277518,277519,277524,277525,277530,277531,277538,277539,277841,277842,277846,277847,277874,277875,277888,277889,277893,277894,277900,277901,277910,277911,277942,277943,277948,277949,277955,277956,277963,277964,277971,277972,277976,277977,277981,277982,277988,277989,277995,277996,278002,278003,278008,278009,278014,278015,278020,278021,278026,278027,278032,278033,278037,278038,278043,278044,278049,278050,278055,278056,278061,278062,278068,278069,278074,278075,278080,278081,278085,278086,278092,278093,278099,278100,278106,278107,278116,278117,278126,278127,278134,278135,278140,278141,278154,278155,278164,278165,278170,278171,278178,278179,278184,278185,278190,278191,278196,278197,278203,278204,278208,278209,278214,278215,278220,278221,278225,278226,278231,278232,278237,278238,278242,278243,278247,278248,278253,278254,278258,278259,278266,278267,278273,278274,278278,278279,278284,278285,278427,278428,278440,278441,278469,278470,278491,278492,278530,278531,278672,278673,278706,278707,278713,278714,278849,278850,278868,278869,278905,278906,278915,278916,278937,278938,279187,279188,279229,279230,279242,279243,279250,279251,279257,279258,279263,279264,279272,279273,279279,279280,279311,279312,279329,279330,279344,279345,279353,279354,279360,279361,279367,279368,279386,279387,279418,279419,279443,279444,279492,279493,279504,279505,279511,279512,279526,279527,279529,279530,279537,279538,279547,279548,279554,279555,279580,279581,279600,279601,279618,279619,279648,279649,279653,279654,279658,279659,279663,279664,279677,279678,279680,279681,282146,282147,282149,282150,282154,282155,282160,282161,282167,282168,282223,282224,282226,282227,282638,282639,283858,283859,283866,283867,284045,284046,284050,284051,284058,284059,284102,284103,284124,284125,284129,284130,284134,284135,284144,284145,284150,284151,284156,284157,284165,284166,284200,284201,284205,284206,284216,284217,284224,284225,284229,284230,284235,284236,284416,284417,284453,284454,284461,284462,284480,284481,284507,284508,284536,284537,284544,284545,284550,284551,284562,284563,284583,284584,284590,284591,284619,284620,284659,284660,284667,284668,284679,284680,284745,284746,284764,284765,284798,284799,284803,284804,284812,284813,284818,284819,284828,284829,284834,284835,284864,284865,285004,285005,285015,285016,285020,285021,285026,285027,285046,285047,285048,285049,285060,285061,285069,285070,285081,285082,285089,285090,285096,285097,285103,285104,285115,285116,285122,285123,285130,285131,285138,285139,285145,285146,285150,285151,285157,285158,285162,285163,285170,285171,285177,285178,285189,285190,285194,285195,285203,285204,285211,285212,285218,285219,285225,285226,285233,285234,285241,285242,285247,285248,285254,285255,285261,285262,285263,285264,285301,285302,285339,285340,285379,285380,285382,285383,285384,285385,285386,285387,285399,285400,285401,285402,285403,285404,285425,285426,285437,285438,285439,285440,285441,285442,285566,285567,285568,285569,285575,285576,285577,285578,285579,285580,285581,285582,285583,285584,285585,285586,285594,285595,285600,285601,285607,285608,285614,285615,285627,285628,285634,285635,285655,285656,285667,285668,285669,285670,285720,285721,285727,285728,285733,285734,285788,285789,285794,285795,285800,285801,285807,285808,285813,285814,285988,285989,285996,285997,286002,286003,286008,286009,286015,286016,286025,286026,286080,286081,286093,286094,286123,286124,286129,286130,286136,286137,286142,286143,286150,286151,286156,286157,286162,286163,286168,286169,286245,286246,286264,286265,286340,286341,286346,286347,286353,286354,286559,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300461,300465,300466,300467,300468,300469,300482,300483,300484,300495,300496,300497,300498,300499,300514,300515,300516,301302,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305218,305274,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305462,305467,305468,305469,305470,305471,305487,305488,305489,305497,305498,305499,305500,305501,305520,305521,305947,305948,305949,305959,305960,305961,305962,305963,305983,305984,305985,306004,306005,306006,306007,306008,306025,306026,306027,306032,306033,306034,306035,306036,306063,306064,306065,306091,306092,306093,306094,306095,306146,306147,306148,306179,306180,306181,306182,306183,306199,306200,306201,306208,306209,306210,306211,306212,306222,306223,306224,306325,306326,306327,306328,306329,306360,306361,306362,306905,306906,306907,306908,306909,308634,308635,308636,308649,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308706,308807,308808,308809,308810,308811,308858,308859,308860,308864,308865,308866,308867,308868,308876,308877,308878,308885,308886,308887,308888,308889,308911,308912,308913,308921,308922,308923,308924,308925,308935,308936,308937,308967,308968,308969,308970,308971,308997,308998,308999,313727,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314402,314418,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314542,314547,314548,314549,314550,314551,314570,314571,314572,314573") == "04b9aa434a7fa4fbf81138063d4cd5ed5ab5b76c" || block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat")) then
ui_print("Verified system image...");
else
check_first_block("/dev/block/bootdevice/by-name/system");
ifelse (block_image_recover("/dev/block/bootdevice/by-name/system", "3920,1,80,81,307,575,938,939,941,1273,1279,1317,1480,1570,1836,1837,1838,1839,2055,3161,3163,3164,3165,3166,3167,3168,3169,3170,3171,3180,3181,3182,3287,3288,3289,3290,3291,3384,3385,3386,3392,3393,3394,3395,3396,3397,3398,3399,3400,3417,3418,3419,3436,3437,3438,3439,3440,3450,3451,3452,3504,3505,3506,3507,3508,3520,3521,3522,3524,3525,3526,3527,3528,3538,3539,3540,3552,3553,3554,3555,3556,3592,3593,3594,3601,3602,3603,3604,3605,3648,3649,3650,3674,3675,3676,3677,3678,3730,3731,3740,3741,3742,3743,3781,3782,3783,3793,3794,3795,3796,3797,3798,3799,3800,3877,3878,3879,3880,3881,4114,4115,7001,7002,7003,7005,7006,7007,7008,7009,7018,7019,7020,7026,7027,7028,7029,7030,7058,7059,7060,7123,7124,7125,7126,7127,7195,7196,7197,7203,7204,7205,7206,7207,7236,7237,7238,7242,7243,7244,7245,7246,7267,7268,7269,7271,7272,7273,7274,7275,7283,7284,7285,7289,7290,7291,7292,7293,7311,7312,7317,7318,7319,7320,7332,7333,7334,7337,7338,7339,7340,7341,7356,7357,7358,7362,7363,7364,7365,7366,7379,7380,7381,7382,7383,7384,7450,7461,7462,7463,7464,7465,7466,7467,7476,7478,7479,7480,7481,7483,7484,7485,7486,7487,7488,7489,7538,7547,7548,7549,7550,7551,7552,7553,7607,7617,7618,7619,7620,7621,7622,7623,19573,19575,20848,20849,20892,20893,20923,20924,21252,21253,22221,22255,22829,22830,22935,22936,23228,23229,23441,23442,24362,24365,24366,24367,24433,24434,24435,24436,24602,24603,24747,24748,24921,24922,25093,25094,25454,25455,25472,25714,25717,25718,25727,25728,25729,25730,25747,25748,25769,25770,25879,25880,25918,25919,25922,25923,25934,25935,26401,26402,26403,26404,26426,26427,26448,26449,26688,26689,27801,27802,28098,28099,28217,28218,28695,28696,28697,28698,29223,29224,29239,29240,29271,29272,29333,29334,29340,29341,32750,32751,32768,32770,32849,32850,65536,65537,74222,74956,74957,78521,84212,85049,85759,85839,85840,85841,85842,85843,85844,85950,85951,85952,85953,85977,85978,85979,85980,85981,85982,85992,85993,85994,85995,86142,86143,86144,86145,86146,86147,87015,87016,87017,87018,87019,87020,87021,87022,87056,87057,87064,87065,87066,87067,87068,87069,87070,87071,87103,87104,87158,87159,87194,87195,87196,87197,87198,87199,87200,87201,87202,87203,87204,87205,87206,87207,87208,87209,87210,87211,87212,87213,87214,87215,87216,87217,87218,87219,87220,87221,87222,87223,87224,87225,87226,87227,87228,87229,87230,87231,87387,87388,87496,87497,87640,87641,87742,87743,87933,87934,88093,88094,88157,88158,88306,88307,88511,88512,88606,88607,88761,88762,88824,88825,88826,88827,88828,88829,88830,88831,88832,88833,88834,88835,88836,88837,88846,88847,88848,88849,88851,88852,88853,88854,88881,88882,88883,88884,88910,88911,88912,88913,88940,88941,88942,88943,88955,88956,88957,88958,88966,88967,88968,88969,88973,88974,88975,88976,88982,88983,88984,88985,88986,88987,88988,88989,88991,88992,88993,88994,89003,89004,89005,89006,89007,89008,89009,89010,89011,89012,89013,89014,89015,89016,89017,89018,89096,89097,89098,89099,89100,89101,89102,89103,89104,89105,89106,89107,89108,89109,89110,89111,89113,89114,89115,89116,89117,89118,89119,89120,89156,89157,89158,89159,89195,89196,89197,89198,89199,89200,89201,89202,89203,89204,89205,89206,89207,89208,89210,89211,89213,89214,89215,89216,89217,89218,89219,89220,89221,89222,89223,89224,89225,89226,89227,89228,89229,89230,89231,89232,89233,89234,94655,94656,94657,94658,94659,94660,94661,94662,94663,94664,94665,94666,94670,94671,94674,94675,94679,94680,94684,94685,94689,94690,94691,94692,94693,94694,94697,94698,94699,94700,94701,94702,94703,94704,94705,94706,94707,94708,94709,94710,94711,94712,94713,94714,94715,94716,94717,94718,94719,94720,94721,94722,94723,94724,94725,94726,94727,94728,94729,94730,94731,94732,94733,94734,94735,94736,94737,94738,94739,94740,94741,94742,94743,94744,94745,94746,94747,94748,94749,94750,94751,94752,94753,94754,94755,94756,94757,94758,94759,94760,94761,94762,94763,94764,94765,94766,94767,94768,94769,94770,94771,94772,94773,94774,94778,94779,94784,94785,94786,94787,94910,94911,94912,94913,94914,94915,94916,94917,94918,94919,94920,94921,94922,94923,94925,94926,94927,94928,94930,94931,94932,94933,94935,94936,94937,94938,94940,94941,94942,94943,94945,94946,94947,94948,94950,94951,94952,94953,94955,94956,94957,94958,94959,94960,94961,94962,94963,94964,94965,94966,94972,94973,94974,94975,94976,94977,94983,94984,94985,94986,95067,95068,95069,95070,95071,95072,95458,95459,95460,95461,95463,95464,95465,95466,95467,95468,95474,95475,95476,95477,95482,95483,95484,95485,95486,95487,95504,95505,95506,95507,95537,95538,95539,95540,95541,95542,95561,95562,95563,95564,95574,95575,95576,95577,95578,95579,95602,95603,95604,95605,95606,95607,95608,95609,95611,95612,95613,95614,95618,95619,95620,95621,95623,95624,95625,95626,95628,95629,95630,95631,95633,95634,95635,95636,95638,95639,95640,95641,95643,95644,95645,95646,95648,95649,95650,95651,95654,95655,95656,95657,95659,95660,95661,95662,95665,95666,95667,95668,95670,95671,95672,95673,95683,95684,95685,95686,95687,95688,95689,95690,95691,95692,95693,95694,95695,95696,95701,95702,95703,95704,95705,95706,95713,95714,95715,95716,95738,95739,95740,95741,95742,95743,95788,95789,95790,95791,95805,95806,95807,95808,95809,95810,95826,95827,95828,95829,95830,95831,95832,95833,95846,95847,95848,95849,95851,95852,95853,95854,95856,95857,95858,95859,95861,95862,95863,95864,95866,95867,95868,95869,95871,95872,95873,95874,95876,95877,95878,95879,95881,95882,95883,95884,95886,95887,95888,95889,95891,95892,95893,95894,95901,95902,95903,95904,95906,95907,95908,95909,95910,95911,95912,95913,95914,95915,95916,95917,95918,95919,95924,95925,95926,95927,95928,95929,95936,95937,95938,95939,95943,95944,95945,95946,95947,95948,95955,95956,95957,95958,95959,95960,95961,95962,95964,95965,95966,95967,95969,95970,95971,95972,95974,95975,95976,95977,95979,95980,95981,95982,95984,95985,95986,95987,95989,95990,95991,95992,96100,96101,96102,96103,96104,96105,96106,96107,96108,96109,96110,96111,96112,96113,96114,96115,96116,96117,96118,96119,96120,96121,96122,96123,96131,96132,96133,96134,96142,96143,96144,96145,96146,96147,96154,96155,96156,96157,96164,96165,96166,96167,96168,96169,96170,96171,96172,96173,96174,96175,96184,96185,96186,96187,96188,96189,96205,96206,96207,96208,96210,96211,96212,96213,96215,96216,96217,96218,96220,96221,96222,96223,96228,96229,96230,96231,96233,96234,96235,96236,96237,96238,96239,96240,96245,96246,96247,96248,96249,96250,96260,96261,96262,96263,96288,96289,96290,96291,96292,96293,96379,96380,96381,96382,96445,96446,96447,96448,96449,96450,96601,96602,96603,96604,96619,96620,96621,96622,96623,96624,96643,96644,96645,96646,96647,96648,96649,96650,96955,96956,97020,97021,97022,97023,97110,97111,97774,97775,97780,97781,97786,97787,97797,97798,97811,97812,97827,97828,97856,97857,97867,97868,97905,97906,98178,98179,98180,98181,98182,98183,98184,98185,98258,98259,98302,98304,98306,98385,98386,104971,104972,124027,125633,125685,125686,125687,125688,130067,130070,130075,130076,130093,130094,130123,130124,131067,131068,131069,131070,131072,131073,163840,163842,163921,163922,164415,172777,196608,196609,197102,197103,229376,229378,229457,229458,231739,231761,231762,231780,231781,231801,231802,231818,231819,231822,231823,231826,231827,231829,231830,231833,231834,231837,231838,231841,231842,231846,231847,231849,231850,231852,231853,231856,231857,231860,231861,231863,231864,231883,231884,231902,231903,231936,231937,231956,231957,231975,231976,231994,231995,231998,231999,232001,232002,232013,232014,232020,232021,232034,232035,232045,232046,232062,232063,232084,232085,232103,232104,232122,232123,232141,232142,232145,232146,232152,232153,232158,232159,232162,232163,232166,232167,232170,232171,232174,232175,232179,232180,232184,232185,232188,232189,232193,232194,232197,232198,232202,232203,232207,232208,232220,232221,232225,232226,232238,232239,232258,232259,233289,233290,233293,233294,233300,233301,233320,233321,233324,233325,233328,233329,233341,233342,233346,233347,233352,233353,233357,233358,233361,233362,233365,233366,233374,233375,233395,233396,233412,233413,233416,233417,233422,233423,233428,233429,233436,233437,233440,233441,233448,233449,233455,233456,233457,233458,233465,233466,233484,233485,233490,233491,233495,233496,233501,233502,233513,233514,233520,233521,233526,233527,233537,233538,233543,233544,233545,233546,233547,233548,233549,233550,233554,233555,233557,233558,233564,233565,233568,233569,233576,233577,233580,233581,233610,233611,233624,233625,233649,233650,233686,233687,233713,233714,233758,233759,233783,233784,233795,233796,233824,233825,233851,233852,233864,233865,233866,233867,233870,233871,233873,233874,233876,233877,233880,233881,233884,233885,233892,233893,233895,233896,233900,233901,233910,233911,233915,233916,233921,233922,233926,233927,233932,233933,233936,233937,233941,233942,233946,233947,233954,233955,233960,233961,233964,233965,233970,233971,233975,233976,233979,233980,233985,233986,233990,233991,233995,233996,233999,234000,234006,234007,234010,234011,234016,234017,234023,234024,234027,234028,234038,234039,234041,234042,234047,234048,234052,234053,234068,234069,234072,234073,234077,234078,234083,234084,234089,234090,234095,234096,234101,234102,234106,234107,234109,234110,234116,234117,234123,234124,234130,234131,234135,234136,234143,234144,234150,234151,234154,234155,234161,234162,234168,234169,234176,234177,234180,234181,234191,234192,234195,234196,234207,234208,234211,234212,234216,234217,234222,234223,234228,234229,234235,234236,234244,234245,234250,234251,234258,234259,234263,234264,234266,234267,234271,234272,234277,234278,234283,234284,234291,234292,234299,234300,234303,234304,234312,234313,234314,234315,234322,234323,234330,234331,234337,234338,234394,234395,234417,234418,234425,234426,234435,234436,234443,234444,234452,234453,234465,234466,234477,234478,234488,234489,234501,234502,234510,234511,234519,234520,234530,234531,234541,234542,234550,234551,234559,234560,234564,234565,234572,234573,234583,234584,234594,234595,234605,234606,234657,234658,234666,234667,234675,234676,234691,234692,234696,234697,234710,234711,234719,234720,234763,234764,234777,234778,234794,234795,234804,234805,234813,234814,234842,234843,234855,234856,234866,234867,234880,234881,234891,234892,234903,234904,234918,234919,234930,234931,234948,234949,234955,234956,234960,234961,235002,235003,235013,235014,235023,235024,235035,235036,235046,235047,235054,235055,235064,235065,235076,235077,235088,235089,235093,235094,235103,235104,235113,235114,235124,235125,235132,235133,235141,235142,235156,235157,235185,235186,235196,235197,235219,235220,235278,235279,235293,235294,235299,235300,235344,235345,235358,235359,235374,235375,235390,235391,235397,235398,235411,235412,235423,235424,235436,235437,235445,235446,235457,235458,235468,235469,235496,235497,235575,235576,235587,235588,235598,235599,235610,235611,235619,235620,235642,235643,235650,235651,235661,235662,235671,235672,235690,235691,235734,235735,235744,235745,235757,235758,235765,235766,235802,235803,235849,235850,235858,235859,235864,235865,235873,235874,235894,235895,235901,235902,235903,235904,235906,235907,235909,235910,235912,235913,235916,235917,235919,235920,235922,235923,235925,235926,235929,235930,235934,235935,235937,235938,235941,235942,235944,235945,235947,235948,235950,235951,235954,235955,235957,235958,235961,235962,235963,235964,235965,235966,236028,236029,236030,236031,236032,236033,236043,236044,236045,236046,236087,236088,236089,236090,236091,236092,236311,236312,236313,236314,236347,236348,236349,236350,236351,236352,236587,236588,236589,236590,236598,236599,236600,236601,236602,236603,236616,236617,236618,236619,236651,236652,236653,236654,236655,236656,236663,236664,236665,236666,237274,237275,237276,237277,237278,237279,237363,237364,237365,237366,237432,237433,237434,237435,237436,237437,237531,237532,237533,237534,239489,239490,239491,239492,239493,239494,241019,241020,241021,241022,241169,241170,241171,241172,241173,241174,241864,241865,241866,241867,241874,241875,241876,241877,241878,241879,241880,241881,241882,241883,241895,241896,241897,241898,244486,244487,244488,244489,244490,244491,246855,246856,246857,246858,247341,247342,247343,247344,247345,247346,248241,248242,248243,248244,248401,248402,248403,248404,248405,248406,248682,248683,248684,248685,249668,249669,249670,249671,249672,249673,250259,250260,250261,250262,250268,250269,250270,250271,250272,250273,250283,250284,250285,250286,250299,250300,250301,250302,250303,250304,250338,250339,250340,250341,250347,250348,250349,250350,250351,250352,250363,250364,250365,250366,250426,250427,250428,250429,250430,250431,250437,250438,250439,250440,250674,250675,250676,250677,250678,250679,250836,250837,250838,250839,250886,250887,250888,250889,250890,250891,251024,251025,251026,251027,252706,252707,252708,252709,252710,252711,254018,254019,254020,254021,254031,254032,254033,254034,254035,254036,254087,254088,254089,254090,254126,254127,254128,254129,254130,254131,254132,254133,254134,254135,254191,254192,254193,254194,254199,254200,254201,254202,254203,254204,254227,254228,254229,254230,255644,255645,255646,255647,255648,255649,256698,256699,256700,256701,256704,256705,256706,256707,256708,256709,256722,256723,256724,256725,256731,256732,256733,256734,256735,256736,256752,256753,256754,256755,256767,256768,256769,256770,256771,256772,256852,256853,256854,256855,256856,256857,256858,256859,259257,259258,259259,259260,259303,259304,259305,259306,259307,259308,259425,259426,259427,259428,259431,259432,259433,259434,259435,259436,259447,259448,259449,259450,259511,259512,259513,259514,259515,259516,259605,259606,259607,259608,259741,259742,259743,259744,259745,259746,259992,259993,259994,259995,260006,260007,260008,260009,260010,260011,260054,260055,260056,260057,261114,261115,261116,261117,261118,261119,262031,262032,262033,262034,262035,262036,262037,262038,262039,262040,262041,262042,262043,262044,262045,262046,262047,262048,262049,262050,262051,262052,262061,262062,262063,262064,262065,262066,262075,262076,262077,262078,262135,262136,262137,262138,262139,262140,262141,262144,262145,262638,262641,262642,262643,262644,262645,262646,262647,262648,262649,262650,262652,262653,262659,262660,262665,262666,262741,262742,262745,262746,262751,262752,262753,262754,262755,262756,262757,262758,262759,262760,262761,262762,262768,262769,262770,262771,262792,262793,262816,262817,262818,262819,262830,262831,262874,262875,262926,262927,263246,263247,263354,263355,263356,263357,263365,263366,263371,263372,263384,263385,263399,263400,263443,263444,263457,263458,263503,263504,263515,263516,263623,263624,263940,263941,264039,264040,264077,264078,264107,264108,264127,264128,264136,264137,264321,264322,264464,264465,264475,264476,264493,264494,264503,264504,264638,264639,264645,264646,264675,264676,264706,264707,264896,264897,264903,264904,264910,264911,264916,264917,264921,264922,264935,264936,264944,264945,264949,264950,264980,264981,264998,264999,265029,265030,265084,265085,265102,265103,265133,265134,265153,265154,265162,265163,265170,265171,265194,265195,265244,265245,265256,265257,265261,265262,265266,265267,266072,266073,266077,266078,266082,266083,266099,266100,266104,266105,266111,266112,266116,266117,266122,266123,266128,266129,266133,266134,266139,266140,266145,266146,266150,266151,266155,266156,266161,266162,266167,266168,266173,266174,266179,266180,266184,266185,266190,266191,266196,266197,266201,266202,266207,266208,266213,266214,266218,266219,266224,266225,266230,266231,266235,266236,266241,266242,266247,266248,266252,266253,266258,266259,266264,266265,266269,266270,266275,266276,266281,266282,266286,266287,266292,266293,266298,266299,266303,266304,266309,266310,266315,266316,266320,266321,266326,266327,266332,266333,266337,266338,266343,266344,266349,266350,266354,266355,266360,266361,266366,266367,266374,266375,266382,266383,266396,266397,266402,266403,266425,266426,266455,266456,266498,266499,266535,266536,266542,266543,266601,266602,266606,266607,266625,266626,266630,266631,266804,266805,266974,266975,266981,266982,266996,266997,267006,267007,267016,267017,267026,267027,267036,267037,267046,267047,267056,267057,267066,267067,267076,267077,267086,267087,267101,267102,267111,267112,267121,267122,267136,267137,267146,267147,267156,267157,267166,267167,267176,267177,267186,267187,267196,267197,267206,267207,267216,267217,267226,267227,267241,267242,267251,267252,267261,267262,267271,267272,267281,267282,267296,267297,267306,267307,267316,267317,267326,267327,267341,267342,267351,267352,267361,267362,267371,267372,267386,267387,267396,267397,267406,267407,267416,267417,267426,267427,267441,267442,267451,267452,267461,267462,267471,267472,267481,267482,267491,267492,267500,267501,267515,267516,267525,267526,267535,267536,267545,267546,267555,267556,267565,267566,267575,267576,267585,267586,267595,267596,267610,267611,267620,267621,267630,267631,267640,267641,267650,267651,267660,267661,267670,267671,267680,267681,267690,267691,267700,267701,267710,267711,267725,267726,267735,267736,267745,267746,267755,267756,267765,267766,267775,267776,267790,267791,267800,267801,267810,267811,267820,267821,267830,267831,267840,267841,267850,267851,267860,267861,267875,267876,267885,267886,267895,267896,267905,267906,267920,267921,267935,267936,267945,267946,267955,267956,267965,267966,267975,267976,267985,267986,267995,267996,268010,268011,268020,268021,268030,268031,268040,268041,268055,268056,268065,268066,268075,268076,268085,268086,268100,268101,268110,268111,268120,268121,268130,268131,268145,268146,268155,268156,268165,268166,268175,268176,268185,268186,268195,268196,268210,268211,268220,268221,268230,268231,268240,268241,268250,268251,268265,268266,268275,268276,268285,268286,268295,268296,268305,268306,268315,268316,268330,268331,268340,268341,268350,268351,268360,268361,268370,268371,268380,268381,268395,268396,268405,268406,268415,268416,268425,268426,268435,268436,268445,268446,268455,268456,268465,268466,268475,268476,268485,268486,268500,268501,268510,268511,268520,268521,268530,268531,268540,268541,268550,268551,268560,268561,268570,268571,268580,268581,268590,268591,268605,268606,268615,268616,268625,268626,268635,268636,268645,268646,268655,268656,268665,268666,268675,268676,268685,268686,268695,268696,268710,268711,268720,268721,268730,268731,268740,268741,268750,268751,268760,268761,268770,268771,268780,268781,268790,268791,268805,268806,268815,268816,268825,268826,268835,268836,268845,268846,268855,268856,268865,268866,268875,268876,268885,268886,268895,268896,268905,268906,268915,268916,268925,268926,268940,268941,268950,268951,268960,268961,268970,268971,268980,268981,268990,268991,269000,269001,269010,269011,269020,269021,269035,269036,269045,269046,269055,269056,269065,269066,269075,269076,269085,269086,269095,269096,269110,269111,269120,269121,269130,269131,269140,269141,269150,269151,269160,269161,269170,269171,269180,269181,269190,269191,269200,269201,269210,269211,269220,269221,269235,269236,269245,269246,269255,269256,269265,269266,269275,269276,269285,269286,269295,269296,269305,269306,269315,269316,269325,269326,269340,269341,269350,269351,269360,269361,269370,269371,269385,269386,269395,269396,269405,269406,269415,269416,269425,269426,269435,269436,269445,269446,269455,269456,269465,269466,269475,269476,269490,269491,269500,269501,269510,269511,269520,269521,269530,269531,269540,269541,269550,269551,269560,269561,269575,269576,269585,269586,269595,269596,269605,269606,269615,269616,269625,269626,269640,269641,269650,269651,269660,269661,269670,269671,269680,269681,269690,269691,269700,269701,269710,269711,269720,269721,269735,269736,269745,269746,269755,269756,269765,269766,269876,269877,269940,269941,269945,269946,269952,269953,269966,269967,269973,269974,270032,270033,270054,270055,270068,270069,270101,270102,270195,270196,270210,270211,270220,270221,270265,270266,270298,270299,270309,270310,270316,270317,270322,270323,270436,270437,270456,270457,270462,270463,271139,271140,271159,271160,271172,271173,271186,271187,271250,271251,271256,271257,271263,271264,271270,271271,271278,271279,271348,271349,271357,271358,271365,271366,271385,271386,271407,271408,271677,271678,276500,276501,276530,276531,276538,276539,276653,276654,276676,276677,276727,276728,276757,276758,276782,276783,276796,276797,276802,276803,276816,276817,276821,276822,276857,276858,276864,276865,276871,276872,276880,276881,276890,276891,276899,276900,276956,276957,276975,276976,277007,277008,277013,277014,277025,277026,277081,277082,277094,277095,277263,277264,277278,277279,277354,277355,277413,277414,277435,277436,277480,277481,277495,277496,277500,277501,277506,277507,277512,277513,277518,277519,277524,277525,277530,277531,277538,277539,277841,277842,277846,277847,277874,277875,277888,277889,277893,277894,277900,277901,277910,277911,277942,277943,277948,277949,277955,277956,277963,277964,277971,277972,277976,277977,277981,277982,277988,277989,277995,277996,278002,278003,278008,278009,278014,278015,278020,278021,278026,278027,278032,278033,278037,278038,278043,278044,278049,278050,278055,278056,278061,278062,278068,278069,278074,278075,278080,278081,278085,278086,278092,278093,278099,278100,278106,278107,278116,278117,278126,278127,278134,278135,278140,278141,278154,278155,278164,278165,278170,278171,278178,278179,278184,278185,278190,278191,278196,278197,278203,278204,278208,278209,278214,278215,278220,278221,278225,278226,278231,278232,278237,278238,278242,278243,278247,278248,278253,278254,278258,278259,278266,278267,278273,278274,278278,278279,278284,278285,278427,278428,278440,278441,278469,278470,278491,278492,278530,278531,278672,278673,278706,278707,278713,278714,278849,278850,278868,278869,278905,278906,278915,278916,278937,278938,279187,279188,279229,279230,279242,279243,279250,279251,279257,279258,279263,279264,279272,279273,279279,279280,279311,279312,279329,279330,279344,279345,279353,279354,279360,279361,279367,279368,279386,279387,279418,279419,279443,279444,279492,279493,279504,279505,279511,279512,279526,279527,279529,279530,279537,279538,279547,279548,279554,279555,279580,279581,279600,279601,279618,279619,279648,279649,279653,279654,279658,279659,279663,279664,279677,279678,279680,279681,282146,282147,282149,282150,282154,282155,282160,282161,282167,282168,282223,282224,282226,282227,282638,282639,283858,283859,283866,283867,284045,284046,284050,284051,284058,284059,284102,284103,284124,284125,284129,284130,284134,284135,284144,284145,284150,284151,284156,284157,284165,284166,284200,284201,284205,284206,284216,284217,284224,284225,284229,284230,284235,284236,284416,284417,284453,284454,284461,284462,284480,284481,284507,284508,284536,284537,284544,284545,284550,284551,284562,284563,284583,284584,284590,284591,284619,284620,284659,284660,284667,284668,284679,284680,284745,284746,284764,284765,284798,284799,284803,284804,284812,284813,284818,284819,284828,284829,284834,284835,284864,284865,285004,285005,285015,285016,285020,285021,285026,285027,285046,285047,285048,285049,285060,285061,285069,285070,285081,285082,285089,285090,285096,285097,285103,285104,285115,285116,285122,285123,285130,285131,285138,285139,285145,285146,285150,285151,285157,285158,285162,285163,285170,285171,285177,285178,285189,285190,285194,285195,285203,285204,285211,285212,285218,285219,285225,285226,285233,285234,285241,285242,285247,285248,285254,285255,285261,285262,285263,285264,285301,285302,285339,285340,285379,285380,285382,285383,285384,285385,285386,285387,285399,285400,285401,285402,285403,285404,285425,285426,285437,285438,285439,285440,285441,285442,285566,285567,285568,285569,285575,285576,285577,285578,285579,285580,285581,285582,285583,285584,285585,285586,285594,285595,285600,285601,285607,285608,285614,285615,285627,285628,285634,285635,285655,285656,285667,285668,285669,285670,285720,285721,285727,285728,285733,285734,285788,285789,285794,285795,285800,285801,285807,285808,285813,285814,285988,285989,285996,285997,286002,286003,286008,286009,286015,286016,286025,286026,286080,286081,286093,286094,286123,286124,286129,286130,286136,286137,286142,286143,286150,286151,286156,286157,286162,286163,286168,286169,286245,286246,286264,286265,286340,286341,286346,286347,286353,286354,286559,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300461,300465,300466,300467,300468,300469,300482,300483,300484,300495,300496,300497,300498,300499,300514,300515,300516,301302,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305218,305274,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305462,305467,305468,305469,305470,305471,305487,305488,305489,305497,305498,305499,305500,305501,305520,305521,305947,305948,305949,305959,305960,305961,305962,305963,305983,305984,305985,306004,306005,306006,306007,306008,306025,306026,306027,306032,306033,306034,306035,306036,306063,306064,306065,306091,306092,306093,306094,306095,306146,306147,306148,306179,306180,306181,306182,306183,306199,306200,306201,306208,306209,306210,306211,306212,306222,306223,306224,306325,306326,306327,306328,306329,306360,306361,306362,306905,306906,306907,306908,306909,308634,308635,308636,308649,308650,308651,308652,308653,308668,308669,308679,308680,308681,308682,308704,308705,308706,308807,308808,308809,308810,308811,308858,308859,308860,308864,308865,308866,308867,308868,308876,308877,308878,308885,308886,308887,308888,308889,308911,308912,308913,308921,308922,308923,308924,308925,308935,308936,308937,308967,308968,308969,308970,308971,308997,308998,308999,313727,313728,313729,313730,313731,313732,313733,313734,313735,314394,314395,314396,314397,314398,314399,314400,314401,314402,314418,314419,314420,314421,314422,314449,314450,314451,314452,314453,314454,314534,314535,314536,314537,314538,314539,314540,314541,314542,314547,314548,314549,314550,314551,314570,314571,314572,314573") && block_image_verify("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat"), ui_print("system recovered successfully."), abort("E1004: system partition fails to recover"));
endif;

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

ui_print("Patching system image after verification.");
show_progress(0.900000, 0);
block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") ||
  abort("E1001: Failed to update system image.");
ui_print("Patching boot image...");
show_progress(0.100000, 10);
apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:16209192:6e43d6329096280af50c79e4ac6ec64facf42cde:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed",
            "-", a5d72d54c4556fae50ef820a66b561f27afa0aed, 16209192,
            6e43d6329096280af50c79e4ac6ec64facf42cde,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16209192:6e43d6329096280af50c79e4ac6ec64facf42cde:16209192:a5d72d54c4556fae50ef820a66b561f27afa0aed");

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

ui_print("Patching firmware images...");
set_progress(1.000000);
