grub2-arm64-efi-2.02-lp151.21.30.1<>,_/=„>4+ܙЦwZjIq^'Au@e߆IÁpf dUQLxxS(3@r[yKik# A?h7S%z$cGis?% t5J"lz>cr<}_/rHZ&"̇G|3R8'srIJp32x:*Y&TPLI 's8=f8οaգ!JKZWhElu'@&#Mf۟>@?d % [lp| 8 (      <  D  (89:>T,BT4GT@H[0Ib XcYcZd [d\d$]k^bcd=eBfElGu\vLCV`djCgrub2-arm64-efi2.02lp151.21.30.1Bootloader with support for Linux, Multiboot and moreThe GRand Unified Bootloader (GRUB) is a highly configurable and customizable bootloader with modular architecture. It supports rich variety of kernel formats, file systems, computer architectures and hardware devices. This subpackage provides support for EFI systems._obs-arm-8]OcopenSUSE Leap 15.1openSUSEGPL-3.0-or-laterhttp://bugs.opensuse.orgSystem/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi donex0` PK`+@#0H'Pw HHrP00t _p@~x&` "X <`0}H~ 0O# AN`} g@GX w(8@hOPK,*h aj890݀ 6 th-S# Pa) x[,X&(&3{@U@ r%0n;>wP> {08P`h@}R"(8 5?Xpx5X(Xb0h/K XFp`&{}8pp1` (8 H>p03*6Fh,h@#x)`)(*Pj$XňL(7X6.&08#`,p8 PDh4`O. `8=H ` d8 \\hf$  2 t jH XY b`@4X/"CJprH8} Q XS PY8xW`w M( IXPT Jp xP XN0o&XXX`R{00MX PKXx|XH i003x lxCh&@ & \((6p0`(Xpy)mpo/(H`6(0Th-x @@H8'P(p A8ɠS`X# ;`:0%&8% hh8(o0#ܨp;4H7P"x8xkxM)!*LD`AA$A큤_____________________________________________________________________________________________________________________________________________________________________________z_z______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________207c5da802269733f7e69bfb38dddc35dc139747dc751dc9bb04c69d5befbb7d2f5d7ec665f39addea56be5122eba6ed896c78c7723dd523c8c158da0a1712377fb013d2c3476e2c4a8a1558e1f66dedfa3155972b1cce988575fb579b9dbe90f0c5c1a4ee910d38f8545183074e3b33bfc4fbf84d121ea6cf60af44bd129cacc604e397bc64b3e7480e6c5542f3d70f5c28473555db7273902e866d24a1a1cbd0ba76b60a3d2613220b2ea7d6c29038c63d8767eb82897d21e3597829f42da6d2c06bbb305a1bda7470dda8a245de22593dacea86d1f6862f88511b902ba6297b823275a167d37419ed737294b563936cb397e59227aef508de6fb14fb25e12279ee8f8d33306ed1d49e603349868e3b3ddba04a34cc1e0557bf1544753390c82cbe98595824483177ae44b1db4db2186bc1bd4c281401999a927d396999d008d1a6e8b1e32310e2ee21cab2c6b3c8d748be608991ecd11cb505c72f7c03761911ff34dbb6e37a3e491e7f3a79ae0f236c938ee66a11c81d25e60c6eafc6494811724d9464e0ce316676cf8a51c2f0aa09cb847be40ab12c167f1276d1744301c0a0ab68ac7bba7831029041745f129d3a8508fd9a10328ac29c09dec5964cec69607cdc946d67926d139b2822701055fcb7d2b3b73f58d1bc86604321b1717229d923eb14aa72314b6f7f982a35d898c6d98d79258ff142bc993019656bb5871630fc0775ea5a1a05d9cf8b9a6ff386b03eeb7917a85d4bce54ecdf040bec3742ea2b616e4b258d5da8d4e46527700a32937f8ac5e23fbf1b93479798413fef51cbd8c1162879a017061508bcc10bb525b88d4b813e81b29718d8d79f33ce6fcf9d3e8814c1761d918a6016a3ac425fd5dda7bdee4518c592b4f2e5fe5f980a600fd4a0f7f002b732bcf799b78bf15a63b019e52b15786c968d03ef0dda39c3fef05c9e73620d86a923a506e6766c01a091093fbb2b9fb490227ad6a3298d0ab318618427b2d3e227ca95bb725124e49228644611a4becb178d42830d93f779f209e51089bca6ef8c683056147f1d562f894ec2671ccd321943d985eb0b9768080f46ea5de82dfa2bfcb73978f93c2dcbc7ebccd2d2dd7b5ebabc44c01b9f468edfd2a6c9daebca00e76a3de56dc913f9027f872c540c9116e1f3c827ea499b1572754f8279ffe0b6cefa2018c50cb646b7e3902feca79801e584d431d33996870db618dc8b4028654054f1152147c3a70ef0b0c73a2e2bed7d66f6eb039c0f8ac88fbed2081b07df2432268d144ecc77bda6ba6ba46930c853710053721d687d93a3e4a5deddb80e10b654e9ca04ae7b69f706a77653b42087fe5f2d759a859fd7c6a9cdb937b3ecec6c75f65e9925f4c2ec9b8994d77d3cb7e6ff5009ca81505c6df64a96dceddfae8f9977a7ad9f36bee502fddd2663dbc814ae5d8c71eddd0bcf3a6055ab37cd3aad85ce61ad0ed93a3f5bccddda6b5a5a96f1190856acccae095020ae44a9ddad871fc5dbcd5f5f8e64999dee0a34d8176bd96410a3e84c0996af80a7d85b7f744e854e5c546b8b39c99de37d1bba36294a2c0eb77c2647eac6f1f30d7a6a376cc1b866f722700d50db9f972bb16c90ebf468f6df9f41932575f935281c5c17e5106af2f473e548f40e6cd9a895a1bb9ee410af24862fe7145acdcdca2ac81e4e22a184ba890fa477fc6800deba9000106ff300a353420ef560b98c8f85259a4c2911f07a9c75bde6c81b37e71cb39aa77cd2e3f420ce3c24bda3f73c00f1a6c31bc64d89febc65dda02273e1609630107c4540589d40ca3f56396c7ce11fea17e9c9d2a4b022f54ccb064ebd9e384bb8155b5258070e55de9e9ead3ec0dc3f886a24ad995f0ec06b531ad49642c1b7a17c5e69161b6779e4d662dad08b681d0c35d00bc9133e58714edee5256a967eebca1718259f1c7dcf0806661f10e70ef3023c7a3578b7278ad9d4b3429ad15016a2d4977dc78bbd7af75b591e236d7a8233ca8e85e711d840ebc3541c1e4a6e363fd635302b5d28e84c05674e6181cc6de5606de6ab5eaefb3f6352f616941ed85261cde4e873db1d6d8af8acbcd3a1944cc3708f9acd6d3b27c5bbb26f4a15b30d1f12ae099226d0e4554e498b6c7c45557fb534d4c32126889ec335c59500a4b51e03ca29c61388c29d534d1e300d9d5404d2edd09b216e945c99e9e51dd235abd85bb643d26245ad26544e19c34d854256ec5a6717d2d694b49e7752592b3bcf3e311e2bf1b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc430247c9004437f8a0eee03fb0d3419ad94ea29ca40038f21c119a39fde4742ae2ec8309fd1b68f510506e00ffef6b04dfa27c68bc9eb3a70dcd57e470410290abb9f28bfdf7c81394fc91d18f222e0ae22dac9c6116038f3ae0851304c734264ad7a7563c4c0f0c4cd551921230e83cdc2390837e9efb0e16c75fe9823cbcfbd621a232c4276939c9720787ceb20889fecf579d48f75d23d309ed42c964adaf2c069e22a38d20e9f03a2d22ee78f2890e1e3de2da882fe307f215e1f185a2bb13dd3e9ea60f23ecf79031c1900f5e6e24361278c998a5158ace91d675e7d222a587bccfb97cc40f8d4b50d47216ecf91bc064096fe4804ab4dc83aa17dd7a202b3a0460d1a75b9b7183990671e1532e0706216090e81636968354ab318ed9751e3d43747333da6e5684ab75b5ec804d2e165c6433810f675beed6fd19b6968610aecdbd27a6bbae8fd9b8bf2403b5e79c8e8c5aac09becf6aafafbd291f6684e0fa08aec060174fc1b96c0f75e9b13a4b16f7a2edd8d6d0eec9c65d168ce803996aad86ceabd5adec8c3338407bb8a20d8c2574f3e428dab2bd32b5fcadab88899cb4a1944959e10d440029c9be8e41f152b9e5b5b03b675e3dbaa00163c74d94e9987edb6be54f6c14a7957e19fb44880a546c10b058255e4868d65b189f5da967a27cd012918b203d6b542d758c74d34c23274ae0c8b2fbb44bcbf028094435aac012276c730734b96d76f0aed14ba5b4c58966aa8f91a4c88a6cd90d30d927e57d5128aa79940025b7675ea153b74721f998202bb1e7b3d0c60ae61aad53a5cf4b6ecbe79eb4435ec4de0652ce1bb429f6a763d5f68f6cbd8d01467ac6aa6242fd3541728a17ce5833e888c42549e932d81b12d71007f7213feb4a1fcd455e71e2eae22523c2c5f6b4e5185efc6d70e844c5b55c622a9927c97f0341b305cca2c4047b97de831f7232ad2649485234cefea660795c5682f1f5ea0c400912ba9e9e051ab6aa88aa08bc478bf78c9890b9bbc9667509884f783bbec557655f07ce9524f8fbf8f822961a523cf0b42fa4707707c3240a65c005b4eb0372622bf6bafb1c48d1aa947032e4519879e726f9b8b002874efb7dfdb18e30b1b3e39489f1c87c13fa97c9c0df075b433441165c49af6bf168951ed8cfb3de00af9003c6cd06fa1440f46f4f2a0b3ada7af94418ccec4aa0450f58be49c1b228279982b17e62554fd888422eee8e46ccc093ce964e28d9a74f9a4f71019b65debe7315a266bd22bdafff6903c25dc61ffdb1f83f54bcfad5713590426235cd56d555928e97a61646160552cf3479cbdd21dcef72b2647b6f1c0e663a82a524cfab536ab9344aa415e56fd23818ec58a8b53b96a7a067595996f182c717c3694b77943ab47f0051ea6611bc6afdeab56ff55ed64cc866e68e80c2dd6f9fa12b84403cec3905f89d39f9be404b5bde1194a3dbe3018f8653ba69e171a756625895b17e2614c4c362b742b923a0d061890b2e31a841408f3435ca62ebd1e682f2ab676ddfa03a53328b58e8abe74f1f7338575a2f6814f40eed52690614801cd6c7d136ee41970c6f2debc4d589a5b0eee3fda6e64eb6ea4e3c1e7510df7afc84bea1929b37f4ca0378d6a5fb606f16e0e1cdaddc6705ab3a53dad8574d768e646d6c6ff144c3c8306d71bde93336a80d5bdbcfbcc86e27f1b48f68f55df45c7cf487d171bd4b1b0774bd97b86652f6e332261de1f84c13365e35fc0bd7cd4c86a409ccd956322a1fa551ecc0a7379137043a69495113120ffe9ce39049e45b277ce4b4098bf2a36f50422717f91f9bf2caa9a62f8f341a8a507b6352eedb354a0f551d8272a13956d7212c60b7a09997486c70c295109d1d3031d1824f478e00580b1fe9ae72d0ad06beffaed5a4d038962dafa5e5b924e88d9bd7b140054d27077745f38bd1b139fc1059b4e5ad482381436c6fc4b284a3c1e709e4d981aaa9b27ef539ffca56a39ff58fe15f567428089451b64176d2ae5041917562fe8a97b7a22ed3385bf85e369f7cc937b7fe36d6e637e20113cc88246e2e5d22d379040aaa9263497f9b6032865cbc6c540a64a6947dd318d638be709a45f9e5ef4e55bcc4a6c1ec1621f9d90d041f560dfd02d91f721906d7f5c750f61d3e6003b6650a6f81f86f47a17dfe23a6e8748aadd6fce5761c8efe2f65d68a1513747f83b6ed771d0e715ff3ccdc0622e8953effd1210acdd35314cd5596c4537244cdffcf0d42c977f0d26540409ec95bfd8d342e196ab00ebaf5710e8857b8131cab59040735e4c9c3b9f30db511e20c3d049ac87c291b3ebc7b04f2f2d2e9cd4d757306e5dca0d24849e674290325ee0a73f1ab03b89f59568eaa2f8aacbe0b2cc76e705548172d8fa4a9ffcad09241d7efec6ba9ada036fc171cc3259544862b054cbaefe4aec4f3fcb5709c11270e8552c4441092e65666ff215e92cb4b37c467c8dfa650c902f6c7812830c1033df7aec020ce62a1f57ef4796175c37720cff687a3804a2e20cf6fd633fa9366a8bc561b36a67b531b8b90d0d94aef0da834beb7a62f26b0f1c5020c71550b5018ecb11b1d9924daa6dcc9ba134b794c7eafb4306ae3f12de34d518917ce9430b5f88decd61e6f0cc5862e072635d6068cf4c1ecd21ebf2d55e9984602272880cda72b1b1ffd87e9cfbb5a8f5c4073e7a66071c3dce0d1dbe4ff4822ef8e0f9ada5b8ff1d317fc51beb0f9386436f82242d8402d29901622acdf3a21887e8bfde4658534b49e32f2c91124b71cda5d21fcf380ef158c9308f87e903241c4072d04f43cf0a4250506cf56f3663aca5795fb8fa1d5d3fa3c6247628876e1321e1b7d9408ef8ab2e002f7c5ec0972f6927464a27ee3fdcf045e980563b7f76d2ccae2361090591de3478c16394325444afe592ddf2238cadb4f96992cb1fcc252c8ea909b1a6156d696ecb6c7ba8ff0b1fdc5e9c9ff60529c2ffa0b520bf7658b3dd3a036bf30d78f9c5878fcbef99c782908942a2a8b66f25f6d95ac1d046779f3db0ed581999ffe72b47b5722fe5c4a993336240e3160234301770fc1c6d9d9da77829255c88bc1b8205b0204df5412762f8e8818edddae6d92dad675fc2ecdce860b8a5242566631c903d3f14efda93c42c1aab32324ea588ce48518b32111cf2cb661eaf8e2adafd3ef995e57d9d1906f04c141376a04539166ea19f177362c033896b8ea88bc4035a091e3a132fcb64e8976738e884284d9c3ff268187599ad44527c3a9cb2d7b612efd0ca03d1a694204a5913520d40e4576b17fcd7eff7004ffb7e51925bdcce8797033dbb6e45538487891a04d4b46637b07661ac6198fde4b0a074dd6d16f77286f2f0bdc14e6f6c143a23cae3e7190a77e963944350064c94434ba8caa01f8bd35c264c7d5c9310c864e85ce451fee00849b43f1fd45ddd7128d8d2c04ea3e5e799f3896b2fcb91b060ff14c659e679f2d4daafc35e696c806c56e53934cf7b6ae0613f2a2368e4ba795566cf3437acfb7b2b8c4e8c07e97b5eedb5737fb63bd6f959701d1d81fb1adc40aebb5a36655cd878beef3d362061dcc1b393a0477f368a24f41bf67373ab552c024bc26c28becca00598f1adbdf3ed1f6a11bed3fc953efa0ac7726883c83cdab609d4f154d41f5d3d90b43728fa971b6d3b620722de872976d070d19cb302a8d7ca6fd096ffc25e1db90938b37ff12fd54010be17010eaf768e772f1781ccb8d181a5b7380e35f6c1e1c25233ca6e2b62a8b22feca8ba7fc01ac013a55aac982bf044a16f51627896937b8c94aa154fc3f7169f5e6daf29302cc647cc6fae1d42ad2568bcc53a1a58a8c9dcafb20fef91a193eab4acb3597a559df4db2fbe2b31958170d33f9910f249b3700e10ed0053a2fd07581bc2349495bfc3b198bc56447be5c08369b3611036187b3d13965b2eec10723cf0dcb2a3b224a430b0047a33631c741fc9da5c4ef138e233f6becae74c61b1b858947c7da0b90ce35649f8f055db126ceeafa1a8da30c8966565792e14e05e9939ce9037ac5ab5f5cf05c4ef1f13d71e9b44b9c224229b5d960182ca840ed1a027a71381459c651b44d5a714de24a6241071f88fc1f8641e97f5ebb823311ebaf4a6348e02b34d37fc0957ce0c9a3479c2467cce441029be0df782f9bda0620ba7738b62f892b6ca1f41e572b0cb5d56ac1c966a67e3d6d6c3cc55ae119ff433be2c2d16e1381a55bc7c9cb70ea0f15a6988e6f68693b11ca9089a98193ff998d432ffc2fbd536decd66609c566511d0fe5fff55d0d9fed182945b855d112295f7c111143a1c42d5dcc6c59d9a0a093378049033a8c475ce243118339c4aa71f483db722c29f5f81ef979e5fe4ee06a0381d7ef920fb1a7ecbf7ab8b1012cdf58a848c4d5cd8d06af641c670e23698690c10e6bdd304c785bd94084290fdb31a2da87471233ac4d3f17ca1de4670cd036726ff9e963bdf1df47c35c08e34584d735d2661761db301ed8ce157dc9db5ddc37abfddab1af388d804882dba400b8df2cb4f9173a528b99bd56c3699523ffd767dc1875c02b1740d8b2c803e25b356275b4ba3720f4779db14577328dacc5db51192a49d246e57010081624c8d5ae3034d4edb52cefbc49e6b2f886003d96052230356492c1ceca87d4ef9706a24693ec1d0c71078f8b00c613bd45ffaea0eeba3b7662db109207c534fc4b3f934bf2167d54d1c6cfcac9cf954181848dff9919ff5d00d936547878fea3b7d3fcfc5f3b072e1dfa9ce08d3996c057affece591e1695dbee2b30f82879bf33fc7da86c76e2eefa1071296185ff1a1e5c276d08dd8a0d58f1687167d34f5c47619a73bc99f596da1bb8dde9259b3bc4099e9e69936023ea6e563af9b9e5a94f2fd5700ca5b714085dba4612989a9cb23babad030ceb704cb42acaee39ec1971af90001b9318a7109abcd93ee09c23a7ee4d71ce10d00fa21928e080304f9df24270c5c5e13a0e1e8d0a0e358548c1bc4afc16009159392ea7a14bf05a8ca56381a78eb86a310b9dd2431cf37c907a7ddf1e5a64cff0f5424db95aa501eb9cfe0ad596ec07e71eef5e66ae376f7719324897c2f949da8b89cbde3d13e2d1237a0b0d09b2ec930b9eec3a5ebdba778f076ce41f09362beee52897b00f418e5033a90ff075bb7c8b183c72319d3ce32ddca925c11ff4b55f9c94b6fde72d6ae739695dd5d0c5da6c5eec2aeb62d06632f88c4809b81b49040003a72565986988f25e6ae70cb676b9ff86445863da4dfdff4dca3679c80da73085938d33082501150b6753f93c29da1245d0e31f0aed24d40a236a30e8cf397e6f8f856c088c7a275335ab07b595aeb15f8fec1cc57050d5dc8fde129095f002c738084188319512637ac7275c40dc5a5541c89fa3b16a5aea5d471621dcb80cdb8331a1ebb4dac0e9014cbcc6a1a2db92fc2a173cda925c14f00530d1f0569cfcf2288b890bcce8e1d21b209720ca93cdfd60e3949aa32c31ce6b7776c3b51c8ccf0fdb7987bd9eafb3b3ed45fc4e06817ff29b0f28556efbdd96c9b8b6048fda13aacaea83449c7e33dce7bc2cab082df0b8d3c35a407e216366879e680bcc98c705f3dfc4421de5f087a2866443d6eb26dc3a1ed2732059bbdff4413e6abf48aaadce2def2f5ea846a5776cc12a8b46a9c953c18071e66a5c5b019092e4100d7d1d28cbc536fd2a9cbf9b65170af645aa1d7f15b2da74b83a7e89b623507afb0419815971675d23f1c77a4830beaafae157253a91d987883272056df4671675994922540835b73d5c283d6c132af0fa0337d85a497121e06cfeda15ceb54dcee1cf0438ee39f5be0a99872dc15d25cfe47228728ed8438af1da30959e4ca42fc54bf7693515c73c553c5fbe0d67ae3ee03c297f44dbabbec66992bf0b5315d8224d1c663dd8a045e7af7509fd114b88ce51929eb8c6b7eb51e1b91b908947a2241f065965049aadc552a0adee3725487d0671956665a17c6460774aecceafd181c6880ad666f0ef7e9ecc86e117ec2d9155e7a278d655a0bec1e6863ff3e83aaab0edb55b1cd464ed26161ee9b281592a6fef729c8894ba8c54ae6e1c66b38be08bdf112b65192da0a3b5acd9a14302f7a499ea1ffb6b5e3affa6853dcf2019de119d2d89159abcca847751fcbb5272e13d69dceba10194c734d3352034f82ff1c9d6148bf8f99c89db7ee10665c59eb0d466f989d7f17554805f3d92733d96023b3ffefa3fc705208d812ccdc028a7e245efbb150fad903c57a323d5dea9aaa62e5288070db6082332d4bd1e080af0f859c49d122f9671c733c3ae45fa8049223e95e163dcb42b37000108d55a00a3bfd76a709a1bf5c0e8fc72eea20de532f8d51842d3893c7ab4e538c98f5de5c1ad317de6d3468d33bbea3f2f97353fee854e18001ee9d6c223b42837d51a4124383793a4c92fbb0650eb68c4faebf0bcba6fa64790f92dd0cab83d223137a8c369e8960aaebcf11b846e2f10ab56c4438f80487df43f082631938abfc7ee89546cc39f50ec73f101e04b6631d8e131507476e22b8bd05e44d474e317f03b18d92208e4b0618fd14f0277230f4188c476191e6db3584333ff93083c5c8fa215beb317082942cacc40bf5f5ac7101ebb2394bce5b44add8e55f88232f51a14bf87263bdb117f9fddeb87c0f108fa58e7e9599c8dbbcd0f23eca928c6a77f0171342fba011d37fa8a0cb3793cbc83bea84e83e79ded8852b8cfd3d324da0aa33fd5c16e0179431b89b9b30cd4853b38cd4a6ed533f8ad164c06d25c3be6b2d8ff8a783eb3792a53290546c5445f5531795de1bd2492d91e159d1c6988123d0f258fa7ed08cec1df3fca0d951d854742579494466e246a976f30402d4a34e38eb8e77df435107e770101e6855e12f10f614a7178406c64d9998c53fd838113e90c848961d53ff791ef96b150c53aa94e57fc368105a802ff9bc009935aee087effae491ae3938c8d8f494d6a8d8abba7d6788c9c271ddb29d095ee8a82ab796350e86ecf920aaaa11e090353054eeda02d829618a2bb6858ac27c8bf2aea43822dad20b3672913701ba783cf75b8cc2a6ae789a27a5a7b2589e7a1baed8470229d7d3506e1ae31a97a34b5b5131d5231a6ed571103deae84fc006daf5c929e3b49db10a8843a86b878ecc50df0d02fe67aa9b4dd83d7eda1a97f63ce45de65ed14e06f847e7c94c490b3613deb588703673d1a03412400c6744f1a5e2fd99e454b7c1aa25eca6e3e7f53b25ee3e9f0ef6dbf5288ebe04fce1a6c2bcebd95e3f2e192421fcc1d03187d5ae351b7d2762d90cfe8eb73af1d608c6a8caa25e8b7317f4a525c989c9c887dce8559f25b10d6bef4dc2d19633afebaf0bf3590e6e63a5e6cbd48f1731e8ba0b739b9844d9d965d165902326e465bdf9c2556ca18a403298212dc06aaacf91b32418ec6601013ace0840ebc93fea9b923611a693ca90e506f7a3528b444be8af999507ae524c879fe17070d2ce5b94a2ed1f9045186324308253f195b6bd010360a7e372d56439bc9c2040d3e6e919fb168a71de231bc136a39c32b77777fc22a76b67a6f5a9ccac833afb9320d48de36f3ae817c55d55232fd53c662b5c63e4fcefe2a2b6cc138c998b3615782cb859ee139e435caaef2d0b1314b52c1dbca45999cb3256cc4a6dec7d0a34a70677e52b05937691091cb629c3bef523519a04dfe9767bda6464f2ef0ad22728ed1883730e3473d373bf967d44625e65b1d4cbc9e4fb9213f7a4525d4e38e9184457ffaae029e798d73df3f6b8dd0ff4e133e88e3ddd4c8b9c2da95b77eb58a93d9cc1d25df9a65dacd23a33514559d9cb63b075b2ba78123e8c98caaff6b3a29fab872fa8cc2da54a9cbaff9a9465ad24267752474fb353b0ab786e76c57cbcd7e0db84407cacdb156353d9c9fd0865996950f8c2db33199383da3e1475d1d23dbb74e512534618c7e012c4ba7492c46c4d5ba676b82b96533a317337600437deb4e6da5950e99cb0bbde4da441e17520fcf1eec7fcbaeda32fe24e32f11b24a6883c6dc3b33c48b542826ce352182fb4dd74d4b8ec0e88a14b753acbcb0af8d5c2c95ccfc1c54b52d824fc758ad6ee00c8bd8f28e4ef36462f3618c938b6d57ce39d2e14a692023c5f5ee4572332702ec66f76cf37c91c5877e89251365f68295791471d5c9c643c564cb9d5f440130cc9087fb919e443635354af62441db54261150a1b6602ea9663f0b3d63133c46160a550d1fcdebe13298b7872c5fbe739ca4e97d555fff98dce2918cd298dde691644f3ccef304ecd99f57677e853c7864716c3dbf8cbac176b26f42146651bec803aa52afaff671bb5dc44e9f396db921c6d674e9be869e37668a96aa6403b2dd9e404e6e0077c1bcf78b254f6022502ee9a0703847ba529346a11a1aee884c68307748bf2378a173879fe143d2b4a6e2b594f8937dea700e1ce4511fcf8c0cde113ccc49bc1494254a099406b2a1347aca41f72d30a5ebbf09ed042178bfa240fb28f6d9e9fc295a93c7f7a5e5513d5f8a61227b05048aa7db2a6590dfb7f2e25951f959cae6477fa6685448d88de2d39f1a7ceed006fb49f756694025ea715fae71e00c2ded41d0895794deffb88662e42b3ceaebc592c3fb80af312bfd498dd8da03cbf24a46b3badf4185fc1262dae21e980c84e40b16635cff9088eb2cbefb44ecdc669e1ed8a9e6c1a6ffdda40ddfa4900f4f36e1281c1461a0bce596d87c6bd692d71a79c17213a4f4b6c2513d1d47d0c2850b27dccb9ce36e100d7af2be93bfb4be292c64c42fda425ea1732a91237edd6e136bd2dfc2033b8bc6cc7c04126b1989307651fd27002f3f4c8e1ac7ceaa37304ff030c909b6743bec30ec20fb7ef970b39eee0e4dac62e716315475f3c9148816b15dd10d2bc3c7408b6002b13707059c9c82ffbb3c84a294ba85683f9d6e5d2cf1d90045f224fc5e40a384d99b856dcc002fa948093be861b7de54d4387e527253dfe30e5b4efb58ff92cc550d1f7d941f8618a70777b95669e7af93533f928ce2720abdfe708b4da41f8343092701ac2700e346807b5237c79a761d94582199990a1e6ec2d4118bcea86f0f6652a629da09bf98cfda3771357d9438fb352793d45bb1e3f7eb52d1f7d04ab39ff4f46b1c15c3e15093dd222923b9977924b3b0fc87288419ffa8a9dd834b35405067e9642823281aeac5ea7eda510722d52706e44a872916430cfb26f5a96884a9dec20338b28bb774c7ff1a9824d2cc2bacc85d8ca4b955bfd9c435080998bd5d6968ae5a85da143ec60f11e0077d54063ee03d8f96a9fc96f929b1f0890fcf6c45d62fc0b9224a3c928573006fc3a13d3e3e7f8fa55aac18ef18bc3dfc53e6b383116f5b004d586ef2a1449fb9015e1d94d790cf3812f71ebd351c217bbe2f1e53ab988ed0e5a708af9b0bfc527b887f9f75e05170502956ca70d3020fef8b4588854975994cc07f532caa6bd75522fe11355e270f4e9334ca9493cc5e27b731d14278b45d7e435d87bba574bffb272ab238966e3224abbbcceff4b938dea981d99049f9624c7f67ae7583f11e7e6519f1cea2f6e07d9a7ad88dc97cf836a8158f3ef9685d996a2358544d2b733d5d1a3c8f626d396037aeab7fb6470b9a6212977bb70ce6d6775e5715217aa82b4316e2d271a8e93a39c9e296c67d053d463e6b4e4d2c5671ee4281c13a91f60af001c8e161a222b56554cf66af9719d55f7cd03ed8c9cf6eb44782a049aa52ddc33e7d2b8b690974976ce0fe9599916662fc864b02b059ef7f039f05670ac9f05e3a6732f1037c0bcbb1879441964ef84a081fa85451a1eee3335e68d4d3d3e5fe6a247a6603ea63b393d25c640358c77072eb7d94eb9f8c4c6f606f7a6a19e5cadce24ee8ad4616d467e9cfb80458c256421d24dd893b24241583eefbb47fd3d6c5d30e5cd44a0cdd68bd75b3517502cbb9a89159324a1898b57a04c52889177248d1178a8d6305cb71b8b2cfef08169ead8dc4c0d794a6af1799bcca1834713ff7cdc7ecf57aa93e638585cf6b25d87f8db691308d990ff3832d4835b86e35efdc4611363cebbff365f2d5c5271d910200814dff521919c72c2981d8a493372eb761075561b45d56c99b9964284626595ada573177ea3f5ac7b829c962218d3319f1976f4f44eefca202ba9bb2a4995591113be3acd1e579b6ed4655eec1156fc897c7f1b1f4c569025a10d5b3d171299bba21ce0584beab70d44eff747520060ad9fcc37dec4d76413e992aebab12c7dd5e3217e052c4af981c2392416fb078704666f3096cbf3bd4a4b7408a9ed0a0a2cb1b6bd593f0eb9cf28442d7295c877d815cf34e414323063c65adcb82bd60f2772bc2ff6d3867f62e5e6863d4b62511603aef5dd0b6eb72e8610488a28a56478a838ef7a899f766037d66e1157c65e5c3648420b7f0e54d9496ccca1a3a869f3bb51ee31057fcb8d3603fe73dcad1e77c093158bc629b55c95e10803a24824faee4151b86b345bcaa9fc117a9735120a322932b485f195763a4919897e2274666401c0edc0f5cc4b1bfc736f4fc4591089cebc11117d6016d421164aa4a2d745b6a1e7f4740866cb94a50ebbc5cb1fa123300cce3518d1afa08efb360672485d3b1f2789e4ca53635fb94b93da8901a03d4a4847a008a5867314f431a6e42e311a4a368be9a852a716de324423901e31029a3ab44964fc64f8897d8e868084f38c162a6761e5286c34b12f1822f3294311567c99a1e36928d5dd888c2f0f0e22b8d0dcfc4435aade2802227003de78eb74dbf4c0b180e323a2f7b5fc1198107762255b116a4b2c92bc28d2245c285729f6a012d75cc1e9270b66e64dffdd7bd03dfc246f11203fe0a8df1ed2652696e8c8d4550f4f5028125247f8fbe6f5cb088938c29bc46986a7b729a7793276ddf8548f5ed9a397cb260e713aab599cf04036479cdb23eb79cc3de927696f1f788e8ec0c8a9d6b60ef4b604dc7a11eebea339d0cf34e06fef78524897e0db0550175ff16bdddf9502f4dbd07b4f03329e92b91218355a7327909fdb62bd47b0730104cf2a40c27137fce56401077208461b67a96c1ae050660786786f1cbf8e77ad35063ee77a4f6e9f06fb19e2e3f8303f92cdf8b0a12bef55e16aed631260ba73882dcdf68e7344ade44b7554bc483099358869e1d07bb20e9543f0234eed9fde6db6a2ac4f7bd4ddbac0a66035bda2ee67be1ae8cd540fb9b6df2115b2e6fa4114257e9c25517caad33e806bfea408fe98578f6ea7965e33e698982c44c63d72a1cd622b2640a683982b44d239963351fabf3b7af3b10cac926dfc1718dba6f838ed8e5ff85748316c01cd7a26554252d309702e63e1faeb77dc23deadadebd36fb78864eba3f86ee95d00516452006b9206ace1ace9817fcb4882a4bff0eaf598f63d33d2564a2a328b02ff202003cc9f00ed5abd9ebfbb272e59488b6bcbbc490aecdf49abff01168254cd25ae3f7ee85a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe880883419ad827254e960b8a99987788d5358968185fb2a37d2375777b5c2da26f8ab35415cdb357ec507fd85ad814810f31e9834b6471089145369f1b44e2dffac2410de471fa48049345bf38827d7c099c9af19567d1e50091c322c156985ac9d4ae0f459e4d2fbc46d27c25cb45e2df6a6f237ad7989d0921a62399eb7dbefbf368f75b09b01df5d883c68b10a8612b56883e139db06a5e142a80a7f3cb7a2075cb9d358af4b5387f7ae172dce73983335d0d417579e48e80e53df8162040bab15b38e83d920993c2f7691b6a3eeb834fef8b785aee193c7f147eb262cf8f71fceb8a0bcfdd55f293027dffbfec1f9e69ed0380b47f079ab3b079658c8f1f4cbedf8a435126cd3190c19cc6662e14f61a70b5e8b667f2c5aa5ed41ca8988515e00680965f12be5621f4aaf8bf55c0743b696f61f2920fcb75166a7be316c5a1b901f4e035e0c10ad8718410ebffe826dcfff55123d1daed98be3c0b98553a53dcfa62fa1ee8bdb13949956f671be47c79b3ff0abd66fc40bf1cf4b07c252cf510325b78732a204c7105061ffe7b3b49e5a88028d5f099679e699ba9cf39e7dfcb9b567872a5b7bc67dd60e7027a59038da61144e9636a57cf85eb88caaac98b6d6ed3860a7f4e1faf4d49fdcdfa7e6d435c68da8f38840e4580a36ad9f32eb738f5ba742f51df5fb391cf84c98d758fbd872d00a7522a221c11b13789ffafc261df0be1042998e39389cff59608968cb765eb230944bc5a3bf9b1888dfdf08ca1f79d8b95cad5f0c4ff08b41db38fcc38879a014a1d2dcee7fd6490ca625e065819db67e7e0c6c97e275992ac1e485e289f96b8f336eaeab6fe164fa3913dae75d8022e35edd5a9326178b7dfe6e8a1c06d32bdb867da382c0fe75f279a5983383b02c792ab25ed863b170da63420024cfc87725ac8248a3996477218580251eeffa308edaafdedaad5813453001d77b9c237ea0130a1df4ea595fcf1c0518182b20d8c5692858c5e9526ecb2fe06b0cb468e1cb1e96d1b1fb6c5d3652f272463fc3e9f1110629f64ddee7caba65e42c77c4f504bbe820ffa99bfa25eb301bddfc627f467e3c5bc0f87122598a9cb3efbc1c4c8ad68fbf131b2ebe85b8dee7343d8b2447283bd0f93b1e2a7f7cff0dcdedc688cbab818e105fb844d3de7d78dc62af706dd0b5845baf821108820f29c412c79ec9a3e899fbfe47ae2b87ddbad1936ef8cc8a6d32d2bb01955c55d714718e44f6b6c411a9200ac9ca4a8814b005c2e25a9636cca308e29cf6c31b467cd5be3fae7a19d9c1437c041cba992b97f197d4f044bdf32b0439ba303666d41819098113f066fe016945a397bf3db4a2878a0a4262b74b35f59b6263a1985de01af17085da5a063f91f20dea4d3fe277209334145279541a510b5d1297cac31633cc9b0013e1e650611ff76716a802b9820d5a7e37aa029487774c47e4af0e329354dcc20e6a7ff637ea0aac4a872c916e5e8b223cffa6ebe63c5c79b0a32d0833f148ce38e116531666adc943e169a143c698b89b0ffdbd6d12714edcb8d703f93703383a94321e425e5f4bc24bc094c7495f0a1249684fb0235e5e248e75859c4f6554a8fb85bc78c13c015019a97a7dbe58c8847468076bebdf37864574782919c01db688e524a9ad2215f83d37eba546f16d15e5679580fe772688de00b804e698e8508f89c176e1bd9313a96009cccf463410b3454d19ae782728858e7d4b2e592bd27d373710ba0b5e839516135ab64d0b57454202a30bb9eeb7884483ab0ed1d2f4d8d3f77969bb0efc0413bb77511550432d1f0321013e269dc1916ad3139c1aa077706bb5e0b8ba5f24f77254966018ef0eb31dd105c26c8b853766a0463c6e65f527c2bef1ca51ff19ccbd083eb64df2f50291218af97b00601a03baa3512a52ffb859c4669d569cd147b3ca56a3c2f37dae17aeb693fe4d0921127728311377348e0184b98276c10bca806cc146b5a32dc5111bb593718d1e8bb23a8b86291f9f5c97a91de839cf4cc4670603e9ef5dad899e1b3b05df34faf292bcc2fc11e9b531a90976abe7a71ba535cbbe00d76b8b01adf31ecfe84a91150612a7ab6cbaebce588438243e84d8d0d84ed7b25a912638ff970fba2498b3c597be8e4a8c6463f8bbf1fd9668c043aa1cf74fbc902fb73fb518e74b605b513cc09d0a4852354f11509ba5d3e3429d0f98e11b6565a03c6e54524fa6dbf1c0472bc38c1340536312cf4c1a9a9c1d212dafe79e6a1a21120c7e9efeaee7039c0062ac1224aad73f1ae31c4bb5c6f9078720ee4912d0bd78dc44634096f19460f71167eb89916c32accccede637a16eb68ef69d75db9bff91fd07dd90b8bdb771764936b8bb817563499d8ca0fe357883d0ecd30033a2925f1df2dd591b7f3bf0ec984ad95d7755f0d25b8f01f78dc999ea82e305de6b97a7f62b8d54108476650be2512bb95a25486661fa255b9765a91f42888304a8ea6face5ca21ddde91418999f95d8f8dc4df08b3bf3f7a19190d6c07c71c5bc36a8d6ce7fb4e7915b5e9e36a68892b1ea66b18ce4e2c9fde36e5b7da6309dcbc0a32c2516fcc45ab0051ce8797fc3770a26c6bc8250c70c68fd3dd3d8d24aa467eb41cf18320ce7512507e194cb1e2538a72ddbe1361ecc6fdaa1bc70e26a33b99a3ff1a026d8c6fd7fe1b2b102af7544255f943d15fa9c3ebc2f77e09362edda13504e74956c1ac8201f2811625a805e9ed6898f8690bf6b0d1a0fc568b47c94e35b29f8026c6d3b7cd7c922c6526641599fd00f6ba259279c6a3499718152dcd6575738037079725a896e98a72c76dfd9337eb39334b3ae696e9d8b5c2952ea2ffd588e355f013b1d3f6ade3bc1d21753ba40816a8f8b20f5a466c8a23ed0c1c113a27f2b085c9abf950c61b5e888bac5da349160bdd50b37c03721c029c2e6e8891a394e3068d73f1773148b4ce6d263d145ed3cbe50a8f9f1630455d73080bd006762ef3da4a131c576e8d1873b2745e743fc660e8676d44347402890a71f65a690e92ea788a2bb0429973b5ef907367aa1e916cbc33a8efefb8e89a58adaf0f6505054b9d80bd07bdc387f5b7a668c3e09389303ee10a0e18f2337cc809ff4f84531e4494f4b583ea7c242735086d3fad84ef9cc6ee6ddd1ff48f532be82ba9f5a0f6a6304622ccda0dbc7662125db6ddabc437a6c2699532175c9913c0f2172656c3c0b527052764b4c3cfe32f38906afec67ef560a8fa954ea9bd2e1bacada3d833f3009c7e6421b8350e861dd9d7301c9e414f28633d97df4f118c375c0a0fc713449bd27c078de2250c02b996dc76762e9e564043619ca22a816b27d44688e9ba55a334378096598133e8aab99ef96ff79af11dedc468ae4b8f8ea363587335ae12e3ff57365d344ab345b134c8650453ae81e146e5bd98ff8509503ce18493d8dc2c55adc27c8b734cced7cc4ccded4be911fbe6d7c06a7e4e6a6c3c09f8a8916c5ac9653878255e980ee24a14543010021eee1691e5837490473d75904a43e2a7216aa68996621ee99de1de78c576d334b21657359d6c351fb7a224e90f05971aae3a079bf494d31b49d077feca2a39dbe88f00113254b8aeb3b1a8336d8f29e0338f5e38dbe4f35aa9115a3c793e2c34314dc5da229834821ab5e295481b2a08ab54da579801f6970b999290ba76fba9539eb0fe2cb1f73558a050f7f31c23b11e022c262fa49fac057ae66e9c1773b3a029760b1adb46c9cd11e9fd0ad3e410bdba3158811ae795628f78ebe51ffd1bc3c7ad86381bb431eeed507a1327eeff1a21f15865c9da1ae66fe4fe8d325c0f878153686528b87fc7cdeb2954dc077b0a84ef761dd320607b52976d1c5d0f6bb7e9f940d6f6b63ca6ab0fa9cec74c06e43bfa26071e7cf06a9c713b2f8bded2bd6250b5f4756e14a2801c939cf73a42f79bf986cf84245a413047f1ddbd6636c744c07a3ce8a90dfdf8dcb6a21485fcad496b5dda584b04cd1d55e72c68ee702788442f231917a2b777e55834856a98f87fc10e6d948d9476a030a1672194a09c9d089481f2ffdb521c666577f5f78d97dc38cd9da51a6bd481215dbec51a57cc6b7ce5355e9dff1a71f0951a6c39f79e4041ee84a687b982185e899ae33f8792c314b27eeda9296c9cf5a8538e6460e14564b746ae5b9f17f0d307134cab52e201bdebe73049dfbf5232e4da71efa7e8adc7c570f9f0acdd7bd4254802d12728e729de5e1e2bf750980b4e1988862c122860b9e33e1fc0e5a0623a72539c323abad752278e23f3e4e1b229db2651748fde655ef13bd9c4532d52e5fb691e84e0d187023043a2c8bf0440aff1167d7dc696a65f982f469e5b61de389c6338dc7042ab214af8bb2f1a0a3dbe59c847d540231dc0d9600f07a882476f7659f4373d840d987f7a839f23160bb23db1d23b776c4c84d329d6184e43cfaf18aef85d3b8e12f0d4184722ef28299699a965a729b9fdaa4e0fb487d2521ddecb586a48d4faade4acb422433a7de466b106af58111055f323310b8b2449894c4381d87c86234cf53e33265e7391f4e4c0e21e6fb5afd6a7930a75b9fdf02d7859b01a6a0007e9f2a1ba6ceb56e416926d71b98dc5ca373a16cd7df231c67ad379ccb86261a7ad595546af0f071ebf9e87b578047b6c70175e6d73e3cc86702624d2428ee06e10358e833d4a0b7d92a33fc17a552256a90133c85ea589019aed11835d9aa96ccbaf8b4344aeca4161459e9e3bc5d97be4a2e806b29eda19453b2ed1cc506532e7ae4bca16dc699d8a0308c0ac987d24f44e7962b819ab4464b6625f7b1c5b96b36a241098dd7c668229513307e429866a6f78a0995f5687490f7e7c5a615b8a1e3f52d3cfad38b9b774791a396c16a0ca951122191f20493dbdb87c8cc03251b4efdc131c0fdcc0d7ac8b602526a747d3d46a9d0549b00076a1394e49a5ab0e7d0bd9d78048550812695fab03c9683991ae133c2645639905bc1180212c8fe4f3da90649e0c8405dd95a371ed6ebee276caf5e073d5fdd1c1b3022e2e029574171b91619755c9df227c2269f8de62a62b9e0ddb82659916bff041216e1ac781e13840c9279634555eb8d833f29a9d038350902a576523a3e76662f198ac2b865adaf93c5243f952f1542f72a957360cee728b0370846924ce5304a1cfa437f63cf031690e9785d84bd34abc6089d4e2255d7997e83c7e36b8f40602a63e64df532cd0fd116f03efff1ce3b8c3315f9ab242fa2b25fb087a3284fedc666ece14aece59b752edd8c6a60dcc54a675dab17768a9c97a6a7104468b12de5ca01418a1c57bdb2dd36eff6529301807c91306ca0f9d3dbadeb3332737a7123689b234227e9dfa6104fa74d191501fc11770a69376bf3c3037273ef3b9e4d24f8e5ed973690db7b6d7f065277c222c7e0835d632b51d46d444160928a3024e2345585f40c2e760348a50e0fc334e14a49ff007d8325be2a5ad90862e63db7ec806bfb5415b1e3c2ed737d2806412501e100f8e92095008bc0bcc6b02d3fd30b0dffe2121cd530310d008ffa2857f09347ef0cf0bf747c251a7c3778890e4cbf0ab7b956bc953e673cd6768614087d9fca9b4be99772c1366f83192acc8414bbf1464971aa5acbc03a9d91561bfbd5bfdd7c24842424684da7311e091858a9df5ae5ee70aba5ba882bca9a6106dc4cae4cb39f26a3e0b4be47a340fc631bbb14ce5b946bc215a95cc26931fb73b6dc4f2a1d31050b52fc59186ea61b914a9e2e9b95ce3164dc90d4e86b89bbf60cd1d89d243eefebb0d0d26e3dadcbd8ec2194171c12e3ef9dc0229f839536f8973703e63682e499fea8d343024f1de740b5c14201eb7294ffbcbb4ad5e78ff21ba4b0b4324159c8c375a8bb41f1476287407b5964c22dbfd49ddf36067210fd5a7bde436b5bcfbeff59e8c5e655014df9eec6e82b5d91fd495../../grub2/arm64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.02-lp151.21.30.1.src.rpmgrub2-arm64-efigrub2-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.022.023.0.4-14.6.0-14.0-15.2-14.14.1__t@_@_m_?@_;_5+@^^x^oj@^9\]@]]0_@]@\ޢ@\ޢ@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang bwiedemann@suse.comrw@suse.commchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang mchang mchang@suse.commchang@suse.comGuillaume GARDET Jan Engelhardt mchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comLed Led jdelvare@suse.demchang@suse.com- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * modified 0001-add-support-for-UEFI-network-protocols.patch- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/shgrub2-efi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~2.02-lp151.21.30.12.02-lp151.21.30.12.02-lp151.21.30.1efiaarch64grub.dergrub.efiarm64-efiacpi.modacpi.moduleadler32.modadler32.moduleaffs.modaffs.moduleafs.modafs.moduleall_video.modall_video.modulearchelp.modarchelp.modulebfs.modbfs.modulebitmap.modbitmap.modulebitmap_scale.modbitmap_scale.moduleblocklist.modblocklist.moduleboot.modboot.modulebswap_test.modbswap_test.modulebtrfs.modbtrfs.modulebufio.modbufio.modulecat.modcat.modulecbfs.modcbfs.modulechain.modchain.modulecmdline_cat_test.modcmdline_cat_test.modulecmp.modcmp.modulecmp_test.modcmp_test.modulecommand.lstconfigfile.modconfigfile.modulecpio.modcpio.modulecpio_be.modcpio_be.modulecrc64.modcrc64.modulecrypto.lstcrypto.modcrypto.modulecryptodisk.modcryptodisk.modulectz_test.modctz_test.moduledate.moddate.moduledatehook.moddatehook.moduledatetime.moddatetime.moduledisk.moddisk.modulediskfilter.moddiskfilter.modulediv.moddiv.modulediv_test.moddiv_test.moduledm_nv.moddm_nv.moduleecho.modecho.moduleefi_gop.modefi_gop.moduleefi_netfs.modefi_netfs.moduleefifwsetup.modefifwsetup.moduleefinet.modefinet.moduleelf.modelf.moduleeval.modeval.moduleexfat.modexfat.moduleexfctest.modexfctest.moduleext2.modext2.moduleextcmd.modextcmd.modulefat.modfat.modulefdt.modfdt.modulefile.modfile.modulefont.modfont.modulefs.lstfshelp.modfshelp.modulefunctional_test.modfunctional_test.modulegcry_arcfour.modgcry_arcfour.modulegcry_blowfish.modgcry_blowfish.modulegcry_camellia.modgcry_camellia.modulegcry_cast5.modgcry_cast5.modulegcry_crc.modgcry_crc.modulegcry_des.modgcry_des.modulegcry_dsa.modgcry_dsa.modulegcry_idea.modgcry_idea.modulegcry_md4.modgcry_md4.modulegcry_md5.modgcry_md5.modulegcry_rfc2268.modgcry_rfc2268.modulegcry_rijndael.modgcry_rijndael.modulegcry_rmd160.modgcry_rmd160.modulegcry_rsa.modgcry_rsa.modulegcry_seed.modgcry_seed.modulegcry_serpent.modgcry_serpent.modulegcry_sha1.modgcry_sha1.modulegcry_sha256.modgcry_sha256.modulegcry_sha512.modgcry_sha512.modulegcry_tiger.modgcry_tiger.modulegcry_twofish.modgcry_twofish.modulegcry_whirlpool.modgcry_whirlpool.modulegdb_grubgeli.modgeli.modulegettext.modgettext.modulegfxmenu.modgfxmenu.modulegfxterm.modgfxterm.modulegfxterm_background.modgfxterm_background.modulegfxterm_menu.modgfxterm_menu.modulegmodule.plgptsync.modgptsync.modulegrub-tpm.efigrub.efigzio.modgzio.modulehalt.modhalt.modulehashsum.modhashsum.modulehello.modhello.modulehelp.modhelp.modulehexdump.modhexdump.modulehfs.modhfs.modulehfsplus.modhfsplus.modulehfspluscomp.modhfspluscomp.modulehttp.modhttp.moduleiso9660.modiso9660.modulejfs.modjfs.modulejpeg.modjpeg.modulekernel.execkernel.imgkeystatus.modkeystatus.moduleldm.modldm.modulelinux.modlinux.modulelinuxefi.modlinuxefi.moduleloadenv.modloadenv.moduleloopback.modloopback.modulels.modls.modulelsacpi.modlsacpi.modulelsefi.modlsefi.modulelsefimmap.modlsefimmap.modulelsefisystab.modlsefisystab.modulelsmmap.modlsmmap.modulelssal.modlssal.moduleluks.modluks.modulelvm.modlvm.modulelzopio.modlzopio.modulemacbless.modmacbless.modulemacho.modmacho.modulemdraid09.modmdraid09.modulemdraid09_be.modmdraid09_be.modulemdraid1x.modmdraid1x.modulememdisk.modmemdisk.modulememrw.modmemrw.moduleminicmd.modminicmd.moduleminix.modminix.moduleminix2.modminix2.moduleminix2_be.modminix2_be.moduleminix3.modminix3.moduleminix3_be.modminix3_be.moduleminix_be.modminix_be.modulemmap.modmmap.modulemoddep.lstmodinfo.shmpi.modmpi.modulemsdospart.modmsdospart.modulemul_test.modmul_test.modulenet.modnet.modulenewc.modnewc.modulenilfs2.modnilfs2.modulenormal.modnormal.modulentfs.modntfs.modulentfscomp.modntfscomp.moduleodc.mododc.moduleoffsetio.modoffsetio.modulepart_acorn.modpart_acorn.modulepart_amiga.modpart_amiga.modulepart_apple.modpart_apple.modulepart_bsd.modpart_bsd.modulepart_dfly.modpart_dfly.modulepart_dvh.modpart_dvh.modulepart_gpt.modpart_gpt.modulepart_msdos.modpart_msdos.modulepart_plan.modpart_plan.modulepart_sun.modpart_sun.modulepart_sunpc.modpart_sunpc.modulepartmap.lstparttool.lstparttool.modparttool.modulepassword.modpassword.modulepassword_pbkdf2.modpassword_pbkdf2.modulepbkdf2.modpbkdf2.modulepbkdf2_test.modpbkdf2_test.modulepng.modpng.modulepriority_queue.modpriority_queue.moduleprobe.modprobe.moduleprocfs.modprocfs.moduleprogress.modprogress.moduleraid5rec.modraid5rec.moduleraid6rec.modraid6rec.moduleread.modread.modulereboot.modreboot.moduleregexp.modregexp.modulereiserfs.modreiserfs.moduleromfs.modromfs.modulescsi.modscsi.modulesearch.modsearch.modulesearch_fs_file.modsearch_fs_file.modulesearch_fs_uuid.modsearch_fs_uuid.modulesearch_label.modsearch_label.moduleserial.modserial.modulesetjmp.modsetjmp.modulesetjmp_test.modsetjmp_test.modulesfs.modsfs.moduleshift_test.modshift_test.modulesignature_test.modsignature_test.modulesleep.modsleep.modulesleep_test.modsleep_test.modulesquash4.modsquash4.modulesyslinuxcfg.modsyslinuxcfg.moduletar.modtar.moduleterminal.lstterminal.modterminal.moduleterminfo.modterminfo.moduletest.modtest.moduletest_blockarg.modtest_blockarg.moduletestload.modtestload.moduletestspeed.modtestspeed.moduletftp.modtftp.moduletga.modtga.moduletime.modtime.moduletpm.modtpm.moduletr.modtr.moduletrig.modtrig.moduletrue.modtrue.moduleudf.modudf.moduleufs1.modufs1.moduleufs1_be.modufs1_be.moduleufs2.modufs2.moduleverify.modverify.modulevideo.lstvideo.modvideo.modulevideo_colors.modvideo_colors.modulevideo_fb.modvideo_fb.modulevideoinfo.modvideoinfo.modulevideotest.modvideotest.modulevideotest_checksum.modvideotest_checksum.modulexen_boot.modxen_boot.modulexfs.modxfs.modulexnu_uuid.modxnu_uuid.modulexnu_uuid_test.modxnu_uuid_test.modulexzio.modxzio.modulezfs.modzfs.modulezfscrypt.modzfscrypt.modulezfsinfo.modzfsinfo.module/usr/share//usr/share/efi//usr/share/efi/aarch64//usr/share/grub2//usr/share/grub2/arm64-efi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:14958/openSUSE_Leap_15.1_Update_ports/8ac73786c2e083ced776d69a9d0d7363-grub2.openSUSE_Leap_15.1_Updatedrpmxz5aarch64-suse-linuxdirectoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not strippedELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not strippedASCII textPOSIX shell script, ASCII text executable, with very long lines if test -f /run/update-bootloader/reinit; then rm -f /run/update-bootloader/{reinit,refresh} /sbin/update-bootloader --reinit || : elif test -f /run/update-bootloader/refresh; then rm -f /run/update-bootloader/refresh /sbin/update-bootloader --refresh || : fi/bin/shutf-88574d7e3380c9c9018b2104a2ac79495547b71807675f200af53530bc493a3d2?7zXZ !t/ }y]"k%C¾rU9 c89E(#qF;u*8!]?+yTC8mnh!H=V*a:21`A&>CPAm'xBXI:vm-ZkU00[蝥]ky?X-t,) d;@FsGM> jB,jU@*9DQvÝUSgރ5`&€˅Mi! On\!.QE zuous_<!nIS]$~jw$@gC+EPM }R[ Ǫ}q2F"}q*|}31YX-,dY\wEƔZL,@fć+tNPftC'&n X\K3j#%P6B̭>"BiitdBT9k.vjEa-y3wU1Gi*%|j"K `{5 NNaa'#7*St&T9W,r\B%Y-,>n%H+v<7P悕n\W"7sbѰ mA$¯+i5=hݚZ3ɘk]A3Xr5F(x1a.yS$tujVg@3B Ēscd͏N:= eV Gv<%}[>i3X ]đ =46BښY~I9bOw֨I2;ytD`$%p26'N@0B-&σ^n5!#{ɤb0 S\=b3ʄNzl:/qQXFPUrA)Ni[;v4L' ;,:aOpQiHpp}͞۸Ge; { 2+aGȇS@X ؔu{dݙI OBbW<qbO6z(Jk ־\Ԝ} Iyu<_{Dd=7z&?Z5W#m1ilb3CɨPdF MM2dٿoy)?@1X?t:N&ѣ7.oR(8By=6s;pDN8)D Sd<۹ʶz|=Eچ;A])󭁬f`n=Q !Ye):YqQC'%*}6rJ+eoV0;()똓a϶ fѨ7W*;q`ۂ=20v,F"c}G2< W|muqS/(US3*#_s!BW(AoYM)[O~z$=x[ͦ"4Hrm9W=_mQĚo,5SwKTcMMEw"dls(0#ƯpE*ۙDŽ.??5JC$ l ii8<T?փ7 s$RAGy=[lk C4L).rX-{\4o&_]EǗ!rM=9KIG /IY(>2b^naٜA&RsJAYՋ:hy!N`M+kI+4 L?w75DRf =d}6n %:}bԭ1=) vwoӑ4Ѩ!#؂V]ဴo&sC׾ZѤ:༯чcmi`? FWǾ<~}@[)$Q,r{mqT˱䆉GY9H dN$L_`8Bz]/*1=/( #hrŠ85sHoS}wf# O={Nqb],7mҼ&P@T԰$mqwKm|1e[DѧAI^m"32>\ZIc(Q! %uqL#"U=.coi`OVeh/\i\.]ג’w *zs՟U39^]s>FYda j !Vb>^@o0)=ˤ@R&Q;>U׭Pe5Tp5J_WIYȢc`5JG l®ph>Vk|u?ߑ8M-4L j5L8MpIO?הM4rfҽq)8ȫҢ[D;a<'f464j f7,`2Q&y)4#D*U"W5Ʋռqjb(4qE&JY[a}C(* :aYycwxmk<}׍e\kOL'9|Sl@ O "w"=Q!9#Q|O0 k<'.b&·[lm 8?0\װ`ܠ!VIf 'n 7UNfÅ{q웘}~=Ez7ٲjah2Qu Qhr>J^MSe v?< n=oVcu/™a;q@`|Fܢ4!T޹z:]?#@2|lo 00L]zowoEN*]c@N[J갑Dօd/p=$8C~u0  G,SA|sib(]jiL!p/)v~釐`z%[UpY%Ƙv u@-J:C.?1}q(eZ#5ƨM~#! f2^$%"@b){zI?x{Zoh@hNL_oJi "aNcXWJQ&GS0pJv^  .P} "PIWSZ8ݗ6ab9kgj|*ML;32=ǘΊcf iWiopO?tRLO$)ITB:ї#"rəu &0m$ ygY0퉫¯JQ0  7( Enmyv(>F{!0f4 !Bxڜ$?A>z%j&D@ÿs: B/f /yx:0ᆀ"fwVAVt#4֗.Lnu>: :1]1Ï\WZTmVocLZ$Z5 bg%_s 1Y !7QdkV]i+tvӷOamc:uk%ȸw-g"":V7v=a%~ICd%!˚@p\ \ ~fK5^r\_lmt"#Y.# 0Dz2ogd7ΓR vV6Ufb\B:"+wa!޲T0aw{SzC]X( ҢgVǁ=c.Q@ދ;SU:e &!}BÚ]oItpL.j 9P`gJ.{, tLMILCN~2f^ڌFR2AgrR8syХz1=$:z-X'O(U0_;ka:g, >;vDoX1 0~JIj./ujقj/ĆCrSK' NS8 9=e#L S{J~ɰ:Ƽ2,Ln 'q:z @CS.%8B)O mi~~v_ݖZc, umGJԃď`=H8!55(Zza]@yI3c!_;3Cq]Uq&L]%"b6Sb :Q0nM̾Em;Nh}`PZ)홰*2PbyΛu_ghlaL(L4\ &sEG6v׆V=Q2'&UR@Rћ9 [rY0~og/j_^z:#I L m^yZêb{FIۤA+""*ȤOYy<ѥSrf |T#6 IĘp ڡ"\W&yOWL 햽 3W+x`4Ȥ[<ґBngiz>vN†D7F|иq 789_wR]LªnL!s/^V P[A0((8-%3j-iz\FI]B^V}(O\ط[ЕnRGc)1eT"|[O J39%"jeK31N6n@ZuQAmJ$&1=*73/-H#p,peI&Ç(%D)çGRʿA -ob#U& : R2geY\]=Ȏk'akF:UQmz 5ѿ *ozhF>wQ@bByI'4-d YK{( H&Yf牐D77qmc_ Lpyr5&7 S`o׷%0#Iy,(e((oȉz}lwDۧǵƮf[G?e0|pN_1fAhx*;r]MծY=o$}v~k!iclUx;jyu]ܝ $L ҍY&($A<׮6^(>h_ڲEsCu~ a:ox"6)ttk9r)(be{صkH'td\$=F E̞G٬342Ӆt3f=HF-;/:*- ]LyG';aQG;qG8LkZoqs2\QΣޯ &:W5XӋ&O }b-|Ga&Ȁ pX1ʖq]=xWpk~Qh졵=wudr)>0;=8E!A%0.$_(n?&p_Ϩ-i5b2*]5{k|@ (b~/DNPI#$JH.isOE2Aү])t\amCů-sV2h,P*?8h1A4J v-ƨ>ƭ A[sZM'SL %WjΣ lj}w.Ŧ ݴ4D8"#⎣,pKt옱;2EmppYlTrT^R@8;op~s 7Ss R 2+,ܬVǵqaX!slK,sˆn5LRO8ц2,Pe)gwP Qځ񆇗SC@~bᦶ תKnvDRƑw?4+Qwh<Ϛ4XL_e[@֮1|7G)9%9rJ h ݚD/,}zvEpEm9@.5g;Kp{P7.v㗇H[坱X{Dh{9vQVY2`uۮDK=Y{N݊k`"G3 5t1/YKG 33B,PR2qLcUQ[&-ǂoz܋/5P'mĽƵZ01@n 7n~RbȎ8g^~pv%EE޾'Wx9,F$ɮXڇᐠ%ov$\Lgw! PuZTI|eYd 5)k'siF!bL n_F>4aLˀ7aFql]'<>*׃H<EA\d бQRVZdւF;]|9pJEH ֨&NBw+3?)vtmꂽOdX&s?HĸyP2J{=`ptBH[y:Oos PׂkQxXbμg T~HY8TRb! 쿄x›Nn/p'3$>5h!}5 d\w5oQ]0Bm&nkIڑh}Iq1 #0/Er>@t\,zQ]_'%7Ix v `izT] ح۪1_g),vߪ-ϻ!Iwءv}ׂ8q|/ԉ.RAJy[tG Tͮēɒ+=މO4E0o WPE|zBN5elds@MCW<\uv4~s{eD( Mjy-6It=fp4>SZ3 6 aLhN9ZA'‚s4)}{xӛTȌ;8WU"C&x/zG9řVQJܷwS^Ԥ&Y:%Lh1.y#h]yX\f1 ;J8%f.{Y?~kȷ>k|9pmq cXqat5qǧQPf^ybe^rdEoHrrM=&d p =<1\޵<:#1z ; ZtSΡ nWnEUBw *"u Y[%yR/hd`=awTK7? O/l4ϊ,?9&VIlVZaYj\خ0+S?Bokev R顺ripq9̣  o "!QKjKH}}(*R{ȿԔ.?+?֖g\azS):i9nVD3T~SD's)C_an9cXU [6xKm<4WCL51[4օFkm/\zۓQވkBn C-Z r"xiE|_"F?̕_9=-K]N6Os`aJbt 2oOVFz< -}Vܢi/O{G-\GΨ2>kF-t ]94EPۂ(\7fC[ҋаgM `Ԃ_ nzF׷hTcrSBL">z>r?py`jU^rьƓњ[&G᥏zQF(EvzGǧ4 *ʱ 3$բ 94[by</WLKn26s%?srO>EJAtn7SO > X]]i0dM#;?g_s}aem2ppMK}IFPHCˁ۰5Ix-%tƵ ?Bٛ,|iףZ*s aaoXhyg¨.7) lLV39czA9F^fY|?/dFYQNu%Qj]} G8Fըد..ӵIlW+iA9IMO37Hqwz?\J4JUhcdSCp:d?͐Jl~ƙK:֓7{ld:, Թ`7,M݈FBp3U_.-$VTfl(c=r2@v'S(V{ILR1.x$JR0?咢\7{)fU@؍jggs4G jZ0cx PPo uϼ[> PyQqa Fځ %Mփ dx^"0HܚΏΧ ڭ\jCh(#̍c2 f_56V>swMVG[cR!0B@DcxˊPUK\`*-NJa 5Y}@P8źr \NF,MIX%=Rh2wsod "%tnmuY #us׫i2|k4wCl!h 'E--7M:~l/SMc1-]薃o,i![s"RQ`5m6 G~.ƈ}QSX<}}ojF4̥fJtw;{ WZh]+b7zM4| ¹^yK ZhڑgÑD-yCf_xI'~Ϲ!R[y9:&d/Gx03S4v' ]gY\F&Yct LVE{/:av8@?~w:۫1qyь4Lp˅i< % JTf֢?h:fSD̏و T0M!:-ю\%=?%$\h`cvE{tDcn{z8KSvlvOZ̵{d ѐAw9AG ZUMƐƶK *"FYcԞ/km;Va|Q)k G4tZDeKNn?[BF宴xCbߓ%vzE0MHW@<&׫Y^J(iv83J(NGc҅j\zI5WaQ\0i O1!ҺIt.QJ6sl8ބ |'"LHȍr*q-%iŃ UZ>To(ƶa ^-$\NW\KBZbM &g&(GYQ搄d+\Vz$Y&*I2d 8ÙD&mz+2쇽"(/'\g5\n/[P#x ay^h!B_ B"jfSVAUױis5۽\(1 +ä¨wKuⷌOrC%s`Û6-(ii0Z:` 1o 0Vh*42ث&`hQI p, ƪmr(tVzN 9E Xw]V ~+.i4)}~$Zc*j7HXZTkrs@$hߤ&`FdEFF*0i +Ql`:#(ZB2ک oBBB( (Ӳaua: d6]ߖ+(8߂^弌9"YSaqٶFnJt= u!Dd8BӽEcJ9Qr˟{g Y$_&zXCe#`2MS|hU6QfC읊@dp5e7-g*/W4lwk[7]qR uF_c#+UW'q jSR8މ`fj&: {^=x_{*:ߐ?+L.'txNt#gXPxOԔ$~MΑ$6aMud,gϦ4|&1&TyHz8 ;UqOȫly^ N$/ K?nS)v.$2s ~ TΎ kɔSnT<+R,G>ˁXwEA<9ӯzJ*'khf WqK@j K$ Ӑ ,ʳ>r=Z?$nKBPWm!uq(wҤųI Qb(\#>>A@ f7]^25=#?EiIwJh,0X@Yúq}xA@NfAf>%E9|W-0b!|:Gُ2IM#Mv9LZ5m8ڲ?jpxRąhNCIoUs£Jx;mH:05Bv+vM` BPЍjߒqEtndKc{IYS3l[M4n!B6یa"6Q!'0lA`&9]hu1~qblOѺ;}Dvrb=F\0^. K+>fDBގsRD_{hW66Z4XؼsfC1 Fz͍8 7zAIz3@|(˃߰T9Upڝa&Q~QÏh(%zTV N}X6hyYvyA\%ttjɣŦoE#LQeHE_1Ej"IVʮvASjx)>6^z[GXEeL F>#Řpog<Ket@FDLF ","A5x%<*VKey6݄4] CCZs8ZR2LF'S! U܂Kx77`罘6r8wW](mα߬ı15my=gFXM}[ڄ-4-sb}[3j{ͅ_Ƚ mW-zþb;K1I2%w:b3AՇ%X d:$Dx&׌ˠk:~'|`OV{d]A>9>".[e9 OwlI3AUKtJp=#ФK1~np`n[rr?2dCXk'}xшY|h8n^3;P(5cj+jnA<#)Xq1C' te^>n4jeM) :zJgڎh%xr%#ʎ1`uZ-CAsIw*F8b*s /?)߫+1Z*(0BLsJo$V))K; ݦ ȵkאT[dR.6" 4-aY@< 魁X)&B1K.ƛۻjӌ=l& W]2q='eF4뻚Ĵ iGh%DD[4IuKt﫞=&V4Z=dy"g2W`(iiie3{mqhn[P}{/Ρ1DA 4rM4%b¡7y >L4ۻ ǖU};W$U;m5_.nY|T~?xns<M{/C̅&ULW(B! `fw_WoC/rK^*&Blhcՙ eV|P43tAI:/DDڷx*T ~ hIe?:F^k@9botJ(8$9z1E ~s`q`j|*Fv3|;c*#[zSb# :([$"ţPo.R J 9{+3m \0+P%DI0eg)ҳ)y+/)R|wIDmP#B=ANmSE5ӟazj(|窔^U:hw* @x_h)Eph#XU( >gd0fmۻRC@j(0҂ɲJ.5%\_7Dk;_ʭC ꯇK"c hH8h7}і>K4'No\ݐsF[dxy0^"4B]^}2TsUk Ļ ~,SO%K0n+u֋-'#AZKmkµɳdW,\'$^<e}PٳoXlRD1@7w(.Fx`p,r\a&>)&|L8R?.E~<)gڪ|UfRB/;wP'3 㞫Ue=ogj8e m?We#˓e@gOXXOڕ͓2htA X# $ JǪhnƺR< 'l oZ:ڷR7+<kOk⛹:$3S6*vT9jgK?X6V&3%y}rfN[=%Su6_=B}[Zw"ʑ7=<RN}j)W1+O=-CWx*ޯ0N6FVZ*is( Ё}X@÷ V(.~TEmIn(YPn1YhoBb6\߿ , Ff_h|x#>5v֟ŗoOm]%M(2 +ϘnsVQzd4\bp\ȧъ"dnpb(f;2pa gS\n}͗n>_2UsXyl4K(ʔ^!w}X񐽎KgO -J:0|m#%>:<:q_e0]b !j$H)LO;vsb@OR0qJꂒT!,gbYnխcc$ c+V.XX{`"BԣY =L~STyLWܐ0a"UgY\Ja$mJH)$(p6L'jxzU Vz̶Wbu =ptĩXS{BY>xINK3:@[,BÎCQ%/j788S+kbU&KH-~qUH;kEq>+C<|˝Y&Qڏ$;.q9?v.vÍQ[D%x|5aRQs~D!x~k#X[7T*:̟ f8w8V 3ۤβ`o%!) jO-C^D3ck| ^be)BP;y/يg_q12)9\=Ib/st-T#S>g%*½7)尀'Mt* Q4hNPҽb &v}idPrҼ볔{D,yBWOPQӬg|]kCErƠ`WgM}5HT[j;}_Ȱ:~v@5 ! "n%V3nA炼*iiQ] w|OXDܼ~m[ʹ9:/<`83TZ ϋaG'Yoi ECH`vRV5c: 5R5riM̯HE4r;8i\eZX62ՈUߤj=Yx:ᘱDzV$o8Y q9#mZHڧZqC-Kk@MP Ze?_$5W5a׻t(G|,1߶Xuc#P13^RiTa궡H@3tzxI.W+0݌7&?ţ措_BW:\Ji$r8Ot 1Ԡz 9$x̄Cһ!+=,΄F3bX"jJI4'tf5R _ 2"%lcG;opCK!FYpָ:WY;$mO##,XY08t LK,jK֧Z+HH/R4<(u'8hVqƕ!.OמiԛlxMC$Ϸq\ゐ j)H3?K8VL}+OeSy4O.A-_Ͻ1wpaT"w}r'%fMmGn9p2p]DlT&eՀ{pQg^_'k*>|iWYA(;N_GDi61*8T}g̤ʪߊHGID9>yfpJbkХ&t+'neId_+ڷÛϧѝѱwsC0Ď . &&bc+ARLDK?rNyy8gjt}"'eHS7K&섒\׫E!( @ۈ? MCC&1K ,夦:5E.aC&o,Q0)LU#碚ty=w0TA{ُ> chaA6W$f[U'V+j&@Ne"1ZCUu= abLU3ٶZ_5=`%cyr*?T]yNdV%EP([\UFN w7@ 7LF6ía h@ɶ?7̊#b8qV_P4K}Um!,'/2F**: Ko8 gX_MAYٴQqHk.C,Fw;onſC~k =wQt7S_B?\҄ꎧ "'n;_{Si.wsX51'j5v38a]~'hDZg@@K7Yaԍ/ }5zCȳ"}AMTuiA9wr't7a b2s`@' ţYruV%t*Č/Ycz*&[A=T4.3ÀqysA^Ztt5<.Bc -!e ^gP1uԸ+m!y7,즰yrR4:T̉㰡j&1QZǀ[oMen fyx@WhG=i7w<"h π%%ќ.؊Z)ͺ,A׫e!^?IgJQ&-&.FUSi@5y6AtLw}[Set% Di2e!C9"f.vg"2&v!AHn aT8vAku`O7qMm}3Kaxٿi4ILi-F7Ƀv) Xkm(2j̑ܭp{{@\S493%|cs1kVTўwÄ Ѐ|<䗦g0Ȅz\O3zdXJS` )@.  a=M?κ^4uxq6|S*^1ADt~. 3ʉS|nVP6sUycMl'ilӜm ^zsʄ2٩:udMUǮ x/y3iK8,ԩwa+m#&v7Jy,r0_[ $0u4|%X:#)s|%f C4 %ևu9R$/n̤?1?jOƸ{lL7fv)t(AH> 6 ' bwKcb6Fᾚř|QW)WDIs _oj!._}DSR+Jr{tPJmAz ڴs{5+I"2- Til ߜUC#-{ ~k;} 杀ܱ#RoTp `87w}˺Ӳ~̑X02y@MWV-N|{ަ+K\ nwc5-l!DwU6ZfYqOTf2WKWO HNMiK+;v,2dn|cՋ^E"u$OǓ-U_vmZ:g 8E[:!OWˬ zŌrTͪfI'1BjS4A=]Huң`>92c(c%&ãGywJ/wHo5ka>pΙQ-~s`b>6=9YH**\yf>O~R⪷l|g0%k&zPlGs?v|0]z>h.[hFI|~iV-Ms #*AxVK6VX.67W]Ry+"C?GhW aE n|sFq)%#̾uu ~ pA(-*ve[F?ivu=WEJ?Sn }c| e3]t⡢;dVgg= $A.8wu+,48αf΄GO C|c*6.0~c3m=v>6x7RnZ@.%Qc-X3pX]Ş~Å3zw (LC.HJ`WE?V'~~¥",4n\VȠr#/I'"Sccۊï_Bzn(խzF'az1e$&~thzl 9ݞ)ַпdk KD97;x_#yӒ!@GIJ9]c9sVE;Va VE=$4岽 MWĨihWc6v0e0,*2Ysdg\kdĵUc+u4!A20\:[t"=&DBg֔4t<9[4X;_ooB #TAs#Mxc8WMF-P , }Z%wh1qRPI! ѪOAйBh`Iݍ{E\p= SmMgrYZ}l\w=r5AGUwsVP?ALZx_=\rS-HT}PuY8en`' wu5%y^~sM1:!iIYy,OXf,d:"G[KH5$J4cQaY-E{9t"=ͧ 6ZW dVFaT ,G@r(_̯DI Q4IIaXʤ~MOa?^=XE]lWa&6? w9m:bYST.Ԍfb8_MI/m?D@ؾ+ L,H-d _# b+͂KKP6?DhhfAHTcz,&`E ԮFQ$aԅ߻[BJ]=(.U{Tz5" ObD9PfrP>|\lu/: Bi̘:Sogy r̔$>A}&%GJy+Ӛ)d%|iG;,NERȃ [sV'gXhqZS; ZJ0^.웕f+# Z|WAEjױd^0E=&oh1mK s5(`+e?% v ԝ߁BFEP_yaS5z^8>{bz~:LtD:V%lߤL37h!U4Zt><$5"oH@ŻO=q!l;[xA{A^/ׂO3*ɭ݃p!Tm.$Q.ܞ%ʷA ,um7EC{Fж#ӯveҰBr \4M6AYlJ9cLO-U8;  Dmh,L]/ O! A j 녬b^;qȞP\ te8_a%tʣ%70$>[,X6M3>dۭ4>Ҕp#p&H[$9w(yN3n/O 0ཁq~ɩAHn6醰 a]0@.Ɣ3oσA#M?W e:zK5]#]x1S'k2 :0TAgJʷ pⷨwYi2oRBI,1kjJMgJSJD&n DG\Uy)gQRQqb)l&V|{:PTS%|`<" Hang 1Q"؈%6WMɨfw iz'YTRTf3m|ignJ>|l2ltՍ<4{ΣbLzfG*ћzm~KY:H콐ҷ#nhjT* MHo @ xXV${8rAPogUj#3saGq,|rzA wJTـ9*A(qmd盌i^44P?"7mA!=l-,TğWB]v;҇4ˊQmfT6S&!3bk:U&׼rxg0=X/$$ -)<t$ \ea2,}:|TlU:C(@Yp锪N Q{}!(I35+ik75Ms4e+B9dQ޻ݥ~rA9Fr0`V 5ZžUBm&五obt?ȰjL82Ly,=Sq2l^nFYUHʙtz'}+fK&;Hu;9ɹT6W2}t-/̺ЏU88Bu&dql?P26`.vl' ».)?!sBZ{!|X:T]n9iFH8@S<6\_r:~+4] BHw_E|ׂ=A$%i<ԜPUwu~0F +Lqu{r"CBXEC^Jbp0!&ShiBx߲c@ܔ6=}1^LWOT}t ')=|Ʌ0cҐ\\1]1Bs VKhl،);:scUUq ( ϕg ywvzH? 6> #R9:[P{~ ?g&`i܃Fe'P"VXt?á]{Il9b v*\ Gz&XJ rr/Jo=sů-SgdpX`9Iສj qxkm|E陿jnO.}*aVSeΫeMd¥~ lJnzc$Nʕe @y$Zb@Zqy&Q'-߂"8=(QBCPJb 5(]>`h.c-Sl7f MEXw^A$E\?3]uWΎS"'2w+J%/FV?ʟR\,+tyF~?M;yZSbM-+}j6#D!$~{c}beg:GjvX༳LKI)&QmI^ Zܤҙ^#xk[lua&2bEB*m#qzT891/%ڋZד˫Vz}bR?{fm_x;LmF*zg0 PjJ+yzÝEku 5ĿKg3W?qo*;7Y%k1HEٗ>ՠ\<`e \uƆ|2p[U@oKrEoa웎nB2Ӱ _}l0@#rmk*0mۍ&6lHgTe|v_t?OH $Ki,"bbQ!{ag}|OS%$1g\ΰA+T}?@ |[}NjXF͝O WdHZ_|yݼC aLLg@% J_{ĦFdъ^wmr=O ^Wx*!y+IC^t֧6'X(&5 q$"0$o̍L ,x sfjsϷ-KN>|~(=%sdǡ(dxf:ظ$! z-bFocAgeCEW @fTXR\EGG#H 8֯{ZrJ<+-2q(>64XCuWg,::릛3jb͉7iI+vEZO(?+׹5`awBnq>n2M78ھ icF`(;*O=kv+FB@cl-/HC L$gӥ.7!|w&f?ӣڷo(WxjثE{>3wZ((ւTQ%fnoc|a+L=}% ?3 jaHa&p5{L yzK(?OQDhYgY#p]㤷f^Z]ʩ{mG)kOEk2mx&}EJ YZ