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/059/brian08290344:userdebug/test-keys");
ui_print("Target: qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys");
ui_print("Verifying current system...");
getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/059/brian08290344:userdebug/test-keys" ||
    getprop("ro.build.fingerprint") == "qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys" ||
    abort("E3001: Package expects build fingerprint of qcom/msm8909/msm8909:7.1.2/059/brian08290344:userdebug/test-keys or qcom/msm8909/msm8909:7.1.2/055/brian01250504:userdebug/test-keys; this device has " + getprop("ro.build.fingerprint") + ".");
apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:16209192:2ec42098e432d4e256093dd6e0af2167016083a8:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727") || abort("E3005: \"EMMC:/dev/block/bootdevice/by-name/boot:16209192:2ec42098e432d4e256093dd6e0af2167016083a8:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727\" has unexpected contents.");
apply_patch_space(45301760) || abort("E3006: Not enough free space on /cache to apply patches.");
if (range_sha1("/dev/block/bootdevice/by-name/system", "6594,1,80,81,307,5536,6567,6568,6569,6570,6576,6577,6578,6579,6580,6581,6608,6609,6610,6611,6615,6616,6617,6618,6619,6620,6639,6640,6641,6642,6644,6645,6646,6647,6648,6649,6655,6656,6657,6658,6662,6663,6664,6665,6666,6667,6683,6684,6685,6686,6689,6690,6691,6692,6693,6694,6704,6705,6706,6707,6710,6711,6712,6713,6714,6715,6728,6729,6730,6731,6735,6736,6737,6738,6739,6740,6751,6752,6753,6754,6755,6756,6757,6758,6822,6823,6834,6835,6836,6837,6838,6839,6840,6841,6848,6849,6851,6852,6853,6854,6856,6857,6858,6859,6860,6861,6862,6863,6910,6911,6920,6921,6922,6923,6924,6925,6926,6927,6979,6980,6990,6991,6992,6993,6994,6995,6996,6997,7742,7743,18945,18946,18948,18949,18960,18961,18972,18973,18977,18978,18982,18983,18984,18985,18992,18993,18998,18999,19003,19004,19005,19006,19012,19013,19050,19051,19052,19053,19054,19055,19061,19062,19071,19072,19081,19082,19089,19090,19096,19097,19108,19109,19115,19116,19121,19122,19123,19124,19133,19134,19143,19144,19150,19151,19156,19157,19158,19159,19163,19164,19169,19170,19174,19175,19187,19188,19195,19196,19202,19203,19211,19212,19259,19260,19265,19266,19267,19268,19273,19274,19355,19356,19361,19362,19374,19375,19381,19382,19387,19388,19421,19422,19441,19442,19446,19447,19452,19453,19460,19461,19465,19466,19473,19474,19480,19481,19488,19489,19494,19495,19505,19506,19529,19530,19564,19565,19566,19567,19575,19576,19618,19619,19626,19627,19636,19637,19677,19678,19682,19683,19692,19693,19699,19700,19705,19706,19713,19714,19729,19730,19739,19740,19761,19762,19772,19773,19785,19786,19796,19797,19943,19944,19957,19958,19966,19967,19972,19973,20008,20009,20020,20021,20055,20056,20168,20169,20180,20181,20190,20191,20192,20193,20222,20223,20228,20229,20266,20267,20295,20296,20297,20298,20299,20300,20327,20328,20340,20341,20396,20397,20460,20461,20522,20523,20528,20529,20570,20571,20626,20627,20628,20629,20634,20635,20640,20641,20646,20647,20669,20670,20675,20676,20684,20685,20692,20693,20822,20823,20978,20979,20985,20986,21003,21004,21013,21014,21032,21033,21035,21036,21044,21045,21142,21143,21169,21170,21175,21176,21184,21185,21225,21226,21232,21233,21368,21369,21370,21371,21376,21377,21384,21385,21390,21391,21396,21397,21404,21405,21414,21415,21424,21425,21429,21430,21457,21458,21484,21485,21503,21504,21510,21511,21517,21518,21525,21526,21535,21536,21595,21596,21630,21631,21639,21640,21645,21646,21654,21655,21656,21657,21676,21677,21684,21685,21689,21690,21695,21696,21744,21745,22052,22053,22057,22058,22096,22097,22105,22106,22114,22115,22120,22121,22125,22126,22130,22131,22135,22136,22141,22142,22160,22161,22172,22173,22184,22185,22190,22191,22192,22193,22203,22204,22212,22213,22222,22223,22233,22234,22279,22280,22289,22290,22299,22300,22309,22310,22311,22312,22316,22317,22322,22323,22328,22329,22334,22335,22340,22341,22346,22347,22352,22353,22358,22359,22364,22365,22371,22372,22378,22379,22385,22386,22392,22393,22398,22399,22404,22405,22432,22433,22462,22463,22471,22472,22477,22478,22482,22483,22528,22529,22533,22534,22546,22547,22551,22552,22553,22554,22567,22568,22574,22575,22580,22581,22588,22589,22596,22597,22602,22603,22608,22609,22614,22615,22641,22642,22650,22651,22657,22658,22662,22663,22669,22670,22676,22677,22678,22679,22683,22684,22715,22716,22762,22763,22764,22765,22773,22774,22789,22790,22795,22796,22801,22802,22809,22810,22815,22816,22818,22819,22823,22824,22847,22848,22849,22850,22855,22856,22874,22875,22883,22884,22889,22890,22895,22896,22901,22902,22907,22908,22930,22931,23001,23002,23007,23008,23013,23014,23020,23021,23027,23028,23030,23031,23047,23048,23053,23054,23060,23061,23166,23167,23191,23192,23198,23199,23205,23206,23210,23211,23212,23213,23235,23236,23549,23550,23718,23719,23736,23737,23740,23741,23742,23743,23805,23806,23807,23808,23809,23810,23811,23812,23828,23829,23833,23834,23835,23836,23890,23891,23892,23893,23914,23915,23976,23977,23978,23979,23989,23990,23994,23995,23997,23998,24047,24048,24049,24050,24069,24070,24118,24119,24121,24122,24123,24124,24140,24141,24145,24146,24147,24148,24205,24206,24207,24208,24232,24233,24295,24296,24297,24298,24314,24315,24319,24320,24321,24322,24377,24378,24379,24380,24404,24405,24467,24468,24469,24470,24486,24487,24491,24492,24493,24494,24556,24557,24558,24559,24583,24584,24647,24648,24808,24809,24810,24811,24813,24814,24815,24816,24818,24819,24824,24825,24828,24829,24830,24831,24832,24833,24834,24835,24843,24844,24846,24847,25089,25090,25091,25092,25093,25094,25095,25096,25101,25102,25103,25104,25105,25106,25109,25110,25113,25114,25117,25118,25121,25122,25123,25124,25127,25128,25131,25132,25135,25136,25139,25140,25143,25144,25145,25146,25149,25150,25153,25154,25157,25158,25161,25162,25165,25166,25169,25170,25253,25254,25255,25256,25263,25264,25283,25284,25290,25291,25292,25293,25294,25295,25296,25297,25298,25299,25300,25301,25302,25303,25308,25309,25310,25311,25312,25313,25316,25317,25320,25321,25322,25323,25326,25327,25328,25329,25332,25333,25335,25336,25339,25340,25344,25345,25349,25350,25354,25355,25359,25360,25361,25362,25365,25366,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25397,25398,25403,25404,25418,25419,25436,25437,25441,25442,25443,25444,25446,25447,25604,25605,25607,25608,25609,25610,25772,25773,25775,25776,25777,25778,25779,25780,25783,25784,25785,25786,25790,25791,25792,25793,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25818,25819,25820,25821,25822,25823,25824,25825,25827,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25886,25887,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25922,25923,25924,25925,25926,25927,25929,25930,25935,25936,25937,25938,25939,25940,25942,25943,25944,25945,25946,25947,25950,25951,25953,25954,25955,25956,25958,25959,25961,25962,25964,25965,25971,25972,25980,25981,25989,25990,25997,25998,26005,26006,26014,26015,26023,26024,26032,26033,26041,26042,26060,26061,26062,26063,26064,26065,26066,26067,26068,26069,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27266,27267,27268,27269,27270,27271,27272,27273,27274,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27454,27455,27456,27457,27458,27459,27460,27461,27462,27463,27466,27467,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27481,27482,27483,27484,27485,27486,27487,27488,27489,27490,27491,27492,27493,27494,27495,27496,27497,27498,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27513,27514,27515,27516,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27555,27556,27557,27558,27559,27560,27561,27562,27565,27566,27567,27568,27569,27570,27571,27572,27573,27574,27575,27576,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,28064,28065,28066,28067,28069,28070,28071,28072,28073,28074,28076,28077,28079,28080,28082,28083,28085,28086,28087,28088,28090,28091,28093,28094,28096,28097,28098,28099,28101,28102,28104,28105,28107,28108,28110,28111,28113,28114,28116,28117,28119,28120,28122,28123,28125,28126,28128,28129,28131,28132,28134,28135,28138,28139,28141,28142,28144,28145,28147,28148,28150,28151,28153,28154,28155,28156,28157,28158,28160,28161,28163,28164,28167,28168,28171,28172,28174,28175,28177,28178,28180,28181,28183,28184,28186,28187,28189,28190,28192,28193,28195,28196,28198,28199,28202,28203,28205,28206,28208,28209,28211,28212,28214,28215,28217,28218,28220,28221,28223,28224,28226,28227,28229,28230,28232,28233,28235,28236,28238,28239,28240,28241,28243,28244,28246,28247,28249,28250,28252,28253,28255,28256,28257,28258,28260,28261,28263,28264,28266,28267,28269,28270,28272,28273,28275,28276,28278,28279,28280,28281,28283,28284,28286,28287,28289,28290,28292,28293,28295,28296,28298,28299,28301,28302,28304,28305,28307,28308,28310,28311,28313,28314,28316,28317,28319,28320,28322,28323,28325,28326,28327,28328,28330,28331,28333,28334,28336,28337,28339,28340,28341,28342,28344,28345,28347,28348,28350,28351,28353,28354,28356,28357,28359,28360,28362,28363,28365,28366,28368,28369,28372,28373,28375,28376,28378,28379,28381,28382,28384,28385,28387,28388,28389,28390,28392,28393,28395,28396,28398,28399,28401,28402,28404,28405,28406,28407,28409,28410,28412,28413,28415,28416,28418,28419,28421,28422,28423,28424,28426,28427,28429,28430,28432,28433,28495,28496,28498,28499,28501,28502,28503,28504,28506,28507,28509,28510,28512,28513,28515,28516,28518,28519,28520,28521,28523,28524,28526,28527,28529,28530,28532,28533,28534,28535,28537,28538,28540,28541,28543,28544,28546,28547,28549,28550,28552,28553,28555,28556,28558,28559,28561,28562,28564,28565,28566,28567,28569,28570,28572,28573,28575,28576,28578,28579,28581,28582,28584,28585,28587,28588,28590,28591,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28604,28605,28608,28609,28611,28612,28613,28614,28615,28616,28618,28619,28621,28622,28624,28625,28627,28628,28630,28631,28633,28634,28636,28637,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28650,28651,28659,28660,28668,28669,28677,28678,28686,28687,28695,28696,28697,28698,28699,28700,28701,28702,28703,28704,28705,28706,28707,28708,28709,28710,28714,28715,28716,28717,28719,28720,28730,28731,28746,28747,28764,28765,28794,28795,28824,28825,28899,28900,28972,28973,29023,29024,29064,29065,29092,29093,29121,29122,29154,29155,29208,29209,29228,29229,29284,29285,30730,30731,30760,30761,30790,30791,30820,30821,30850,30851,30855,30856,30860,30861,30869,30870,30903,30904,30908,30909,30911,30912,30914,30915,30927,30928,30934,30935,30941,30942,30951,30952,30958,30959,30995,30996,31031,31032,31037,31038,31043,31044,31048,31049,31051,31052,31057,31058,31063,31064,31074,31075,31077,31078,31087,31088,31097,31098,31107,31108,31118,31119,31127,31128,31136,31137,31145,31146,31154,31155,31180,31181,31184,31185,31187,31188,31202,31203,31217,31218,31232,31233,31247,31248,31252,31253,31257,31258,31286,31287,31292,31293,31297,31298,31300,31301,31303,31304,31309,31310,31348,31349,31389,31390,31393,31394,31398,31399,31470,31471,31475,31476,31488,31489,31491,31492,31495,31496,31508,31509,31513,31514,31518,31519,31523,31524,31529,31530,31536,31537,31542,31543,31549,31550,31642,31643,31742,31743,31747,31748,31764,31765,31796,31797,31858,31859,31924,31925,31986,31987,32048,32049,32124,32125,32206,32207,32282,32283,32364,32365,32446,32447,32523,32524,32606,32607,32682,32683,32764,32765,32766,32768,32770,32849,32850,33343,41705,41706,47260,47261,50170,50171,50463,50464,50792,50793,51039,51040,51091,51092,51779,51780,51807,51808,53246,53247,53328,53329,53352,53353,53370,53371,53511,53512,53529,53530,53564,53565,53571,53572,53580,53581,53596,53597,53622,53623,53634,53635,53747,53748,53803,53804,53810,53811,53901,53902,54097,54098,54133,54134,54143,54144,54285,54286,54473,54474,54480,54481,54519,54520,54543,54544,54604,54605,54615,54616,54790,54791,54797,54798,55003,55004,55091,55092,55184,55185,55485,55486,55573,55574,55689,55690,55700,55701,55706,55707,55879,55880,55950,55951,55976,55977,56012,56013,56017,56018,56025,56026,56030,56031,56169,56170,56197,56198,56207,56208,56212,56213,56218,56219,56224,56225,56229,56230,56235,56236,56242,56243,56248,56249,56254,56255,56260,56261,56265,56266,56271,56272,56277,56278,56282,56283,56287,56288,56292,56293,56298,56299,56304,56305,56310,56311,56315,56316,56320,56321,56325,56326,56340,56341,56347,56348,56407,56408,56450,56451,56474,56475,56486,56487,56492,56493,56501,56502,56508,56509,56518,56519,56525,56526,56572,56573,56591,56592,56597,56598,56605,56606,56641,56642,56647,56648,56658,56659,56770,56771,56778,56779,56786,56787,56798,56799,56898,56899,56903,56904,56912,56913,57000,57001,57008,57009,57134,57135,57526,57527,57803,57804,57812,57813,57830,57831,57865,57866,57932,57933,57947,57948,57962,57963,58005,58006,58034,58035,58267,58268,58273,58274,58278,58279,58339,58340,58374,58375,58388,58389,58394,58395,58418,58419,58448,58449,58461,58462,58469,58470,58505,58506,58522,58523,58528,58529,58541,58542,58566,58567,58600,58601,58610,58611,58811,58812,58896,58897,58904,58905,58921,58922,58929,58930,58938,58939,58958,58959,59106,59107,59118,59119,59126,59127,59131,59132,59157,59158,59173,59174,59200,59201,59220,59221,59228,59229,59253,59254,59273,59274,59289,59290,59314,59315,59320,59321,59329,59330,59339,59340,59350,59351,59356,59357,59368,59369,59376,59377,59385,59386,59390,59391,59411,59412,59418,59419,59464,59465,59478,59479,59535,59536,59553,59554,60763,60764,60768,60769,60775,60776,60833,60834,60855,60856,60865,60866,62033,62034,62044,62045,62081,62082,62119,62120,62124,62125,62132,62133,62138,62139,62310,62311,62339,62340,62348,62349,62360,62361,62365,62366,62377,62378,62383,62384,62397,62398,62410,62411,62426,62427,62431,62432,62448,62449,62460,62461,62466,62467,62479,62480,62501,62502,62507,62508,62514,62515,62529,62530,62562,62563,62581,62582,62608,62609,62614,62615,62619,62620,63564,63565,63571,63572,63599,63600,63605,63606,63692,63693,63704,63705,63721,63722,63739,63740,63748,63749,63756,63757,63881,63882,63921,63922,64289,64290,64306,64307,64316,64317,64321,64322,64357,64358,64362,64363,64403,64404,64455,64456,64532,64533,64616,64617,64648,64649,64669,64670,64705,64706,64792,64793,64900,64901,64909,64910,64945,64946,64953,64954,64963,64964,65085,65086,65107,65108,65140,65141,65171,65172,65213,65214,65223,65224,65231,65232,65240,65241,65341,65342,65465,65466,65515,65516,65522,65523,65528,65529,65533,65536,65537,66030,66137,98304,98306,98385,98386,98879,103439,103440,103515,103516,103591,103592,103672,103673,103747,103748,103829,103830,103911,103912,103987,103988,104070,104071,104146,104147,104149,104150,104158,104159,104160,104161,104167,104168,104175,104176,104184,104185,104205,104206,104342,104343,104344,104345,104346,104347,104372,104373,104740,104741,104777,104778,105197,105198,105220,105221,105398,105399,105402,105403,105418,105419,105564,105565,107338,107339,107386,107387,107723,107724,108366,108367,117272,117273,117285,117286,117357,117358,117360,117361,117368,117369,117385,117386,117603,117604,117630,117631,117893,117894,117898,117899,117930,117931,117933,117934,117941,117942,118078,118079,119278,119279,119281,119282,119292,119293,119300,119301,119366,119367,119662,119663,121770,121771,121774,121775,121905,121906,121907,121908,121909,121910,121912,121913,121914,121915,121919,121920,121922,121923,121924,121925,121927,121928,121940,121941,121947,121948,121954,121955,121960,121961,121993,121994,122029,122030,122033,122034,122037,122038,122434,122435,122882,122883,122884,122885,122888,122889,122891,122892,122895,122896,123400,123401,125007,125008,125009,125010,125023,125024,125026,125027,125029,125030,125032,125033,125041,125042,125044,125045,125058,125059,125060,125061,125062,125063,125122,125123,125131,125132,125173,125174,125216,125217,125267,125268,125374,125375,125383,125384,125401,125402,125412,125413,125421,125422,125430,125431,125450,125451,125461,125462,125469,125470,125481,125482,125519,125520,125550,125551,125566,125567,125576,125577,125597,125598,125607,125608,125618,125619,125667,125668,125680,125681,125764,125765,125771,125772,125804,125805,125821,125822,125898,125899,126006,126007,126221,126222,126242,126243,126259,126260,126416,126417,126766,126767,126792,126793,126803,126804,126816,126817,126827,126828,126884,126885,126897,126898,126908,126909,126996,126997,127013,127014,127025,127026,127038,127039,127137,127138,127927,127928,127938,127939,127940,127941,127986,127987,128041,128042,128043,128044,128049,128050,128053,128054,128064,128065,128074,128075,128089,128090,128093,128094,128124,128125,128128,128129,128132,128133,128156,128157,128211,128212,128216,128217,128222,128223,128226,128227,128229,128230,129007,129008,129010,129011,129012,129013,129040,129041,129043,129044,129046,129047,129048,129049,129050,129051,129265,129266,129268,129269,129281,129282,129284,129285,129286,129287,129288,129289,129305,129306,129323,129324,129437,129438,129440,129441,129444,129445,129446,129447,129448,129449,129450,129451,129466,129467,129468,129469,129470,129471,129496,129497,129498,129499,129507,129508,129513,129514,129562,129563,129572,129573,129579,129580,129604,129605,130012,130013,130109,130110,130116,130117,130126,130127,130133,130134,130142,130143,130183,130184,130188,130189,130195,130196,130201,130202,130206,130207,130211,130212,130216,130217,130223,130224,130244,130245,130249,130250,130276,130277,130282,130283,130338,130339,130348,130349,130366,130367,130384,130385,130411,130412,130418,130419,130432,130433,130448,130449,130456,130457,130472,130473,130488,130489,130510,130511,130545,130546,130600,130601,130650,130651,130656,130657,130662,130663,130668,130669,130680,130681,130797,130798,130837,130838,130896,130897,130958,130959,130965,130966,130987,130988,131029,131030,131036,131037,131043,131044,131052,131053,131061,131062,131068,131069,131070,131072,131073,131566,131609,163840,163842,163921,163922,164415,164421,164422,164500,164501,164506,164507,164511,164512,164521,164522,164530,164531,164538,164539,164545,164546,164558,164559,164571,164572,164578,164579,164638,164639,164662,164663,164685,164686,164692,164693,164718,164719,164898,164899,164930,164931,164954,164955,165156,165157,165162,165163,165168,165169,165218,165219,165283,165284,165332,165333,165347,165348,165354,165355,165546,165547,165571,165572,165575,165576,165585,165586,165592,165593,165601,165602,165606,165607,165610,165611,165614,165615,165617,165618,165621,165622,165625,165626,165629,165630,165633,165634,165636,165637,165639,165640,165643,165644,165647,165648,165650,165651,165658,165659,165677,165678,165698,165699,165705,165706,165711,165712,165718,165719,165722,165723,165725,165726,165737,165738,165744,165745,165758,165759,165769,165770,165774,165775,165784,165785,165790,165791,165797,165798,165804,165805,165808,165809,165815,165816,165821,165822,165825,165826,165829,165830,165833,165834,165837,165838,165842,165843,165847,165848,165851,165852,165856,165857,165860,165861,165865,165866,165870,165871,165883,165884,165888,165889,165901,165902,165908,165909,165910,165911,166941,166942,166945,166946,166952,166953,166960,166961,166964,166965,166968,166969,166981,166982,166986,166987,166992,166993,166997,166998,167001,167002,167005,167006,167014,167015,167022,167023,167027,167028,167031,167032,167037,167038,167043,167044,167051,167052,167055,167056,167063,167064,167070,167071,167072,167073,167080,167081,167099,167100,167105,167106,167110,167111,167116,167117,167128,167129,167135,167136,167141,167142,167152,167153,167158,167159,167160,167161,167162,167163,167164,167165,167169,167170,167172,167173,167179,167180,167183,167184,167191,167192,167195,167196,167225,167226,167239,167240,167264,167265,167301,167302,167328,167329,167373,167374,167398,167399,167410,167411,167439,167440,167466,167467,167479,167480,167481,167482,167485,167486,167488,167489,167491,167492,167495,167496,167499,167500,167507,167508,167510,167511,167515,167516,167525,167526,167530,167531,167536,167537,167541,167542,167547,167548,167551,167552,167556,167557,167561,167562,167569,167570,167575,167576,167579,167580,167585,167586,167590,167591,167594,167595,167600,167601,167605,167606,167610,167611,167614,167615,167621,167622,167625,167626,167631,167632,167638,167639,167642,167643,167653,167654,167656,167657,167662,167663,167667,167668,167683,167684,167687,167688,167692,167693,167698,167699,167704,167705,167710,167711,167716,167717,167721,167722,167724,167725,167731,167732,167738,167739,167745,167746,167750,167751,167758,167759,167765,167766,167769,167770,167776,167777,167783,167784,167791,167792,167795,167796,167806,167807,167810,167811,167822,167823,167826,167827,167831,167832,167837,167838,167843,167844,167850,167851,167859,167860,167865,167866,167873,167874,167878,167879,167881,167882,167886,167887,167892,167893,167898,167899,167906,167907,167914,167915,167918,167919,167927,167928,167929,167930,167937,167938,167945,167946,167952,167953,168009,168010,168032,168033,168040,168041,168050,168051,168058,168059,168067,168068,168080,168081,168092,168093,168103,168104,168116,168117,168125,168126,168134,168135,168145,168146,168156,168157,168165,168166,168174,168175,168179,168180,168187,168188,168198,168199,168209,168210,168220,168221,168272,168273,168281,168282,168290,168291,168306,168307,168311,168312,168325,168326,168334,168335,168378,168379,168392,168393,168409,168410,168419,168420,168428,168429,168457,168458,168470,168471,168481,168482,168495,168496,168506,168507,168518,168519,168533,168534,168545,168546,168563,168564,168570,168571,168575,168576,168617,168618,168628,168629,168638,168639,168650,168651,168661,168662,168669,168670,168679,168680,168691,168692,168703,168704,168708,168709,168718,168719,168728,168729,168739,168740,168747,168748,168756,168757,168771,168772,168800,168801,168811,168812,168834,168835,168893,168894,168908,168909,168914,168915,168959,168960,168973,168974,168989,168990,169005,169006,169012,169013,169026,169027,169038,169039,169051,169052,169060,169061,169072,169073,169083,169084,169111,169112,169190,169191,169202,169203,169213,169214,169225,169226,169234,169235,169257,169258,169265,169266,169276,169277,169286,169287,169305,169306,169349,169350,169359,169360,169372,169373,169380,169381,169417,169418,169464,169465,169473,169474,169479,169480,169488,169489,169509,169510,169516,169517,169518,169519,169521,169522,169524,169525,169527,169528,169531,169532,169534,169535,169537,169538,169540,169541,169544,169545,169549,169550,169552,169553,169556,169557,169559,169560,169562,169563,169565,169566,169569,169570,169572,169573,169576,169577,169578,169579,169580,169581,169643,169644,169645,169646,169647,169648,169658,169659,169660,169661,169702,169703,169704,169705,169706,169707,169926,169927,169928,169929,169962,169963,169964,169965,169966,169967,170202,170203,170204,170205,170213,170214,170215,170216,170217,170218,170231,170232,170233,170234,170266,170267,170268,170269,170270,170271,170278,170279,170280,170281,170889,170890,170891,170892,170893,170894,170978,170979,170980,170981,171047,171048,171049,171050,171051,171052,171146,171147,171148,171149,173104,173105,173106,173107,173108,173109,174634,174635,174636,174637,174784,174785,174786,174787,174788,174789,175479,175480,175481,175482,175489,175490,175491,175492,175493,175494,175495,175496,175497,175498,175510,175511,175512,175513,178101,178102,178103,178104,178105,178106,180470,180471,180472,180473,180956,180957,180958,180959,180960,180961,181856,181857,181858,181859,182016,182017,182018,182019,182020,182021,182297,182298,182299,182300,183283,183284,183285,183286,183287,183288,183874,183875,183876,183877,183883,183884,183885,183886,183887,183888,183898,183899,183900,183901,183914,183915,183916,183917,183918,183919,183953,183954,183955,183956,183962,183963,183964,183965,183966,183967,183978,183979,183980,183981,184041,184042,184043,184044,184045,184046,184052,184053,184054,184055,184289,184290,184291,184292,184293,184294,184451,184452,184453,184454,184501,184502,184503,184504,184505,184506,184639,184640,184641,184642,186321,186322,186323,186324,186325,186326,187633,187634,187635,187636,187646,187647,187648,187649,187650,187651,187702,187703,187704,187705,187741,187742,187743,187744,187745,187746,187747,187748,187749,187750,187806,187807,187808,187809,187814,187815,187816,187817,187818,187819,187842,187843,187844,187845,189259,189260,189261,189262,189263,189264,190313,190314,190315,190316,190319,190320,190321,190322,190323,190324,190337,190338,190339,190340,190346,190347,190348,190349,190350,190351,190367,190368,190369,190370,190382,190383,190384,190385,190386,190387,190467,190468,190469,190470,190471,190472,190473,190474,192872,192873,192874,192875,192918,192919,192920,192921,192922,192923,193040,193041,193042,193043,193046,193047,193048,193049,193050,193051,193062,193063,193064,193065,193126,193127,193128,193129,193130,193131,193220,193221,193222,193223,193356,193357,193358,193359,193360,193361,193607,193608,193609,193610,193621,193622,193623,193624,193625,193626,193669,193670,193671,193672,194729,194730,194731,194732,194733,194734,195646,195647,195648,195649,195650,195651,195652,195653,195654,195655,195656,195657,195658,195659,195660,195661,196498,196499,196500,196501,196502,196503,196504,196505,196514,196515,196516,196517,196518,196519,196528,196529,196530,196531,196588,196589,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197102,197147,197148,197255,197256,197572,197573,197671,197672,197709,197710,197739,197740,197759,197760,197944,197945,198087,198088,198098,198099,198116,198117,198126,198127,198261,198262,198268,198269,198298,198299,198329,198330,198519,198520,198526,198527,198533,198534,198539,198540,198544,198545,198558,198559,198567,198568,198572,198573,198603,198604,198621,198622,198652,198653,198707,198708,198725,198726,198756,198757,198776,198777,198785,198786,198793,198794,198817,198818,198867,198868,198879,198880,198884,198885,198889,198890,199695,199696,199700,199701,199705,199706,199722,199723,199727,199728,199734,199735,199739,199740,199745,199746,199751,199752,199756,199757,199762,199763,199768,199769,199773,199774,199778,199779,199784,199785,199790,199791,199796,199797,199802,199803,199807,199808,199813,199814,199819,199820,199824,199825,199830,199831,199836,199837,199841,199842,199847,199848,199853,199854,199858,199859,199864,199865,199870,199871,199875,199876,199881,199882,199887,199888,199892,199893,199898,199899,199904,199905,199909,199910,199915,199916,199921,199922,199926,199927,199932,199933,199938,199939,199943,199944,199949,199950,199955,199956,199960,199961,199966,199967,199972,199973,199977,199978,199983,199984,199989,199990,199997,199998,200005,200006,200019,200020,200025,200026,200048,200049,200078,200079,200121,200122,200158,200159,200165,200166,200224,200225,200229,200230,200248,200249,200253,200254,200427,200428,200597,200598,200604,200605,200619,200620,200629,200630,200639,200640,200649,200650,200659,200660,200669,200670,200679,200680,200689,200690,200699,200700,200709,200710,200724,200725,200734,200735,200744,200745,200759,200760,200769,200770,200779,200780,200789,200790,200799,200800,200809,200810,200819,200820,200829,200830,200839,200840,200849,200850,200864,200865,200874,200875,200884,200885,200894,200895,200904,200905,200919,200920,200929,200930,200939,200940,200949,200950,200964,200965,200974,200975,200984,200985,200994,200995,201009,201010,201019,201020,201029,201030,201039,201040,201049,201050,201064,201065,201074,201075,201084,201085,201094,201095,201104,201105,201114,201115,201123,201124,201138,201139,201148,201149,201158,201159,201168,201169,201178,201179,201188,201189,201198,201199,201208,201209,201218,201219,201233,201234,201243,201244,201253,201254,201263,201264,201273,201274,201283,201284,201293,201294,201303,201304,201313,201314,201323,201324,201333,201334,201348,201349,201358,201359,201368,201369,201378,201379,201388,201389,201398,201399,201413,201414,201423,201424,201433,201434,201443,201444,201453,201454,201463,201464,201473,201474,201483,201484,201498,201499,201508,201509,201518,201519,201528,201529,201543,201544,201558,201559,201568,201569,201578,201579,201588,201589,201598,201599,201608,201609,201618,201619,201633,201634,201643,201644,201653,201654,201663,201664,201678,201679,201688,201689,201698,201699,201708,201709,201723,201724,201733,201734,201743,201744,201753,201754,201768,201769,201778,201779,201788,201789,201798,201799,201808,201809,201818,201819,201833,201834,201843,201844,201853,201854,201863,201864,201873,201874,201888,201889,201898,201899,201908,201909,201918,201919,201928,201929,201938,201939,201953,201954,201963,201964,201973,201974,201983,201984,201993,201994,202003,202004,202018,202019,202028,202029,202038,202039,202048,202049,202058,202059,202068,202069,202078,202079,202088,202089,202098,202099,202108,202109,202123,202124,202133,202134,202143,202144,202153,202154,202163,202164,202173,202174,202183,202184,202193,202194,202203,202204,202213,202214,202228,202229,202238,202239,202248,202249,202258,202259,202268,202269,202278,202279,202288,202289,202298,202299,202308,202309,202318,202319,202333,202334,202343,202344,202353,202354,202363,202364,202373,202374,202383,202384,202393,202394,202403,202404,202413,202414,202428,202429,202438,202439,202448,202449,202458,202459,202468,202469,202478,202479,202488,202489,202498,202499,202508,202509,202518,202519,202528,202529,202538,202539,202548,202549,202563,202564,202573,202574,202583,202584,202593,202594,202603,202604,202613,202614,202623,202624,202633,202634,202643,202644,202658,202659,202668,202669,202678,202679,202688,202689,202698,202699,202708,202709,202718,202719,202733,202734,202743,202744,202753,202754,202763,202764,202773,202774,202783,202784,202793,202794,202803,202804,202813,202814,202823,202824,202833,202834,202843,202844,202858,202859,202868,202869,202878,202879,202888,202889,202898,202899,202908,202909,202918,202919,202928,202929,202938,202939,202948,202949,202963,202964,202973,202974,202983,202984,202993,202994,203008,203009,203018,203019,203028,203029,203038,203039,203048,203049,203058,203059,203068,203069,203078,203079,203088,203089,203098,203099,203113,203114,203123,203124,203133,203134,203143,203144,203153,203154,203163,203164,203173,203174,203183,203184,203198,203199,203208,203209,203218,203219,203228,203229,203238,203239,203248,203249,203263,203264,203273,203274,203283,203284,203293,203294,203303,203304,203313,203314,203323,203324,203333,203334,203343,203344,203358,203359,203368,203369,203378,203379,203388,203389,203499,203500,203563,203564,203568,203569,203575,203576,203589,203590,203596,203597,203655,203656,203677,203678,203691,203692,203724,203725,203818,203819,203833,203834,203843,203844,203888,203889,203921,203922,203932,203933,203939,203940,203945,203946,204059,204060,204079,204080,204085,204086,204762,204763,204782,204783,204795,204796,204809,204810,204873,204874,204879,204880,204886,204887,204893,204894,204901,204902,204971,204972,204980,204981,204988,204989,205008,205009,205030,205031,205300,205301,210123,210124,210153,210154,210161,210162,210276,210277,210299,210300,210350,210351,210380,210381,210405,210406,210419,210420,210425,210426,210439,210440,210444,210445,210480,210481,210487,210488,210494,210495,210503,210504,210513,210514,210522,210523,210579,210580,210598,210599,210630,210631,210636,210637,210648,210649,210704,210705,210717,210718,210886,210887,210901,210902,210977,210978,211036,211037,211058,211059,211103,211104,211118,211119,211123,211124,211129,211130,211135,211136,211141,211142,211147,211148,211153,211154,211161,211162,211464,211465,211469,211470,211497,211498,211511,211512,211516,211517,211523,211524,211533,211534,211565,211566,211571,211572,211578,211579,211586,211587,211594,211595,211599,211600,211604,211605,211611,211612,211618,211619,211625,211626,211631,211632,211637,211638,211643,211644,211649,211650,211655,211656,211660,211661,211666,211667,211672,211673,211678,211679,211684,211685,211691,211692,211697,211698,211703,211704,211708,211709,211715,211716,211722,211723,211729,211730,211739,211740,211749,211750,211757,211758,211763,211764,211777,211778,211787,211788,211793,211794,211801,211802,211807,211808,211813,211814,211819,211820,211826,211827,211831,211832,211837,211838,211843,211844,211848,211849,211854,211855,211860,211861,211865,211866,211870,211871,211876,211877,211881,211882,211889,211890,211896,211897,211901,211902,211907,211908,212050,212051,212063,212064,212092,212093,212114,212115,212153,212154,212295,212296,212329,212330,212336,212337,212472,212473,212491,212492,212528,212529,212538,212539,212560,212561,212810,212811,212852,212853,212865,212866,212873,212874,212880,212881,212886,212887,212895,212896,212902,212903,212934,212935,212952,212953,212967,212968,212976,212977,212983,212984,212990,212991,213009,213010,213041,213042,213066,213067,213115,213116,213127,213128,213134,213135,213149,213150,213157,213158,213167,213168,213174,213175,213200,213201,213220,213221,213238,213239,213268,213269,213273,213274,213278,213279,213283,213284,213297,213298,213300,213301,215766,215767,215769,215770,215774,215775,215780,215781,215787,215788,215843,215844,215846,215847,216258,216259,217478,217479,217486,217487,217665,217666,217670,217671,217678,217679,217722,217723,217744,217745,217749,217750,217754,217755,217764,217765,217770,217771,217776,217777,217785,217786,217820,217821,217825,217826,217836,217837,217844,217845,217849,217850,217855,217856,218036,218037,218073,218074,218081,218082,218100,218101,218127,218128,218156,218157,218164,218165,218170,218171,218182,218183,218203,218204,218210,218211,218239,218240,218279,218280,218287,218288,218299,218300,218365,218366,218384,218385,218418,218419,218423,218424,218432,218433,218438,218439,218448,218449,218454,218455,218484,218485,218624,218625,218635,218636,218640,218641,218646,218647,218666,218667,218668,218669,218680,218681,218689,218690,218701,218702,218709,218710,218716,218717,218723,218724,218735,218736,218742,218743,218750,218751,218758,218759,218765,218766,218770,218771,218777,218778,218782,218783,218790,218791,218797,218798,218809,218810,218814,218815,218823,218824,218831,218832,218838,218839,218845,218846,218853,218854,218861,218862,218867,218868,218874,218875,218881,218882,218883,218884,218921,218922,218959,218960,218999,219000,219002,219003,219004,219005,219006,219007,219019,219020,219021,219022,219023,219024,219045,219046,219057,219058,219059,219060,219061,219062,219186,219187,219188,219189,219195,219196,219197,219198,219199,219200,219201,219202,219203,219204,219205,219206,219214,219215,219220,219221,219227,219228,219234,219235,219247,219248,219254,219255,219275,219276,219287,219288,219289,219290,219340,219341,219347,219348,219353,219354,219408,219409,219414,219415,219420,219421,219427,219428,219433,219434,219608,219609,219616,219617,219622,219623,219628,219629,219635,219636,219645,219646,219700,219701,219713,219714,219743,219744,219749,219750,219756,219757,219762,219763,219770,219771,219776,219777,219782,219783,219788,219789,219865,219866,219884,219885,219960,219961,219966,219967,219973,219974,220179,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248665,248666,248841,248842,248922,248923,249029,249030,249054,249055,249065,249066,249213,249214,249215,249216,249217,249218,250086,250087,250088,250089,250090,250091,250092,250093,250127,250128,250135,250136,250137,250138,250139,250140,250141,250142,250174,250175,250229,250230,250265,250266,250267,250268,250269,250270,250271,250272,250273,250274,250275,250276,250277,250278,250279,250280,250281,250282,250283,250284,250285,250286,250287,250288,250289,250290,250291,250292,250293,250294,250295,250296,250297,250298,250299,250300,250301,250302,250458,250459,250567,250568,250711,250712,250813,250814,251004,251005,251164,251165,251228,251229,251377,251378,251582,251583,251677,251678,251832,251833,251895,251896,251897,251898,251899,251900,251901,251902,251903,251904,251905,251906,251907,251908,251917,251918,251919,251920,251922,251923,251924,251925,251952,251953,251954,251955,251981,251982,251983,251984,252011,252012,252013,252014,252026,252027,252028,252029,252037,252038,252039,252040,252044,252045,252046,252047,252053,252054,252055,252056,252057,252058,252059,252060,252062,252063,252064,252065,252074,252075,252076,252077,252078,252079,252080,252081,252082,252083,252084,252085,252086,252087,252088,252089,252167,252168,252169,252170,252171,252172,252173,252174,252175,252176,252177,252178,252179,252180,252181,252182,252184,252185,252186,252187,252188,252189,252190,252191,252227,252228,252229,252230,252266,252267,252268,252269,252270,252271,252272,252273,252274,252275,252276,252277,252278,252279,252281,252282,252284,252285,252286,252287,252288,252289,252290,252291,252292,252293,252294,252295,252296,252297,252298,252299,252300,252301,252302,252303,252304,252305,257726,257727,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257741,257742,257745,257746,257750,257751,257755,257756,257760,257761,257762,257763,257764,257765,257768,257769,257770,257771,257772,257773,257774,257775,257776,257777,257778,257779,257780,257781,257782,257783,257784,257785,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257798,257799,257800,257801,257802,257803,257804,257805,257806,257807,257808,257809,257810,257811,257812,257813,257814,257815,257816,257817,257818,257819,257820,257821,257822,257823,257824,257825,257826,257827,257828,257829,257830,257831,257832,257833,257834,257835,257836,257837,257838,257839,257840,257841,257842,257843,257844,257845,257849,257850,257855,257856,257857,257858,257981,257982,257983,257984,257985,257986,257987,257988,257989,257990,257991,257992,257993,257994,257996,257997,257998,257999,258001,258002,258003,258004,258006,258007,258008,258009,258011,258012,258013,258014,258016,258017,258018,258019,258021,258022,258023,258024,258026,258027,258028,258029,258030,258031,258032,258033,258034,258035,258036,258037,258043,258044,258045,258046,258047,258048,258054,258055,258056,258057,258138,258139,258140,258141,258142,258143,258529,258530,258531,258532,258534,258535,258536,258537,258538,258539,258545,258546,258547,258548,258553,258554,258555,258556,258557,258558,258575,258576,258577,258578,258608,258609,258610,258611,258612,258613,258632,258633,258634,258635,258645,258646,258647,258648,258649,258650,258673,258674,258675,258676,258677,258678,258679,258680,258682,258683,258684,258685,258689,258690,258691,258692,258694,258695,258696,258697,258699,258700,258701,258702,258704,258705,258706,258707,258709,258710,258711,258712,258714,258715,258716,258717,258719,258720,258721,258722,258725,258726,258727,258728,258730,258731,258732,258733,258736,258737,258738,258739,258741,258742,258743,258744,258754,258755,258756,258757,258758,258759,258760,258761,258762,258763,258764,258765,258766,258767,258772,258773,258774,258775,258776,258777,258784,258785,258786,258787,258809,258810,258811,258812,258813,258814,258859,258860,258861,258862,258876,258877,258878,258879,258880,258881,258897,258898,258899,258900,258901,258902,258903,258904,258917,258918,258919,258920,258922,258923,258924,258925,258927,258928,258929,258930,258932,258933,258934,258935,258937,258938,258939,258940,258942,258943,258944,258945,258947,258948,258949,258950,258952,258953,258954,258955,258957,258958,258959,258960,258962,258963,258964,258965,258972,258973,258974,258975,258977,258978,258979,258980,258981,258982,258983,258984,258985,258986,258987,258988,258989,258990,258995,258996,258997,258998,258999,259000,259007,259008,259009,259010,259014,259015,259016,259017,259018,259019,259026,259027,259028,259029,259030,259031,259032,259033,259035,259036,259037,259038,259040,259041,259042,259043,259045,259046,259047,259048,259050,259051,259052,259053,259055,259056,259057,259058,259060,259061,259062,259063,259171,259172,259173,259174,259175,259176,259177,259178,259179,259180,259181,259182,259183,259184,259185,259186,259187,259188,259189,259190,259191,259192,259193,259194,259202,259203,259204,259205,259213,259214,259215,259216,259217,259218,259225,259226,259227,259228,259235,259236,259237,259238,259239,259240,259241,259242,259243,259244,259245,259246,259255,259256,259257,259258,259259,259260,259276,259277,259278,259279,259281,259282,259283,259284,259286,259287,259288,259289,259291,259292,259293,259294,259299,259300,259301,259302,259304,259305,259306,259307,259308,259309,259310,259311,259316,259317,259318,259319,259320,259321,259331,259332,259333,259334,259359,259360,259361,259362,259363,259364,259450,259451,259452,259453,259516,259517,259518,259519,259520,259521,259672,259673,259674,259675,259690,259691,259692,259693,259694,259695,259714,259715,259716,259717,259718,259719,259720,259721,260026,260027,260091,260092,260093,260094,260181,260182,260845,260846,260851,260852,260857,260858,260868,260869,260882,260883,260898,260899,260927,260928,260938,260939,260976,260977,261249,261250,261251,261252,261253,261254,261255,261256,261329,261330,261403,261404,261447,261448,261449,261450,261453,261454,261455,261456,261457,261458,261459,261460,261461,261462,261464,261465,261471,261472,261477,261478,261553,261554,261557,261558,261563,261564,261565,261566,261567,261568,261569,261570,261571,261572,261573,261574,261580,261581,261582,261583,261604,261605,261628,261629,261630,261631,261642,261643,261686,261687,261738,261739,262058,262059,262060,262061,262069,262070,262075,262076,262088,262089,262103,262104,262117,262118,262129,262130,262138,262139,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308735,308736,308737,308738,308751,308752,308762,308763,308764,308765,308787,308788,308891,308892,308893,308894,308941,308942,308948,308949,308950,308951,308959,308960,308969,308970,308971,308972,308994,308995,309005,309006,309007,309008,309018,309019,309051,309052,309053,309054,309080,309081,310223,310224,310225,310226,310227,310228,310229,310230,310231,310232,310891,310892,311257,311258,311259,311260,312161,312162,312180,312181,312182,312183,312210,312211,312429,312430,312431,312432,312512,312513,312932,312933,312934,312935,313623,313624,313631,313632,313633,313634,313653,313654,313658,313659,313660,313661,313662,313663,313664,313665,313674,313675,313782,313783,313784,313785,313878,313879,313887,313888,313889,313890,313891,313892,313893,313894,313911,313912,313931,313932,313933,313934,313944,313945,313999,314000,314001,314002,314014,314015,314019,314020,314021,314022,314032,314033,314047,314048,314049,314050,314086,314087,314096,314097,314098,314099,314142,314143,314169,314170,314171,314172,314224,314225,314234,314235,314236,314237,314275,314276,314288,314289,314290,314291,314292,314293,314372,314373,314374,314375,314376,314377,314378,314379,314383,314384,314385,314386,314395,314396,314404,314405,314406,314407,314435,314436,314501,314502,314503,314504,314572,314573") == "57b75fb7abf86ab92d437f90f03631aac1cada57" || 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", "6594,1,80,81,307,5536,6567,6568,6569,6570,6576,6577,6578,6579,6580,6581,6608,6609,6610,6611,6615,6616,6617,6618,6619,6620,6639,6640,6641,6642,6644,6645,6646,6647,6648,6649,6655,6656,6657,6658,6662,6663,6664,6665,6666,6667,6683,6684,6685,6686,6689,6690,6691,6692,6693,6694,6704,6705,6706,6707,6710,6711,6712,6713,6714,6715,6728,6729,6730,6731,6735,6736,6737,6738,6739,6740,6751,6752,6753,6754,6755,6756,6757,6758,6822,6823,6834,6835,6836,6837,6838,6839,6840,6841,6848,6849,6851,6852,6853,6854,6856,6857,6858,6859,6860,6861,6862,6863,6910,6911,6920,6921,6922,6923,6924,6925,6926,6927,6979,6980,6990,6991,6992,6993,6994,6995,6996,6997,7742,7743,18945,18946,18948,18949,18960,18961,18972,18973,18977,18978,18982,18983,18984,18985,18992,18993,18998,18999,19003,19004,19005,19006,19012,19013,19050,19051,19052,19053,19054,19055,19061,19062,19071,19072,19081,19082,19089,19090,19096,19097,19108,19109,19115,19116,19121,19122,19123,19124,19133,19134,19143,19144,19150,19151,19156,19157,19158,19159,19163,19164,19169,19170,19174,19175,19187,19188,19195,19196,19202,19203,19211,19212,19259,19260,19265,19266,19267,19268,19273,19274,19355,19356,19361,19362,19374,19375,19381,19382,19387,19388,19421,19422,19441,19442,19446,19447,19452,19453,19460,19461,19465,19466,19473,19474,19480,19481,19488,19489,19494,19495,19505,19506,19529,19530,19564,19565,19566,19567,19575,19576,19618,19619,19626,19627,19636,19637,19677,19678,19682,19683,19692,19693,19699,19700,19705,19706,19713,19714,19729,19730,19739,19740,19761,19762,19772,19773,19785,19786,19796,19797,19943,19944,19957,19958,19966,19967,19972,19973,20008,20009,20020,20021,20055,20056,20168,20169,20180,20181,20190,20191,20192,20193,20222,20223,20228,20229,20266,20267,20295,20296,20297,20298,20299,20300,20327,20328,20340,20341,20396,20397,20460,20461,20522,20523,20528,20529,20570,20571,20626,20627,20628,20629,20634,20635,20640,20641,20646,20647,20669,20670,20675,20676,20684,20685,20692,20693,20822,20823,20978,20979,20985,20986,21003,21004,21013,21014,21032,21033,21035,21036,21044,21045,21142,21143,21169,21170,21175,21176,21184,21185,21225,21226,21232,21233,21368,21369,21370,21371,21376,21377,21384,21385,21390,21391,21396,21397,21404,21405,21414,21415,21424,21425,21429,21430,21457,21458,21484,21485,21503,21504,21510,21511,21517,21518,21525,21526,21535,21536,21595,21596,21630,21631,21639,21640,21645,21646,21654,21655,21656,21657,21676,21677,21684,21685,21689,21690,21695,21696,21744,21745,22052,22053,22057,22058,22096,22097,22105,22106,22114,22115,22120,22121,22125,22126,22130,22131,22135,22136,22141,22142,22160,22161,22172,22173,22184,22185,22190,22191,22192,22193,22203,22204,22212,22213,22222,22223,22233,22234,22279,22280,22289,22290,22299,22300,22309,22310,22311,22312,22316,22317,22322,22323,22328,22329,22334,22335,22340,22341,22346,22347,22352,22353,22358,22359,22364,22365,22371,22372,22378,22379,22385,22386,22392,22393,22398,22399,22404,22405,22432,22433,22462,22463,22471,22472,22477,22478,22482,22483,22528,22529,22533,22534,22546,22547,22551,22552,22553,22554,22567,22568,22574,22575,22580,22581,22588,22589,22596,22597,22602,22603,22608,22609,22614,22615,22641,22642,22650,22651,22657,22658,22662,22663,22669,22670,22676,22677,22678,22679,22683,22684,22715,22716,22762,22763,22764,22765,22773,22774,22789,22790,22795,22796,22801,22802,22809,22810,22815,22816,22818,22819,22823,22824,22847,22848,22849,22850,22855,22856,22874,22875,22883,22884,22889,22890,22895,22896,22901,22902,22907,22908,22930,22931,23001,23002,23007,23008,23013,23014,23020,23021,23027,23028,23030,23031,23047,23048,23053,23054,23060,23061,23166,23167,23191,23192,23198,23199,23205,23206,23210,23211,23212,23213,23235,23236,23549,23550,23718,23719,23736,23737,23740,23741,23742,23743,23805,23806,23807,23808,23809,23810,23811,23812,23828,23829,23833,23834,23835,23836,23890,23891,23892,23893,23914,23915,23976,23977,23978,23979,23989,23990,23994,23995,23997,23998,24047,24048,24049,24050,24069,24070,24118,24119,24121,24122,24123,24124,24140,24141,24145,24146,24147,24148,24205,24206,24207,24208,24232,24233,24295,24296,24297,24298,24314,24315,24319,24320,24321,24322,24377,24378,24379,24380,24404,24405,24467,24468,24469,24470,24486,24487,24491,24492,24493,24494,24556,24557,24558,24559,24583,24584,24647,24648,24808,24809,24810,24811,24813,24814,24815,24816,24818,24819,24824,24825,24828,24829,24830,24831,24832,24833,24834,24835,24843,24844,24846,24847,25089,25090,25091,25092,25093,25094,25095,25096,25101,25102,25103,25104,25105,25106,25109,25110,25113,25114,25117,25118,25121,25122,25123,25124,25127,25128,25131,25132,25135,25136,25139,25140,25143,25144,25145,25146,25149,25150,25153,25154,25157,25158,25161,25162,25165,25166,25169,25170,25253,25254,25255,25256,25263,25264,25283,25284,25290,25291,25292,25293,25294,25295,25296,25297,25298,25299,25300,25301,25302,25303,25308,25309,25310,25311,25312,25313,25316,25317,25320,25321,25322,25323,25326,25327,25328,25329,25332,25333,25335,25336,25339,25340,25344,25345,25349,25350,25354,25355,25359,25360,25361,25362,25365,25366,25367,25368,25369,25370,25371,25372,25373,25374,25375,25376,25397,25398,25403,25404,25418,25419,25436,25437,25441,25442,25443,25444,25446,25447,25604,25605,25607,25608,25609,25610,25772,25773,25775,25776,25777,25778,25779,25780,25783,25784,25785,25786,25790,25791,25792,25793,25796,25797,25798,25799,25800,25801,25802,25803,25804,25805,25806,25807,25818,25819,25820,25821,25822,25823,25824,25825,25827,25828,25829,25830,25831,25832,25833,25834,25835,25836,25837,25838,25839,25840,25841,25842,25843,25844,25845,25846,25847,25848,25849,25850,25851,25852,25853,25854,25855,25856,25857,25858,25859,25860,25861,25862,25863,25864,25865,25866,25867,25868,25869,25870,25871,25872,25873,25874,25875,25876,25877,25878,25879,25880,25881,25882,25883,25884,25886,25887,25890,25891,25892,25893,25894,25895,25896,25897,25898,25899,25900,25901,25922,25923,25924,25925,25926,25927,25929,25930,25935,25936,25937,25938,25939,25940,25942,25943,25944,25945,25946,25947,25950,25951,25953,25954,25955,25956,25958,25959,25961,25962,25964,25965,25971,25972,25980,25981,25989,25990,25997,25998,26005,26006,26014,26015,26023,26024,26032,26033,26041,26042,26060,26061,26062,26063,26064,26065,26066,26067,26068,26069,27175,27176,27177,27178,27179,27180,27181,27182,27183,27184,27185,27186,27187,27188,27189,27190,27191,27192,27193,27194,27195,27196,27197,27198,27199,27200,27201,27202,27203,27204,27205,27206,27207,27208,27209,27210,27211,27212,27213,27214,27215,27216,27217,27218,27219,27220,27221,27222,27223,27224,27225,27226,27227,27228,27229,27230,27231,27232,27233,27234,27235,27236,27237,27238,27239,27240,27241,27242,27243,27244,27245,27246,27247,27248,27249,27250,27251,27252,27253,27254,27255,27256,27257,27258,27259,27260,27261,27262,27263,27264,27265,27266,27267,27268,27269,27270,27271,27272,27273,27274,27286,27287,27288,27289,27290,27291,27292,27293,27294,27295,27296,27297,27454,27455,27456,27457,27458,27459,27460,27461,27462,27463,27466,27467,27470,27471,27472,27473,27474,27475,27476,27477,27478,27479,27480,27481,27482,27483,27484,27485,27486,27487,27488,27489,27490,27491,27492,27493,27494,27495,27496,27497,27498,27499,27500,27501,27502,27503,27504,27505,27506,27507,27508,27509,27510,27511,27512,27513,27514,27515,27516,27517,27518,27519,27520,27521,27522,27523,27524,27525,27526,27527,27528,27529,27530,27531,27532,27533,27534,27535,27536,27537,27538,27539,27540,27541,27542,27543,27544,27545,27546,27547,27548,27549,27550,27551,27552,27553,27555,27556,27557,27558,27559,27560,27561,27562,27565,27566,27567,27568,27569,27570,27571,27572,27573,27574,27575,27576,27577,27578,27579,27580,27581,27582,27583,27584,27585,27586,27587,27588,27589,27590,27591,27592,27593,27594,27598,27599,27600,27601,27602,27603,27604,27605,27606,27607,28064,28065,28066,28067,28069,28070,28071,28072,28073,28074,28076,28077,28079,28080,28082,28083,28085,28086,28087,28088,28090,28091,28093,28094,28096,28097,28098,28099,28101,28102,28104,28105,28107,28108,28110,28111,28113,28114,28116,28117,28119,28120,28122,28123,28125,28126,28128,28129,28131,28132,28134,28135,28138,28139,28141,28142,28144,28145,28147,28148,28150,28151,28153,28154,28155,28156,28157,28158,28160,28161,28163,28164,28167,28168,28171,28172,28174,28175,28177,28178,28180,28181,28183,28184,28186,28187,28189,28190,28192,28193,28195,28196,28198,28199,28202,28203,28205,28206,28208,28209,28211,28212,28214,28215,28217,28218,28220,28221,28223,28224,28226,28227,28229,28230,28232,28233,28235,28236,28238,28239,28240,28241,28243,28244,28246,28247,28249,28250,28252,28253,28255,28256,28257,28258,28260,28261,28263,28264,28266,28267,28269,28270,28272,28273,28275,28276,28278,28279,28280,28281,28283,28284,28286,28287,28289,28290,28292,28293,28295,28296,28298,28299,28301,28302,28304,28305,28307,28308,28310,28311,28313,28314,28316,28317,28319,28320,28322,28323,28325,28326,28327,28328,28330,28331,28333,28334,28336,28337,28339,28340,28341,28342,28344,28345,28347,28348,28350,28351,28353,28354,28356,28357,28359,28360,28362,28363,28365,28366,28368,28369,28372,28373,28375,28376,28378,28379,28381,28382,28384,28385,28387,28388,28389,28390,28392,28393,28395,28396,28398,28399,28401,28402,28404,28405,28406,28407,28409,28410,28412,28413,28415,28416,28418,28419,28421,28422,28423,28424,28426,28427,28429,28430,28432,28433,28495,28496,28498,28499,28501,28502,28503,28504,28506,28507,28509,28510,28512,28513,28515,28516,28518,28519,28520,28521,28523,28524,28526,28527,28529,28530,28532,28533,28534,28535,28537,28538,28540,28541,28543,28544,28546,28547,28549,28550,28552,28553,28555,28556,28558,28559,28561,28562,28564,28565,28566,28567,28569,28570,28572,28573,28575,28576,28578,28579,28581,28582,28584,28585,28587,28588,28590,28591,28593,28594,28595,28596,28597,28598,28599,28600,28601,28602,28604,28605,28608,28609,28611,28612,28613,28614,28615,28616,28618,28619,28621,28622,28624,28625,28627,28628,28630,28631,28633,28634,28636,28637,28639,28640,28641,28642,28643,28644,28645,28646,28647,28648,28650,28651,28659,28660,28668,28669,28677,28678,28686,28687,28695,28696,28697,28698,28699,28700,28701,28702,28703,28704,28705,28706,28707,28708,28709,28710,28714,28715,28716,28717,28719,28720,28730,28731,28746,28747,28764,28765,28794,28795,28824,28825,28899,28900,28972,28973,29023,29024,29064,29065,29092,29093,29121,29122,29154,29155,29208,29209,29228,29229,29284,29285,30730,30731,30760,30761,30790,30791,30820,30821,30850,30851,30855,30856,30860,30861,30869,30870,30903,30904,30908,30909,30911,30912,30914,30915,30927,30928,30934,30935,30941,30942,30951,30952,30958,30959,30995,30996,31031,31032,31037,31038,31043,31044,31048,31049,31051,31052,31057,31058,31063,31064,31074,31075,31077,31078,31087,31088,31097,31098,31107,31108,31118,31119,31127,31128,31136,31137,31145,31146,31154,31155,31180,31181,31184,31185,31187,31188,31202,31203,31217,31218,31232,31233,31247,31248,31252,31253,31257,31258,31286,31287,31292,31293,31297,31298,31300,31301,31303,31304,31309,31310,31348,31349,31389,31390,31393,31394,31398,31399,31470,31471,31475,31476,31488,31489,31491,31492,31495,31496,31508,31509,31513,31514,31518,31519,31523,31524,31529,31530,31536,31537,31542,31543,31549,31550,31642,31643,31742,31743,31747,31748,31764,31765,31796,31797,31858,31859,31924,31925,31986,31987,32048,32049,32124,32125,32206,32207,32282,32283,32364,32365,32446,32447,32523,32524,32606,32607,32682,32683,32764,32765,32766,32768,32770,32849,32850,33343,41705,41706,47260,47261,50170,50171,50463,50464,50792,50793,51039,51040,51091,51092,51779,51780,51807,51808,53246,53247,53328,53329,53352,53353,53370,53371,53511,53512,53529,53530,53564,53565,53571,53572,53580,53581,53596,53597,53622,53623,53634,53635,53747,53748,53803,53804,53810,53811,53901,53902,54097,54098,54133,54134,54143,54144,54285,54286,54473,54474,54480,54481,54519,54520,54543,54544,54604,54605,54615,54616,54790,54791,54797,54798,55003,55004,55091,55092,55184,55185,55485,55486,55573,55574,55689,55690,55700,55701,55706,55707,55879,55880,55950,55951,55976,55977,56012,56013,56017,56018,56025,56026,56030,56031,56169,56170,56197,56198,56207,56208,56212,56213,56218,56219,56224,56225,56229,56230,56235,56236,56242,56243,56248,56249,56254,56255,56260,56261,56265,56266,56271,56272,56277,56278,56282,56283,56287,56288,56292,56293,56298,56299,56304,56305,56310,56311,56315,56316,56320,56321,56325,56326,56340,56341,56347,56348,56407,56408,56450,56451,56474,56475,56486,56487,56492,56493,56501,56502,56508,56509,56518,56519,56525,56526,56572,56573,56591,56592,56597,56598,56605,56606,56641,56642,56647,56648,56658,56659,56770,56771,56778,56779,56786,56787,56798,56799,56898,56899,56903,56904,56912,56913,57000,57001,57008,57009,57134,57135,57526,57527,57803,57804,57812,57813,57830,57831,57865,57866,57932,57933,57947,57948,57962,57963,58005,58006,58034,58035,58267,58268,58273,58274,58278,58279,58339,58340,58374,58375,58388,58389,58394,58395,58418,58419,58448,58449,58461,58462,58469,58470,58505,58506,58522,58523,58528,58529,58541,58542,58566,58567,58600,58601,58610,58611,58811,58812,58896,58897,58904,58905,58921,58922,58929,58930,58938,58939,58958,58959,59106,59107,59118,59119,59126,59127,59131,59132,59157,59158,59173,59174,59200,59201,59220,59221,59228,59229,59253,59254,59273,59274,59289,59290,59314,59315,59320,59321,59329,59330,59339,59340,59350,59351,59356,59357,59368,59369,59376,59377,59385,59386,59390,59391,59411,59412,59418,59419,59464,59465,59478,59479,59535,59536,59553,59554,60763,60764,60768,60769,60775,60776,60833,60834,60855,60856,60865,60866,62033,62034,62044,62045,62081,62082,62119,62120,62124,62125,62132,62133,62138,62139,62310,62311,62339,62340,62348,62349,62360,62361,62365,62366,62377,62378,62383,62384,62397,62398,62410,62411,62426,62427,62431,62432,62448,62449,62460,62461,62466,62467,62479,62480,62501,62502,62507,62508,62514,62515,62529,62530,62562,62563,62581,62582,62608,62609,62614,62615,62619,62620,63564,63565,63571,63572,63599,63600,63605,63606,63692,63693,63704,63705,63721,63722,63739,63740,63748,63749,63756,63757,63881,63882,63921,63922,64289,64290,64306,64307,64316,64317,64321,64322,64357,64358,64362,64363,64403,64404,64455,64456,64532,64533,64616,64617,64648,64649,64669,64670,64705,64706,64792,64793,64900,64901,64909,64910,64945,64946,64953,64954,64963,64964,65085,65086,65107,65108,65140,65141,65171,65172,65213,65214,65223,65224,65231,65232,65240,65241,65341,65342,65465,65466,65515,65516,65522,65523,65528,65529,65533,65536,65537,66030,66137,98304,98306,98385,98386,98879,103439,103440,103515,103516,103591,103592,103672,103673,103747,103748,103829,103830,103911,103912,103987,103988,104070,104071,104146,104147,104149,104150,104158,104159,104160,104161,104167,104168,104175,104176,104184,104185,104205,104206,104342,104343,104344,104345,104346,104347,104372,104373,104740,104741,104777,104778,105197,105198,105220,105221,105398,105399,105402,105403,105418,105419,105564,105565,107338,107339,107386,107387,107723,107724,108366,108367,117272,117273,117285,117286,117357,117358,117360,117361,117368,117369,117385,117386,117603,117604,117630,117631,117893,117894,117898,117899,117930,117931,117933,117934,117941,117942,118078,118079,119278,119279,119281,119282,119292,119293,119300,119301,119366,119367,119662,119663,121770,121771,121774,121775,121905,121906,121907,121908,121909,121910,121912,121913,121914,121915,121919,121920,121922,121923,121924,121925,121927,121928,121940,121941,121947,121948,121954,121955,121960,121961,121993,121994,122029,122030,122033,122034,122037,122038,122434,122435,122882,122883,122884,122885,122888,122889,122891,122892,122895,122896,123400,123401,125007,125008,125009,125010,125023,125024,125026,125027,125029,125030,125032,125033,125041,125042,125044,125045,125058,125059,125060,125061,125062,125063,125122,125123,125131,125132,125173,125174,125216,125217,125267,125268,125374,125375,125383,125384,125401,125402,125412,125413,125421,125422,125430,125431,125450,125451,125461,125462,125469,125470,125481,125482,125519,125520,125550,125551,125566,125567,125576,125577,125597,125598,125607,125608,125618,125619,125667,125668,125680,125681,125764,125765,125771,125772,125804,125805,125821,125822,125898,125899,126006,126007,126221,126222,126242,126243,126259,126260,126416,126417,126766,126767,126792,126793,126803,126804,126816,126817,126827,126828,126884,126885,126897,126898,126908,126909,126996,126997,127013,127014,127025,127026,127038,127039,127137,127138,127927,127928,127938,127939,127940,127941,127986,127987,128041,128042,128043,128044,128049,128050,128053,128054,128064,128065,128074,128075,128089,128090,128093,128094,128124,128125,128128,128129,128132,128133,128156,128157,128211,128212,128216,128217,128222,128223,128226,128227,128229,128230,129007,129008,129010,129011,129012,129013,129040,129041,129043,129044,129046,129047,129048,129049,129050,129051,129265,129266,129268,129269,129281,129282,129284,129285,129286,129287,129288,129289,129305,129306,129323,129324,129437,129438,129440,129441,129444,129445,129446,129447,129448,129449,129450,129451,129466,129467,129468,129469,129470,129471,129496,129497,129498,129499,129507,129508,129513,129514,129562,129563,129572,129573,129579,129580,129604,129605,130012,130013,130109,130110,130116,130117,130126,130127,130133,130134,130142,130143,130183,130184,130188,130189,130195,130196,130201,130202,130206,130207,130211,130212,130216,130217,130223,130224,130244,130245,130249,130250,130276,130277,130282,130283,130338,130339,130348,130349,130366,130367,130384,130385,130411,130412,130418,130419,130432,130433,130448,130449,130456,130457,130472,130473,130488,130489,130510,130511,130545,130546,130600,130601,130650,130651,130656,130657,130662,130663,130668,130669,130680,130681,130797,130798,130837,130838,130896,130897,130958,130959,130965,130966,130987,130988,131029,131030,131036,131037,131043,131044,131052,131053,131061,131062,131068,131069,131070,131072,131073,131566,131609,163840,163842,163921,163922,164415,164421,164422,164500,164501,164506,164507,164511,164512,164521,164522,164530,164531,164538,164539,164545,164546,164558,164559,164571,164572,164578,164579,164638,164639,164662,164663,164685,164686,164692,164693,164718,164719,164898,164899,164930,164931,164954,164955,165156,165157,165162,165163,165168,165169,165218,165219,165283,165284,165332,165333,165347,165348,165354,165355,165546,165547,165571,165572,165575,165576,165585,165586,165592,165593,165601,165602,165606,165607,165610,165611,165614,165615,165617,165618,165621,165622,165625,165626,165629,165630,165633,165634,165636,165637,165639,165640,165643,165644,165647,165648,165650,165651,165658,165659,165677,165678,165698,165699,165705,165706,165711,165712,165718,165719,165722,165723,165725,165726,165737,165738,165744,165745,165758,165759,165769,165770,165774,165775,165784,165785,165790,165791,165797,165798,165804,165805,165808,165809,165815,165816,165821,165822,165825,165826,165829,165830,165833,165834,165837,165838,165842,165843,165847,165848,165851,165852,165856,165857,165860,165861,165865,165866,165870,165871,165883,165884,165888,165889,165901,165902,165908,165909,165910,165911,166941,166942,166945,166946,166952,166953,166960,166961,166964,166965,166968,166969,166981,166982,166986,166987,166992,166993,166997,166998,167001,167002,167005,167006,167014,167015,167022,167023,167027,167028,167031,167032,167037,167038,167043,167044,167051,167052,167055,167056,167063,167064,167070,167071,167072,167073,167080,167081,167099,167100,167105,167106,167110,167111,167116,167117,167128,167129,167135,167136,167141,167142,167152,167153,167158,167159,167160,167161,167162,167163,167164,167165,167169,167170,167172,167173,167179,167180,167183,167184,167191,167192,167195,167196,167225,167226,167239,167240,167264,167265,167301,167302,167328,167329,167373,167374,167398,167399,167410,167411,167439,167440,167466,167467,167479,167480,167481,167482,167485,167486,167488,167489,167491,167492,167495,167496,167499,167500,167507,167508,167510,167511,167515,167516,167525,167526,167530,167531,167536,167537,167541,167542,167547,167548,167551,167552,167556,167557,167561,167562,167569,167570,167575,167576,167579,167580,167585,167586,167590,167591,167594,167595,167600,167601,167605,167606,167610,167611,167614,167615,167621,167622,167625,167626,167631,167632,167638,167639,167642,167643,167653,167654,167656,167657,167662,167663,167667,167668,167683,167684,167687,167688,167692,167693,167698,167699,167704,167705,167710,167711,167716,167717,167721,167722,167724,167725,167731,167732,167738,167739,167745,167746,167750,167751,167758,167759,167765,167766,167769,167770,167776,167777,167783,167784,167791,167792,167795,167796,167806,167807,167810,167811,167822,167823,167826,167827,167831,167832,167837,167838,167843,167844,167850,167851,167859,167860,167865,167866,167873,167874,167878,167879,167881,167882,167886,167887,167892,167893,167898,167899,167906,167907,167914,167915,167918,167919,167927,167928,167929,167930,167937,167938,167945,167946,167952,167953,168009,168010,168032,168033,168040,168041,168050,168051,168058,168059,168067,168068,168080,168081,168092,168093,168103,168104,168116,168117,168125,168126,168134,168135,168145,168146,168156,168157,168165,168166,168174,168175,168179,168180,168187,168188,168198,168199,168209,168210,168220,168221,168272,168273,168281,168282,168290,168291,168306,168307,168311,168312,168325,168326,168334,168335,168378,168379,168392,168393,168409,168410,168419,168420,168428,168429,168457,168458,168470,168471,168481,168482,168495,168496,168506,168507,168518,168519,168533,168534,168545,168546,168563,168564,168570,168571,168575,168576,168617,168618,168628,168629,168638,168639,168650,168651,168661,168662,168669,168670,168679,168680,168691,168692,168703,168704,168708,168709,168718,168719,168728,168729,168739,168740,168747,168748,168756,168757,168771,168772,168800,168801,168811,168812,168834,168835,168893,168894,168908,168909,168914,168915,168959,168960,168973,168974,168989,168990,169005,169006,169012,169013,169026,169027,169038,169039,169051,169052,169060,169061,169072,169073,169083,169084,169111,169112,169190,169191,169202,169203,169213,169214,169225,169226,169234,169235,169257,169258,169265,169266,169276,169277,169286,169287,169305,169306,169349,169350,169359,169360,169372,169373,169380,169381,169417,169418,169464,169465,169473,169474,169479,169480,169488,169489,169509,169510,169516,169517,169518,169519,169521,169522,169524,169525,169527,169528,169531,169532,169534,169535,169537,169538,169540,169541,169544,169545,169549,169550,169552,169553,169556,169557,169559,169560,169562,169563,169565,169566,169569,169570,169572,169573,169576,169577,169578,169579,169580,169581,169643,169644,169645,169646,169647,169648,169658,169659,169660,169661,169702,169703,169704,169705,169706,169707,169926,169927,169928,169929,169962,169963,169964,169965,169966,169967,170202,170203,170204,170205,170213,170214,170215,170216,170217,170218,170231,170232,170233,170234,170266,170267,170268,170269,170270,170271,170278,170279,170280,170281,170889,170890,170891,170892,170893,170894,170978,170979,170980,170981,171047,171048,171049,171050,171051,171052,171146,171147,171148,171149,173104,173105,173106,173107,173108,173109,174634,174635,174636,174637,174784,174785,174786,174787,174788,174789,175479,175480,175481,175482,175489,175490,175491,175492,175493,175494,175495,175496,175497,175498,175510,175511,175512,175513,178101,178102,178103,178104,178105,178106,180470,180471,180472,180473,180956,180957,180958,180959,180960,180961,181856,181857,181858,181859,182016,182017,182018,182019,182020,182021,182297,182298,182299,182300,183283,183284,183285,183286,183287,183288,183874,183875,183876,183877,183883,183884,183885,183886,183887,183888,183898,183899,183900,183901,183914,183915,183916,183917,183918,183919,183953,183954,183955,183956,183962,183963,183964,183965,183966,183967,183978,183979,183980,183981,184041,184042,184043,184044,184045,184046,184052,184053,184054,184055,184289,184290,184291,184292,184293,184294,184451,184452,184453,184454,184501,184502,184503,184504,184505,184506,184639,184640,184641,184642,186321,186322,186323,186324,186325,186326,187633,187634,187635,187636,187646,187647,187648,187649,187650,187651,187702,187703,187704,187705,187741,187742,187743,187744,187745,187746,187747,187748,187749,187750,187806,187807,187808,187809,187814,187815,187816,187817,187818,187819,187842,187843,187844,187845,189259,189260,189261,189262,189263,189264,190313,190314,190315,190316,190319,190320,190321,190322,190323,190324,190337,190338,190339,190340,190346,190347,190348,190349,190350,190351,190367,190368,190369,190370,190382,190383,190384,190385,190386,190387,190467,190468,190469,190470,190471,190472,190473,190474,192872,192873,192874,192875,192918,192919,192920,192921,192922,192923,193040,193041,193042,193043,193046,193047,193048,193049,193050,193051,193062,193063,193064,193065,193126,193127,193128,193129,193130,193131,193220,193221,193222,193223,193356,193357,193358,193359,193360,193361,193607,193608,193609,193610,193621,193622,193623,193624,193625,193626,193669,193670,193671,193672,194729,194730,194731,194732,194733,194734,195646,195647,195648,195649,195650,195651,195652,195653,195654,195655,195656,195657,195658,195659,195660,195661,196498,196499,196500,196501,196502,196503,196504,196505,196514,196515,196516,196517,196518,196519,196528,196529,196530,196531,196588,196589,196590,196591,196592,196593,196594,196595,196596,196597,196598,196599,196600,196601,196602,196603,196604,196605,196606,196608,196609,197102,197147,197148,197255,197256,197572,197573,197671,197672,197709,197710,197739,197740,197759,197760,197944,197945,198087,198088,198098,198099,198116,198117,198126,198127,198261,198262,198268,198269,198298,198299,198329,198330,198519,198520,198526,198527,198533,198534,198539,198540,198544,198545,198558,198559,198567,198568,198572,198573,198603,198604,198621,198622,198652,198653,198707,198708,198725,198726,198756,198757,198776,198777,198785,198786,198793,198794,198817,198818,198867,198868,198879,198880,198884,198885,198889,198890,199695,199696,199700,199701,199705,199706,199722,199723,199727,199728,199734,199735,199739,199740,199745,199746,199751,199752,199756,199757,199762,199763,199768,199769,199773,199774,199778,199779,199784,199785,199790,199791,199796,199797,199802,199803,199807,199808,199813,199814,199819,199820,199824,199825,199830,199831,199836,199837,199841,199842,199847,199848,199853,199854,199858,199859,199864,199865,199870,199871,199875,199876,199881,199882,199887,199888,199892,199893,199898,199899,199904,199905,199909,199910,199915,199916,199921,199922,199926,199927,199932,199933,199938,199939,199943,199944,199949,199950,199955,199956,199960,199961,199966,199967,199972,199973,199977,199978,199983,199984,199989,199990,199997,199998,200005,200006,200019,200020,200025,200026,200048,200049,200078,200079,200121,200122,200158,200159,200165,200166,200224,200225,200229,200230,200248,200249,200253,200254,200427,200428,200597,200598,200604,200605,200619,200620,200629,200630,200639,200640,200649,200650,200659,200660,200669,200670,200679,200680,200689,200690,200699,200700,200709,200710,200724,200725,200734,200735,200744,200745,200759,200760,200769,200770,200779,200780,200789,200790,200799,200800,200809,200810,200819,200820,200829,200830,200839,200840,200849,200850,200864,200865,200874,200875,200884,200885,200894,200895,200904,200905,200919,200920,200929,200930,200939,200940,200949,200950,200964,200965,200974,200975,200984,200985,200994,200995,201009,201010,201019,201020,201029,201030,201039,201040,201049,201050,201064,201065,201074,201075,201084,201085,201094,201095,201104,201105,201114,201115,201123,201124,201138,201139,201148,201149,201158,201159,201168,201169,201178,201179,201188,201189,201198,201199,201208,201209,201218,201219,201233,201234,201243,201244,201253,201254,201263,201264,201273,201274,201283,201284,201293,201294,201303,201304,201313,201314,201323,201324,201333,201334,201348,201349,201358,201359,201368,201369,201378,201379,201388,201389,201398,201399,201413,201414,201423,201424,201433,201434,201443,201444,201453,201454,201463,201464,201473,201474,201483,201484,201498,201499,201508,201509,201518,201519,201528,201529,201543,201544,201558,201559,201568,201569,201578,201579,201588,201589,201598,201599,201608,201609,201618,201619,201633,201634,201643,201644,201653,201654,201663,201664,201678,201679,201688,201689,201698,201699,201708,201709,201723,201724,201733,201734,201743,201744,201753,201754,201768,201769,201778,201779,201788,201789,201798,201799,201808,201809,201818,201819,201833,201834,201843,201844,201853,201854,201863,201864,201873,201874,201888,201889,201898,201899,201908,201909,201918,201919,201928,201929,201938,201939,201953,201954,201963,201964,201973,201974,201983,201984,201993,201994,202003,202004,202018,202019,202028,202029,202038,202039,202048,202049,202058,202059,202068,202069,202078,202079,202088,202089,202098,202099,202108,202109,202123,202124,202133,202134,202143,202144,202153,202154,202163,202164,202173,202174,202183,202184,202193,202194,202203,202204,202213,202214,202228,202229,202238,202239,202248,202249,202258,202259,202268,202269,202278,202279,202288,202289,202298,202299,202308,202309,202318,202319,202333,202334,202343,202344,202353,202354,202363,202364,202373,202374,202383,202384,202393,202394,202403,202404,202413,202414,202428,202429,202438,202439,202448,202449,202458,202459,202468,202469,202478,202479,202488,202489,202498,202499,202508,202509,202518,202519,202528,202529,202538,202539,202548,202549,202563,202564,202573,202574,202583,202584,202593,202594,202603,202604,202613,202614,202623,202624,202633,202634,202643,202644,202658,202659,202668,202669,202678,202679,202688,202689,202698,202699,202708,202709,202718,202719,202733,202734,202743,202744,202753,202754,202763,202764,202773,202774,202783,202784,202793,202794,202803,202804,202813,202814,202823,202824,202833,202834,202843,202844,202858,202859,202868,202869,202878,202879,202888,202889,202898,202899,202908,202909,202918,202919,202928,202929,202938,202939,202948,202949,202963,202964,202973,202974,202983,202984,202993,202994,203008,203009,203018,203019,203028,203029,203038,203039,203048,203049,203058,203059,203068,203069,203078,203079,203088,203089,203098,203099,203113,203114,203123,203124,203133,203134,203143,203144,203153,203154,203163,203164,203173,203174,203183,203184,203198,203199,203208,203209,203218,203219,203228,203229,203238,203239,203248,203249,203263,203264,203273,203274,203283,203284,203293,203294,203303,203304,203313,203314,203323,203324,203333,203334,203343,203344,203358,203359,203368,203369,203378,203379,203388,203389,203499,203500,203563,203564,203568,203569,203575,203576,203589,203590,203596,203597,203655,203656,203677,203678,203691,203692,203724,203725,203818,203819,203833,203834,203843,203844,203888,203889,203921,203922,203932,203933,203939,203940,203945,203946,204059,204060,204079,204080,204085,204086,204762,204763,204782,204783,204795,204796,204809,204810,204873,204874,204879,204880,204886,204887,204893,204894,204901,204902,204971,204972,204980,204981,204988,204989,205008,205009,205030,205031,205300,205301,210123,210124,210153,210154,210161,210162,210276,210277,210299,210300,210350,210351,210380,210381,210405,210406,210419,210420,210425,210426,210439,210440,210444,210445,210480,210481,210487,210488,210494,210495,210503,210504,210513,210514,210522,210523,210579,210580,210598,210599,210630,210631,210636,210637,210648,210649,210704,210705,210717,210718,210886,210887,210901,210902,210977,210978,211036,211037,211058,211059,211103,211104,211118,211119,211123,211124,211129,211130,211135,211136,211141,211142,211147,211148,211153,211154,211161,211162,211464,211465,211469,211470,211497,211498,211511,211512,211516,211517,211523,211524,211533,211534,211565,211566,211571,211572,211578,211579,211586,211587,211594,211595,211599,211600,211604,211605,211611,211612,211618,211619,211625,211626,211631,211632,211637,211638,211643,211644,211649,211650,211655,211656,211660,211661,211666,211667,211672,211673,211678,211679,211684,211685,211691,211692,211697,211698,211703,211704,211708,211709,211715,211716,211722,211723,211729,211730,211739,211740,211749,211750,211757,211758,211763,211764,211777,211778,211787,211788,211793,211794,211801,211802,211807,211808,211813,211814,211819,211820,211826,211827,211831,211832,211837,211838,211843,211844,211848,211849,211854,211855,211860,211861,211865,211866,211870,211871,211876,211877,211881,211882,211889,211890,211896,211897,211901,211902,211907,211908,212050,212051,212063,212064,212092,212093,212114,212115,212153,212154,212295,212296,212329,212330,212336,212337,212472,212473,212491,212492,212528,212529,212538,212539,212560,212561,212810,212811,212852,212853,212865,212866,212873,212874,212880,212881,212886,212887,212895,212896,212902,212903,212934,212935,212952,212953,212967,212968,212976,212977,212983,212984,212990,212991,213009,213010,213041,213042,213066,213067,213115,213116,213127,213128,213134,213135,213149,213150,213157,213158,213167,213168,213174,213175,213200,213201,213220,213221,213238,213239,213268,213269,213273,213274,213278,213279,213283,213284,213297,213298,213300,213301,215766,215767,215769,215770,215774,215775,215780,215781,215787,215788,215843,215844,215846,215847,216258,216259,217478,217479,217486,217487,217665,217666,217670,217671,217678,217679,217722,217723,217744,217745,217749,217750,217754,217755,217764,217765,217770,217771,217776,217777,217785,217786,217820,217821,217825,217826,217836,217837,217844,217845,217849,217850,217855,217856,218036,218037,218073,218074,218081,218082,218100,218101,218127,218128,218156,218157,218164,218165,218170,218171,218182,218183,218203,218204,218210,218211,218239,218240,218279,218280,218287,218288,218299,218300,218365,218366,218384,218385,218418,218419,218423,218424,218432,218433,218438,218439,218448,218449,218454,218455,218484,218485,218624,218625,218635,218636,218640,218641,218646,218647,218666,218667,218668,218669,218680,218681,218689,218690,218701,218702,218709,218710,218716,218717,218723,218724,218735,218736,218742,218743,218750,218751,218758,218759,218765,218766,218770,218771,218777,218778,218782,218783,218790,218791,218797,218798,218809,218810,218814,218815,218823,218824,218831,218832,218838,218839,218845,218846,218853,218854,218861,218862,218867,218868,218874,218875,218881,218882,218883,218884,218921,218922,218959,218960,218999,219000,219002,219003,219004,219005,219006,219007,219019,219020,219021,219022,219023,219024,219045,219046,219057,219058,219059,219060,219061,219062,219186,219187,219188,219189,219195,219196,219197,219198,219199,219200,219201,219202,219203,219204,219205,219206,219214,219215,219220,219221,219227,219228,219234,219235,219247,219248,219254,219255,219275,219276,219287,219288,219289,219290,219340,219341,219347,219348,219353,219354,219408,219409,219414,219415,219420,219421,219427,219428,219433,219434,219608,219609,219616,219617,219622,219623,219628,219629,219635,219636,219645,219646,219700,219701,219713,219714,219743,219744,219749,219750,219756,219757,219762,219763,219770,219771,219776,219777,219782,219783,219788,219789,219865,219866,219884,219885,219960,219961,219966,219967,219973,219974,220179,229376,229378,229457,229458,229951,238877,238878,242442,242443,244973,244974,247034,247035,248132,248133,248665,248666,248841,248842,248922,248923,249029,249030,249054,249055,249065,249066,249213,249214,249215,249216,249217,249218,250086,250087,250088,250089,250090,250091,250092,250093,250127,250128,250135,250136,250137,250138,250139,250140,250141,250142,250174,250175,250229,250230,250265,250266,250267,250268,250269,250270,250271,250272,250273,250274,250275,250276,250277,250278,250279,250280,250281,250282,250283,250284,250285,250286,250287,250288,250289,250290,250291,250292,250293,250294,250295,250296,250297,250298,250299,250300,250301,250302,250458,250459,250567,250568,250711,250712,250813,250814,251004,251005,251164,251165,251228,251229,251377,251378,251582,251583,251677,251678,251832,251833,251895,251896,251897,251898,251899,251900,251901,251902,251903,251904,251905,251906,251907,251908,251917,251918,251919,251920,251922,251923,251924,251925,251952,251953,251954,251955,251981,251982,251983,251984,252011,252012,252013,252014,252026,252027,252028,252029,252037,252038,252039,252040,252044,252045,252046,252047,252053,252054,252055,252056,252057,252058,252059,252060,252062,252063,252064,252065,252074,252075,252076,252077,252078,252079,252080,252081,252082,252083,252084,252085,252086,252087,252088,252089,252167,252168,252169,252170,252171,252172,252173,252174,252175,252176,252177,252178,252179,252180,252181,252182,252184,252185,252186,252187,252188,252189,252190,252191,252227,252228,252229,252230,252266,252267,252268,252269,252270,252271,252272,252273,252274,252275,252276,252277,252278,252279,252281,252282,252284,252285,252286,252287,252288,252289,252290,252291,252292,252293,252294,252295,252296,252297,252298,252299,252300,252301,252302,252303,252304,252305,257726,257727,257728,257729,257730,257731,257732,257733,257734,257735,257736,257737,257741,257742,257745,257746,257750,257751,257755,257756,257760,257761,257762,257763,257764,257765,257768,257769,257770,257771,257772,257773,257774,257775,257776,257777,257778,257779,257780,257781,257782,257783,257784,257785,257786,257787,257788,257789,257790,257791,257792,257793,257794,257795,257796,257797,257798,257799,257800,257801,257802,257803,257804,257805,257806,257807,257808,257809,257810,257811,257812,257813,257814,257815,257816,257817,257818,257819,257820,257821,257822,257823,257824,257825,257826,257827,257828,257829,257830,257831,257832,257833,257834,257835,257836,257837,257838,257839,257840,257841,257842,257843,257844,257845,257849,257850,257855,257856,257857,257858,257981,257982,257983,257984,257985,257986,257987,257988,257989,257990,257991,257992,257993,257994,257996,257997,257998,257999,258001,258002,258003,258004,258006,258007,258008,258009,258011,258012,258013,258014,258016,258017,258018,258019,258021,258022,258023,258024,258026,258027,258028,258029,258030,258031,258032,258033,258034,258035,258036,258037,258043,258044,258045,258046,258047,258048,258054,258055,258056,258057,258138,258139,258140,258141,258142,258143,258529,258530,258531,258532,258534,258535,258536,258537,258538,258539,258545,258546,258547,258548,258553,258554,258555,258556,258557,258558,258575,258576,258577,258578,258608,258609,258610,258611,258612,258613,258632,258633,258634,258635,258645,258646,258647,258648,258649,258650,258673,258674,258675,258676,258677,258678,258679,258680,258682,258683,258684,258685,258689,258690,258691,258692,258694,258695,258696,258697,258699,258700,258701,258702,258704,258705,258706,258707,258709,258710,258711,258712,258714,258715,258716,258717,258719,258720,258721,258722,258725,258726,258727,258728,258730,258731,258732,258733,258736,258737,258738,258739,258741,258742,258743,258744,258754,258755,258756,258757,258758,258759,258760,258761,258762,258763,258764,258765,258766,258767,258772,258773,258774,258775,258776,258777,258784,258785,258786,258787,258809,258810,258811,258812,258813,258814,258859,258860,258861,258862,258876,258877,258878,258879,258880,258881,258897,258898,258899,258900,258901,258902,258903,258904,258917,258918,258919,258920,258922,258923,258924,258925,258927,258928,258929,258930,258932,258933,258934,258935,258937,258938,258939,258940,258942,258943,258944,258945,258947,258948,258949,258950,258952,258953,258954,258955,258957,258958,258959,258960,258962,258963,258964,258965,258972,258973,258974,258975,258977,258978,258979,258980,258981,258982,258983,258984,258985,258986,258987,258988,258989,258990,258995,258996,258997,258998,258999,259000,259007,259008,259009,259010,259014,259015,259016,259017,259018,259019,259026,259027,259028,259029,259030,259031,259032,259033,259035,259036,259037,259038,259040,259041,259042,259043,259045,259046,259047,259048,259050,259051,259052,259053,259055,259056,259057,259058,259060,259061,259062,259063,259171,259172,259173,259174,259175,259176,259177,259178,259179,259180,259181,259182,259183,259184,259185,259186,259187,259188,259189,259190,259191,259192,259193,259194,259202,259203,259204,259205,259213,259214,259215,259216,259217,259218,259225,259226,259227,259228,259235,259236,259237,259238,259239,259240,259241,259242,259243,259244,259245,259246,259255,259256,259257,259258,259259,259260,259276,259277,259278,259279,259281,259282,259283,259284,259286,259287,259288,259289,259291,259292,259293,259294,259299,259300,259301,259302,259304,259305,259306,259307,259308,259309,259310,259311,259316,259317,259318,259319,259320,259321,259331,259332,259333,259334,259359,259360,259361,259362,259363,259364,259450,259451,259452,259453,259516,259517,259518,259519,259520,259521,259672,259673,259674,259675,259690,259691,259692,259693,259694,259695,259714,259715,259716,259717,259718,259719,259720,259721,260026,260027,260091,260092,260093,260094,260181,260182,260845,260846,260851,260852,260857,260858,260868,260869,260882,260883,260898,260899,260927,260928,260938,260939,260976,260977,261249,261250,261251,261252,261253,261254,261255,261256,261329,261330,261403,261404,261447,261448,261449,261450,261453,261454,261455,261456,261457,261458,261459,261460,261461,261462,261464,261465,261471,261472,261477,261478,261553,261554,261557,261558,261563,261564,261565,261566,261567,261568,261569,261570,261571,261572,261573,261574,261580,261581,261582,261583,261604,261605,261628,261629,261630,261631,261642,261643,261686,261687,261738,261739,262058,262059,262060,262061,262069,262070,262075,262076,262088,262089,262103,262104,262117,262118,262129,262130,262138,262139,262141,262144,262145,294912,294914,294993,294994,295487,295488,300403,300405,300406,300407,300408,300409,300410,300411,300421,300422,300423,300424,300459,300460,300466,300467,300468,300469,300482,300483,300496,300497,300498,300499,300514,300515,301303,301304,301305,301306,301307,301308,301309,301310,305216,305217,305275,305276,305277,305278,305279,305280,305281,305282,305460,305461,305468,305469,305470,305471,305487,305488,305498,305499,305500,305501,305520,305521,305947,305948,305960,305961,305962,305963,305983,305984,306005,306006,306007,306008,306025,306026,306033,306034,306035,306036,306063,306064,306092,306093,306094,306095,306146,306147,306180,306181,306182,306183,306199,306200,306209,306210,306211,306212,306222,306223,306326,306327,306328,306329,306360,306361,306906,306907,306908,306909,308634,308635,308650,308651,308652,308653,308668,308669,308735,308736,308737,308738,308751,308752,308762,308763,308764,308765,308787,308788,308891,308892,308893,308894,308941,308942,308948,308949,308950,308951,308959,308960,308969,308970,308971,308972,308994,308995,309005,309006,309007,309008,309018,309019,309051,309052,309053,309054,309080,309081,310223,310224,310225,310226,310227,310228,310229,310230,310231,310232,310891,310892,311257,311258,311259,311260,312161,312162,312180,312181,312182,312183,312210,312211,312429,312430,312431,312432,312512,312513,312932,312933,312934,312935,313623,313624,313631,313632,313633,313634,313653,313654,313658,313659,313660,313661,313662,313663,313664,313665,313674,313675,313782,313783,313784,313785,313878,313879,313887,313888,313889,313890,313891,313892,313893,313894,313911,313912,313931,313932,313933,313934,313944,313945,313999,314000,314001,314002,314014,314015,314019,314020,314021,314022,314032,314033,314047,314048,314049,314050,314086,314087,314096,314097,314098,314099,314142,314143,314169,314170,314171,314172,314224,314225,314234,314235,314236,314237,314275,314276,314288,314289,314290,314291,314292,314293,314372,314373,314374,314375,314376,314377,314378,314379,314383,314384,314385,314386,314395,314396,314404,314405,314406,314407,314435,314436,314501,314502,314503,314504,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:2ec42098e432d4e256093dd6e0af2167016083a8:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727",
            "-", 554a01fffb56bcd384f5ac9bd575d70052ee2727, 16209192,
            2ec42098e432d4e256093dd6e0af2167016083a8,
            package_extract_file("patch/boot.img.p")) ||
    abort("E3008: Failed to apply patch to EMMC:/dev/block/bootdevice/by-name/boot:16209192:2ec42098e432d4e256093dd6e0af2167016083a8:16209192:554a01fffb56bcd384f5ac9bd575d70052ee2727");

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

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