grub2-arm64-efi-2.12-150600.8.18.2<>,ݰgd:p9|/7@%$ɺaO&7ۿTR?BSBbD.XN(`ƾ>3Mn'JC>]|4S)ѧ>HX4**JTO EPH;RbӈQΜEjlKƒ2_n?'{<4M5ne)6RwZ\Gdzލʹ>@K?Kd % [lp| T       Kk L|PHUYY]] ] ^ (^8^O9dO:yO>+B+G+H/I3\X4PY4XZ4[4\4]8d^CbDFcDdEoeEtfEwlEyuEvIXJUKhKpKtKzKCgrub2-arm64-efi2.12150600.8.18.2Bootloader 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.gd:h02-armsrv1j,SUSE Linux Enterprise 15SUSE LLC GPL-3.0-or-laterhttps://www.suse.com/System/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 done10-8&Xpn{p(+(h(X h+0"@  #x X`0Xh0) >.XP@ - 1+20,-H\0 8 X$m=0=`Rp! 5?x5HX8/H2pThE%#X;@ H) p4>.H-:`H$xaP2h#,809xH(  'hh4@(  XHh5WHW ( h8 o'XHm8H?: x(X 0G8'x9 ))08H-46)W-` (px&" IxH I()(D)p$G>(LAA$A큤gcsgcsgcsgcsgcsgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgd5gcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcrgcre3e557c4eae8c1103e94808a606172693233c05f1338f23e577829e4b7654dcc1fcd50bca64c277e6f9e34bc33cb169df9bbdd668e7a08e0d41737693d2502291478c5d9b5bd13180c8942f6ad3d1e31afa64edd47d963089c3c4827f0b415af936f66e74b5004320ee7537b1294aa53dfdbf53d959eb466d50b7ecd32ba1c1c0aa9c05f50e0478e81f7ba597c36a9154d820a134f91bcd8d37075fc43fb59f620129b88bd90510f80cea6518a800d9f75a400ea742fa60155cc2b4f1ea47f30ded88498b3ade91bb66205d402b9eea0daf81bd1c17f2b62e3c359e64e29677c0665bc1441941308f4ef4bb8b72a8b515c843c7a5ab2654e5f62df00359231aaac78833d6c2edf1c8c2ac96435e41faf1b4f33175239f7392ebc2ff827224b813cffb3527f205f22688cb2ac55b2f4a2264803a4f8997750a9e70fadadfaa48105e3d2daf4429a59d6b313a1c6de9e9b06341efb190a2445280853aee3dbd45700c65a69ee27ff63094b3056ac1f49f7d26aea288662fc9dff8e2831c09e16cdb8cf2044fb8c2e10f233e07583854b501f40c7c407d9744bf3d0563e4569a04c553a1aaf946d53591ad934b762bbf22420c2545da92c42828b8d7ccb85b73d31f6ec8216517e4cd9dac1174ec6b12044fc99dc1d73fe81b3be2f4908874ab047221e460a9357d4443558b2b110932d7a11621dd27a538cf26c3e5a2692fa6179e6cb02f240c5c8c2196f0f2786f1f8a18c397fa90f7c5bc85c1da78fb383ff23e2e251877649be23a04b794c95c476012192f8162d95c6e1cc02a41f19847f7a13ea919884b23263382e38948d15f6b55b04a5b08e1ec7eb244acd3c9450da83f4258fcddca82ca24c152e221b5ecc35f20ee03c669d8fea082669d2d770f543cbf2e3b08637938eb62d0cff2bca340d3f0c2d804e38ed6ffb28b8fdcec7782c62b67b937c26b8f1d6bc9bb0d7100593124fd96e33d20354bb16163a96a8c4efa20780183a882686049420a52ce430394c88fb2be05c1ee3d27d032fde6cab45c712bdedafb2b9b3890bc6ae48df057c259b2f51e746f14cda076993419e4e0e04ca00dcdd7ae7b43b4842295a9d2097bbcf3b10593c36367bb418a481fd011fd25f23ae757c42d560f7e2ca208d44bc1b6b57f0fc909bb53aba00814edcae768364fd5abdad6f30ca4e09f95418242f9d1933e9ecfa08e3a271d128dd6cca3d70bd9b99e8cbfda1076d180309541f8b1ff9acc0a4d52887980a14c10b0488e3a454104da413c2ac444adc21d43d7c7379c191e2710e6d451ea481183a262399dbe5266feaa04200abf35499e67c87b565966d73d73163ecaae6d38b546c2f743a617cf5416fb6f1ff087e47665b225bfd4178b456804383a625732bc9437ce37a83a782b338650d64a1103962df59700a464975ec409d93621b92fa8b55ef4b1b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc432aca1fa5f9a55f37439123e087c85cfac2c4157f859b2b24e68152c4f337353da4429ce6b65f26f1bd352ddabad8aef35e50fdb074c912290673874a94cee319f21ee9fe9274f720eccf230f6fd82e36019b07e4827e2b6ba2ae8fadfeccd1ff53dbba4cbe03c95dd85fe15c123fe56a075dae486bf4edef24317123de5aa51e5ab3ff43200b455a239a0f18b4ba60f885bec60e9c97b53225ed548ca80c147291c846666b76ddc306043d5db791b02d4cfd54ed1d1615409f71b2d48ffd58911d581242e9d4d65a260912b6ad755c5b9c0977b75b876f99d939725cac6e5a08d841fdb40c9a25a1654a5feb5108da29029524f6d48651a64900683175491521d52869d60fd60cd70b0532fc610df53823cdcfe048e5d0bf3cf200ebe88177a4444900d850a5c5c30b69d36bcd16455d40e4da6306a4245019a6ea5130476105641c72f820860b7b4b62e557133e3f8aaeaffecda586b28c0f2d57dd392757226c73e7e7548a2cbf59e9daa96b8f8a156724bba24b614f7b2a1dcc71fe8839ca4190aed640b8bdc54e51f474e029d391e1e51623cc1e235ae8669b25fe9d8805a5fc04f707e6f0bb9170f754dd0e1d3cc4a443cc2cf45cd2e9efd47a8b6f2fc9e4a0ecedd0f8e1de903bb4c880c534e6683d35c5e6a48a673dcf481822f0cc664631da1037c2e0a8c91fef1a55c185cd5fb0786b6985213542db748c6a3ef64cd5ccb736014edacf1035f5a6c1b3ff606d0030e1e5cc1dc4a944325bcb563d5688da32f18e15405829e7693651de1548a6a9ec3952fc272a3f07da1ebd9202fa86570101de61f8f4044f86f0340fabcb3c38c23a7914553196474d377ba4d544985ca2c96d7c64909502cc6a8d9fe66c9682eddbc49f51f6775f502b5d38de317f2dd48fbe32a7482c32a66866a8ee5ce9c8ccb480d2cfb21dff676132f8bcc608d6bfc96baeeb4e0e46b8f5ca3db85e5453674e7d8972551b0d3dfb792b6e1181ad375218f81cfc7314ef2fad2f52891b8c5767f63662c369a676464d0560a3572997bdab1cf2964c8718a1a4357afdebcd9cfae64cedba20a8f7937604f1235ffe7101cf1c338ab1ad9f37e910bf2ed0e74e7492e46d2011b3504415e0bdcae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85514be6d676a863f0b908a556a39bd7e322c2234d1bbbee109e5ce9b9d9cde8da537a17d1b152d505586caab049fc9c7868f74d8a92de34f44c39449706d4201ed882df6b87782d7b56035391fc926fe1f658b2002c260ce3a7e14e18c14148b2832fc7f5de8c0a5dc0b1e7eb609ca31a77eb3475539e1d97a4543dca1b9b26c575ca030b5f220623d3b1881dd5d2e32c2f184fbda7ef0ae8ec196ac86a9f5757d6dad7a61c105933bb2e150ac04471d4dc9774aa45e7ca16ff103c4b64828fe6bd9b48dcbd9482378c5ba3ba5d1591f68b60a98a3fd1b4fe2ceb70836fc114acd0763adb9e49790a084d40828299da1aee81e28a42aefce7fba5fbf33dbb4c620b645f65689cbae02cbd22dbe1bf4726106c5a2194a63fec28ad6071cedaec0e1d012b8639e13c8e6baa20219877613c0a23c06431d941c3aa019879f5f257fb38521feb39d3bdf3e6c2b0bed2855e461d512a1243694e1c2e55ac6b95895b628b44492964dec9ab755b727300cb660abeb5eb01312bc046d6553b1f17f7bd582750b31ac656673ab9c7bdb5ff1fdcf247562b5c2a1a9229b10e493643049698f3c0cfa6f428def19f3b121d2b2291cca41ef6055ab24d6599d11384a876f7aa397fab90005ccb312becbc9c7225f5d40e0c13db18e4d7e9ba9b4a25af5b5ffcce191b33e27756aad97aec3bbfd015ffb3b9a054941234b4226e51bc65a67dc2dc4d853f0ac059b1441721eb7ae0be92f5e70d752724171b6b92220e808b604f64003e0e24c6af475fecb905fac622799138c1c6760fae9c44db0e0c2c574907c2275534b3692f99f044817d1443adc7aee6aaef73852e24096e18869c2833100a78dc119e4202e552639147cc6bb148954f21700c5c3eb4857a95693c7b93b90673fca4b06e30513f0f7687e2a650344f6b32f28f49398a7c3c885363ef5bc9a1dd5af5017e57e458e36ed36c43d98cc70e17304e9db7523754a5b719446d3cb7a46e0708ef68e366794b5184b849fc5e0a6b917044aca635952f136f5c8f7e068c7d88a085edd657dac19d338a1019c935689df9be5485801b956a77539859848aea16a96b19572d864ef98e5696abd644840534f2843e725052bcec873e82e77d636432308d287a6dbf7cf8450ee4852efa4589f8d824c16294ffad2eadbe1f0b36c8785714f9274b2f1c00f3383903c5ae5b09598c4817ad4b53b6eaf4095b02144e7ac4952af2850ab4ae683fce5e623636ae84dde733e424c51c944bd4594906d35b2d911caa9350ff00267dca49deb0c613f918e949cf543b9903589dc8a691fd71af2d2c33fc4e28b840a745cf355771bbc7840b3a1ba79d369cec7d8e0affd9f7cc1cbf68139722ceaf8daf1592cbdf20fb880a1006b4dbede86f6172e2cb90e85eb6d9f3fc2759354fb8bd09153e1a2d310e0e8054621663382bf30c1849125b86e0913cda2b654ded2b523a55fe53aa437b255d14623cf057f57dd96f050daba4bf5e4001dc2ee2a7798c0bd889aec2a8291615d27dec29ee39050a8dbc8c13c4a6601f4df255bf2279c98fa53c0af8b2f399dea68137120858d3469455cdd26a6ce3ebf3eb612d4ada2abc7e4031852d0ed1f7ac2f17d9a9c0e4ef9b6faaf4559662d6e560f6469760ad0ca23fe837c321a5454af0e024f968a547d4036b3c3af49d195d87912d4aa5672881fbb7bbe93d0e9d820ff08f7806cb5dbe48e6e0bbb47b84925b02fe513ac729319a14e312bc32dfb9b297d46fdb1dea2e95a9e7c4d814c894db8279ff95cfcc91c0b9388b002dbdd40c9e5d15316f853601a57d055d81f37d87a73701f9f0ae18a8863c88442594e95fca780b7677004ac6a30c39c4e25f9ac9343a783e7d665e5178fc237a9be3947b2cced57b96b684846c0b3f7370c11eb501628765c04c18075cc4ed6d7ceec4a27bf19549deed56a3034cbec21cda1159684ffc47ff325c95bb61aaeba5b10b1a5fa6749a83530e020ed7919b0d6a2ddf58f9305398298f8c6b3d592b677ee4a991dac13864522b75d37df9c6f65840373627fdaa5ab18cd1500fd604c2f0360d4f6c20587405f842f58d6dec5c1d68b58c4eb354502af7019361924fd350e76499d880f5acfd399925ee8661bfda0eb5c10c0a72e5738c29d03867f0c686d054730cbafa52d16923c591f94d198ef70feb2293bc1213f26bc66e96fc36427517ee4592b0cda6fd3e625c0de767e881800b61fb29024f12cd3d50d6b955204f2abb2c5ee4743a466cda27b7be7d781758de2627bf7f69fd0aaffcc88a1ac1104f048ff97889e90434ac27fa5fe46921d01334d51a81a040fc095088e34cfbb3929993485f9093b9fe71fcaec2e3845b5c36322c6aba0cabed7271b83f9247aaec176c75e635dbdad8552347d348f63dae4c9e5ddd6938e48aa65a75b35b181980262de94fc15b71a661c778663eed82f1f0d489f158984dd708da2bfcf51fe12fc77aeb5956c71272f0d90d7164d259a8dc30518cf95c48cfe4fde283f5e80e5739f207f44d83503b07dbf04c695aa72efcb2b16425a92c782f9a8739f1f307fdaf3fd7df7fcc95b3e0fb6adb54c801a675af437dfcbc6e81506b42b47a3536f44ac8a5fef9e6e304965ff3405119d8de718b204caad535e1de4f8d51b4d7c2fb9d504f6174e5997b4c6b51204661b3b6454e7d87cba77428d09edb8fc068b72d63c8c5f9c9792026995b2aee425ceb2062a147d68ec3c2705e6380ae9065a602fe05786866e19b52437c122e8e7ad943348630cfab2022f229d7568d4fb29d887dfe7a2966386054792eed8d219255ad2bf7ab8d8f0757e55110acfa1a5d01ec6bb1741dab1de6d6628a8f48d2198e11bceb4cc77935b951b1de647afd48588b479b5819564d6e51365af3e41703a612cdfc72af50eb5d88862644bba651aaa85835b5485687dd702befc339e3d905186cef7830a71b4f117950139b625bda08a526df152d0930b0ceb8285373ff3c4971e3fef2bb79f425059610b79860a9200471e63bf5a1b7f1848605c74b3a3d729a836aae62d1bf7e49dda11ae8f34ed1e48a86026914950d1dc9518577c40b822be23f1e0a1594ece88081358613040ef38a917f1b9341cb73b5d0774ee78ae1c438026a12069232329263ee039cd9fc53eb7cc8465f454f3fe3e3c5e3c3555d7cc9f76b936dfb072a56219a881cd3d5e2497b783a81666d541aaee229ad681e8408d646fcd0a9133fde831068d1da94dd23cbd62f942987efeba6815a54c461182e7ca86627a71b2bbf327e2c4ef108ef287af96fb18981d63a1309e33f3a9b5ff033c3fdf7ebb9d22ebce86330beb8b96e88f277b677a2cbedebcbc2b44f131599603fe0df001344c35a0b8b0f47a50504a46d8b518748c21c0490725d63971c56bbcbdb9cb64548ad64128bcd1f7318d6978fc86acb27baa3b1484716d92c01a5b8f4510d896082f734c65e769c5a362b56f91efcdaaf8609e3999ef8eec2f7c8ab0c643f2759c1f86876b6bb6fffaee948eaf63246cc4d5b03e014e6f4ac51489ba302952f3595cfac3e7326e99acce49f45c5f67b3211df8daa20a58e9aead47509bd2a2b3112b465269c246258cced7a0266c11a96981816781c33d07665e5a1b5a1c12db5729d855a14787d83cf92fedcfad765575083bb6abcc0fe9200e7bba4268642ac819b9c075b130acfeda21172ac2b77c6b7530f7a528610b5da0feaae5814fd115206e852aa172860ba81657330e6d5fa5f23767a2f0896e87bfa57e135ade31cd8bed9da5d08b7ff80490ddb806f25939d6e78c9a4737e23c4cc13031ef3cdb1aa1abda27231841dbff249effa6f4fd16b022a949038e023d70db0f27e479ab436807d087a76baa794a00d70c7879f31be8be1ebbd59d2ae365891dd3c3f513d66c3201678ac3bc6bf2893e1a4499b89efdf5efd02074013fe3bae1fe4811e6db3a3eeeaeecfe4cc9f45577c0a39a768e62f5d5472ad762453ab203ed81a43dd2c8070d9cb3229708064f73602955ae33268017b95323c0fbe6407932297aa374e38d9b7963534e3e63109364e4f4d90ee31c51a90b5f2b31f8549a3610f331ba046c0443198cfd1c92b141700ca3a9821f239721fb99bd5e125f803dc32fec03e0794ea6d1eacd250e2a09f6d7715fbabcbdc8d5992a04629a77fcc9641272cebafb2a3a2a8ab9ab76bf9a0b908bd1d7638e6bd8aa7ddf2262ccbdcccc57485c6e525f5904a31b211cc2d5fe6cd59bd72b12623f02599d01d1095256690f9113e1fb1ea47ed994409e0db3787d1d40749c145ee6e76e806dfc46fc44c4b00d4f96f150e08fbbe78f0dc6f6e3bef3945f1777f54490bdc6a7cc1f33f0f4e9bf52ac7fb291fa13bce56ec062c76c05936da1b154ede729d06f61e95408f67c4cde1d7e1f61df7c8a902ffc894969d07295a64244e3a2c20f3345e6dc66c5faf1669b11eb48575405aa848daabba38e1a7d4f2ce5a971649d90371bb345a7e11e451c9b94dfd1fceadb1a95ff3c32da5c2a8831be559a1ec341f2a0fd8765d78b8219af8c9e76021509672fc29ca6c3cac606324cd1eff97dd70e36076261867d0256996700c925d2eab95dcf0a94e4b9dc3138dfeff5685d46df1f2f6b0a517ab37e768842c19fb0956d20d1c258f1972b2fbf083f6968030562b86f2ae62717ea13f9b8d504f70bcc59aadce08b4ece78e0fb20456dc36e70a3a65f8e859021297a19d5cea56fc1f37c0e8d17da949154759da94532d75d9b68ca66ebd2a728ae78c46d92d3d7ed332855b0f65d4a96f2b0e37c50ade69cfb0fcd9f3751559640ae151882f20f754adc5b01030085a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe062a2834d664d8a09d62444bde9642093e1bb942c67ce27f7792a095fa759157d155a079149ae29027e8fbd73e5ea7a3bc270fe75a3f81dfcdecba18032a2350578dea2697c9999389727dbc85829468165c5c28c085b2b077f6e11dc1b5715bea3587015f2c5ffbdf4aaad6cca92e2224888e1af6f3bca2fd544939db0742d39c4dd1651bd6319298a9339c7ffb11e2a95656d9e4bc4fe94f4d43162d3772beb5beefa8235e16f4ce6c6e9b2856fc3b288c05b8a2d26712b5dc00c2d5fdf3f2677709626ab37529fd8ac22e03168d38559ed91eb8c9ab8d4c5553bdb8ddb53a9759aaffbb89d429e81bb1c7b12c56a60d36133ed70d6ce000ce2d0e26d47964b4dcd12d506551e964d5a4c3868a74a3ad19e238739cf6f8f568defaa46f98a491460913f729b582d257e4a9a877af7fd99fba49eb92fe3a9b2f537a1a9088c44251bc3c957389aca6e4ba53ada27bb9c6181f5b6a50ddfcdf73f17e14cbc7338585f2d51f3ef189843e34a661a9d991f60bcc7df834e8f8928dcba1b12765055532921bea147c25a13558375ab54f4abfacf86be697802918bf1c39f36a77c4c8f174ac5c095968e877e008f8375aa10d483d24575b34390307caf9f141556d5a0dff5ae4954b02ca691e11374d69c03d5005e1245231d202327e7784a4cb1d3ea1f91dc50de7fe8ff98da87974befbef7e396134b55939445a615417044b7291065323fca5caeccacccd05dbde60eb835ca5782e5fd7aac1ddc2ddef491aa870010b6d02bb2553fe3703b91fd31bdb0c9fd96724812e9cd04bc2e4a740f97c8c182784e0f944a8584cf461d1725d579960644912cbdaa28e41895b9c84450f69caf3539427dd2e15aeaf8ad775a5de14bdc2b38d4c7b4a3fc8cc2be506db7c9a65bb7e96460baa86f373cfe5f1c43153cb47f4a774ad9d8233fcda9620faa05993b68080a4b3d210d8f1509234ff43e0f36074ec0422d52ab994cb0f6607443790a9be01bcee433de3c9f4b670ae6fca5872eb7085a34e6229212c9c34586f22e8601cff97ef8f7ee9078f91e926f4b644fb52b33b8fa307fb4131811f589586fa489b3a87a5267be275f28028284e04d675fbb15ce054bf226a3e7c9ef5f35d870544a1cf9557577a1a88c9e8e9006ef7a4f218ae1be38edaa0390282b41fb66f361b0633882224507efdb29c90239436bb76c63f34afcebca59731110635f74f6adf678f2c1850e3254c7ec4f724fab7f8d719990c29c0043074555afedc2ee5e52b1ad858d096806229581ce233d9aa2c0ba4ee547e992f196ef01f34953d4eed604e5f596ab0f7374205ab0377fb8ca35d144b42b12aeb8bb187262cebea8722d4568914ea6a9e3640041891afddc8038a74780f959bb4093f0a515b2ce027f234be117eeeff7dbc8e9437f5b18859f2cf749b9b2593f7972eb5f7c3e174a837e1e2bbe0304e4bcff631a86f11876719e36abfdcaf82713eab69bc181fccd93208298a5b9428735a9582c80be6e942126427b652d5ed25474ce04d53494e845c910d9da650bf21851c99fc406542fd1673f6cb8257bf6e3f0406a0f20c80bfe0055f1c95479f0e4ebe159a3877bb4e27cccf6a1b8ed5289ec71dd54c90adab6ed7dc3fe3e705b535b9dc56c4c6323b06c4cede44f7387541a59721bc9d26f1cfcf31df91257a22869c3bad70771674c407ab0f23bc7a1a0bf29a3a782830455d73080bd006762ef3da4a131c576e8d1873b2745e743fc660e8676d4434667561406c757504bf105787fa6f1b99a8ce21d4cb128d70403f94bc4af008dbdce5d570967f5a63a31d8bf9221c2d40cf0faa3ce88c94d638fe6fc4eff8fbbbf7f743e21cf4afdc789bda13dfaa1352a9fabaeb96607d392b3392541adbfe195eee3ab7668617e86a4a74ecbffcf6027ce8cbd7a93112905d331da2fe79d146fe616d740ce129659bc36dae13bb50eb0a2c061b7acb952e9895a4a60a9f179904ef44f38ff10dec460e82a63ba1cd44feceb11fffa38bf4c96a52ce6bb990dc4bb30428da0a835b9524355a7db2da2bdb3da24b27c02ce023df9baefb9a8760140fae9cdd7948d5f3f2115fa3bfedfaeb04f03147c4a83307c1aeef7907138eeb862af4b1a59602e08881370a42607236ffd130f081cfa7fcb81cfe074490803f426a44b4d497887d7c8461fa4b9bf8e35f91edc1a2c0410dc0a5388996d1076e8886edf52eddb18463d3327c2a9fac5cfb763a0903240160e275cd5491484fa6d266f04c362b3340dc2f2f7ea1d5dc4dda5397e0baec8f1f10ef375d6e85c43f6e6f6b93300fb1849f69b890d50c33266a723312517ff277db85a96b93d5f79466385d34c41f143480a84d9e64bc90242afc5f5c4e963b79e7b87ac3d20671a21fc3ccfa745fd9f2023d0515fe64a7cf3dbf528dada9e7f9c0e000cba8f5e0d371a26a4418fb9215530975e38c8205748e4b68fa6a7eae2645eaae1d1ba8683e4b862c6efbac5a434b8fcb9ebd537575ffbe7622f98cc14a2e23ec4769030d3e292449ab0c5c649d955846df35efba778e68cf867eb266a3137d8f0ccb6e6793def803f7233f9329d154dc5fa6172b8a4c164e94e177874f282acb1d72f5e146af0f071ebf9e87b578047b6c70175e6d73e3cc86702624d2428ee06e10358e6046be7e39eb2ae29e8410e8ad461fd38b00e2bb3828f9aa7b573303a34a6e37605b6d6570cbac7e95e524e2e598d9d8f35d66b00d4ccdb950ffa875bf3ee256ed4c60588eab08548318c7c659f9ea3d6465f9af71a343a173e2ca6f529ecd73d9ea3fb0aaf32b7b452392456be2d3f7bfc196000c0714f92663c340b3c79d4bc6fc95f2fcbff874ef25d9835d9c4bae4b48be94d9b1baac052a1512df94182424621af02e8c78ce17a09670dd13c2e8cae557136083b535efa12fb38e611c46d72bfcb6f46db780eccd8a036ae306a1bbee7e618495123108b3326a6d919561590c010dcdfcd60a5ba3dda50799d27e6e00b27ab1ded5d9b599bcdb51e2270478206acfdcbc7bcc52a171ed943e469e82b568d0461d53776712326b7691a284204a4f6ccede8395b8bba7811cef9af7e21adfe4c3c235a54cdffc7d250354c833c2c19efe29bc1764747208c5d7cc6854096a00db91d6110a84f129636592317c658f8fa096a32d104769d09ed77918760b7c2779e1bdcb4c88c044295f4e4b../../grub2/arm64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.12-150600.8.18.2.src.rpmgrub2-arm64-efigrub2-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.122.123.0.4-14.6.0-14.0-15.2-14.14.3g0@gg+Z@gfff@fJf@fU@f@f@f @ere7@eПepe@e@e@ee@eeL@ehy@e]@e\eV@eSa@e?e:Te9@e6`@e-%ee@eee@e@e e @d@ddܺ@d˖d\@d du@dS@dI@dBzdBzd>@d5Kd?@dJd@d@dd@c>@cc@c1c@cc=@cHccc@cR@c]c@c|c{h@ctcr-cr-c[@cV~@c>@c-c(Yc$e@c$e@c#c @b)b@b@b@b@bkb@baG@bT@b=b4t@b1@b+9b)@b)@b!@b b@aea@aq@aaa{a@a@aaqV@an@aKa7T@a/k@a.a @a @`]`ٹ`"@`@`@``@`q``}p`n@`P`J@`8`3`.V`U` l__t@_@__m_X_G@_A_?@_;_5+@__A@^x^U@^H^y@^t@^oj@^j$@^g@^Y^K^9\]e@]{@]@]@]W]]V]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(@mchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.combwiedemann@suse.commchang@suse.commchang@suse.commchang@suse.comgcomes.obs@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comfvogt@suse.comglin@suse.commchang@suse.comglin@suse.comclin@suse.comschwab@suse.deglin@suse.comglin@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.comglin@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comhpj@urpla.netrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.comvalentin.lefebvre@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.demchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.combjorn.lie@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.commchang@suse.comfvogt@suse.comrw@suse.commchang@suse.commchang@suse.compvorel@suse.czseife+obs@b1-systems.comfvogt@suse.compvorel@suse.czmchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comnormand@linux.vnet.ibm.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comlnussel@suse.defvogt@suse.comlnussel@suse.derw@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.combwiedemann@suse.comschwab@suse.demchang@suse.comrw@suse.commchang@suse.commchang@suse.commsuchanek@suse.demchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comguillaume.gardet@opensuse.orgjengelh@inai.demchang@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.comledest@gmail.comledest@gmail.comjdelvare@suse.demchang@suse.com- Security fixes for 2024 * 0001-misc-Implement-grub_strlcpy.patch - Fix CVE-2024-45781 (bsc#1233617) * 0002-fs-ufs-Fix-a-heap-OOB-write.patch - Fix CVE-2024-56737 (bsc#1234958) - Fix CVE-2024-45782 (bsc#1233615) * 0003-fs-hfs-Fix-stack-OOB-write-with-grub_strcpy.patch - Fix CVE-2024-45780 (bsc#1233614) * 0004-fs-tar-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2024-45783 (bsc#1233616) * 0005-fs-hfsplus-Set-a-grub_errno-if-mount-fails.patch * 0006-kern-file-Ensure-file-data-is-set.patch * 0007-kern-file-Implement-filesystem-reference-counting.patch - Fix CVE-2025-0624 (bsc#1236316) * 0008-net-Fix-OOB-write-in-grub_net_search_config_file.patch - Fix CVE-2024-45774 (bsc#1233609) * 0009-video-readers-jpeg-Do-not-permit-duplicate-SOF0-mark.patch - Fix CVE-2024-45775 (bsc#1233610) * 0010-commands-extcmd-Missing-check-for-failed-allocation.patch - Fix CVE-2025-0622 (bsc#1236317) * 0011-commands-pgp-Unregister-the-check_signatures-hooks-o.patch - Fix CVE-2025-0622 (bsc#1236317) * 0012-normal-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2025-0622 (bsc#1236317) * 0013-gettext-Remove-variables-hooks-on-module-unload.patch - Fix CVE-2024-45776 (bsc#1233612) * 0014-gettext-Integer-overflow-leads-to-heap-OOB-write-or-.patch - Fix CVE-2024-45777 (bsc#1233613) * 0015-gettext-Integer-overflow-leads-to-heap-OOB-write.patch - Fix CVE-2025-0690 (bsc#1237012) * 0016-commands-read-Fix-an-integer-overflow-when-supplying.patch - Fix CVE-2025-1118 (bsc#1237013) * 0017-commands-minicmd-Block-the-dump-command-in-lockdown-.patch - Fix CVE-2024-45778 (bsc#1233606) - Fix CVE-2024-45779 (bsc#1233608) * 0018-fs-bfs-Disable-under-lockdown.patch - Fix CVE-2025-0677 (bsc#1237002) - Fix CVE-2025-0684 (bsc#1237008) - Fix CVE-2025-0685 (bsc#1237009) - Fix CVE-2025-0686 (bsc#1237010) - Fix CVE-2025-0689 (bsc#1237011) * 0019-fs-Disable-many-filesystems-under-lockdown.patch - Fix CVE-2025-1125 (bsc#1237014) - Fix CVE-2025-0678 (bsc#1237006) * 0020-fs-Prevent-overflows-when-allocating-memory-for-arra.patch - Bump upstream SBAT generation to 5- Fix CVE-2024-49504 (bsc#1229163) (bsc#1229164) - Restrict CLI access if the encrypted root device is automatically unlocked by the TPM. LUKS password authentication is required for access to be granted * 0001-cli_lock-Add-build-option-to-block-command-line-inte.patch * 0002-Requiring-authentication-after-tpm-unlock-for-CLI-ac.patch - Obsolete, as CLI access is now locked and granted access no longer requires the previous restrictions * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch - Rediff * 0004-Key-revocation-on-out-of-bound-file-access.patch- Fix xen package contains debug_info files with the .module suffix by moving them to a separate xen-debug subpackage (bsc#1232573)- Fix not a directory error from the minix filesystem, as leftover data on disk may contain its magic header so it gets misdetected (bsc#1231604) * grub2-install-fix-not-a-directory-error.patch- Fix OOM error in loading loopback file (bsc#1230840) * 0001-tpm-Skip-loopback-image-measurement.patch- Fix UEFI PXE boot failure on tagged VLAN network (bsc#1230263) * 0001-efinet-Skip-virtual-VLAN-devices-during-card-enumera.patch- Fix grub screen is filled with artifects from earlier post menu (bsc#1224465) * grub2-SUSE-Add-the-t-hotkey.patch * 0001-fix-grub-screen-filled-with-post-screen-artifects.patch- Fix crash in bli module (bsc#1226497) * 0001-bli-Fix-crash-in-get_part_uuid.patch- Fix btrfs subvolume for platform modules not mounting at runtime when the default subvolume is the topmost root tree (bsc#1228124) * grub2-btrfs-06-subvol-mount.patch - Rediff * 0001-Unify-the-check-to-enable-btrfs-relative-path.patch- Fix error in grub-install when root is on tmpfs (bsc#1226100) * 0001-grub-install-bailout-root-device-probing.patch- Fix input handling in ppc64le grub2 has high latency (bsc#1223535) * 0001-net-drivers-ieee1275-ofnet-Remove-200-ms-timeout-in-.patch- Fix os name is used for root file system mount (bsc#1220949) * 0001-10_linux-Ensure-persistence-of-root-file-system-moun.patch- Fix LPAR falls into grub shell after installation with lvm (bsc#1221866) * 0001-ofdisk-Enhance-canonical-path-handling-for-bootpath.patch- Fix memdisk becomes the default boot entry, resolving no graphic display device error in guest vnc console (bsc#1221779) * grub2-xen-pv-firmware.cfg- Fix grub.xen memdisk script doesn't look for /boot/grub/grub.cfg (bsc#1219248) (bsc#1181762) * grub2-xen-pv-firmware.cfg * 0001-disk-Optimize-disk-iteration-by-moving-memdisk-to-th.patch- Fix PowerPC grub loads 5 to 10 minutes slower on SLE-15-SP5 compared to SLE-15-SP2 (bsc#1217102) * add 0001-ofdisk-enhance-boot-time-by-focusing-on-boot-disk-re.patch * add 0002-ofdisk-add-early_log-support.patch- Sort tar file order for reproducible builds- Fix build error on gcc-14 (bsc#1218949) * 0001-squash-ieee1275-ofpath-enable-NVMeoF-logical-device-.patch- Remove magic number header field check on arm64 (bsc#1218783) * 0001-loader-arm64-efi-linux-Remove-magic-number-header-fi.patch- Reinstate the verification for a non-zero total entry count to skip unmapped data blocks (bsc#1218864) * 0001-fs-xfs-always-verify-the-total-number-of-entries-is-.patch - Removed temporary fix as reverting it will cause a different XFS parser bug * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- allow to boot memtest86 if stored in /usr/lib/memtest86+ * SR#1071109 can then work- Resolved XFS regression leading to the "not a correct XFS inode" error by temporarily reverting the problematic commit (bsc#1218864) * 0001-Revert-fs-xfs-Fix-XFS-directory-extent-parsing.patch- Version bump to 2.12 (PED-5589) * Added: - grub-2.12.tar.xz - fix_no_extra_deps_in_release_tarball.patch * Removed: - grub-2.12~rc1.tar.xz * Patch dropped as it merged into new version: - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch - 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch - 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch - 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch - 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch - 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch - 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch - 0006-fs-ntfs-Make-code-more-readable.patch - 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch - 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch - 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch - 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch - 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch - 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch * Patch adjusted for the updated base version: - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64le-disable-video.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - safe_tpm_pcr_snapshot.patch- grub2.spec: Add ofnet to signed grub.elf to support powerpc net boot installation when secure boot is enabled (bsc#1217761) - Improved check for disk device when looking for PReP partition * 0004-Introduce-prep_load_env-command.patch- Fix reproducible build for grub.xen (bsc#1217619) * 0001-mkstandalone-ensure-stable-timestamps-for-generated-.patch * 0002-mkstandalone-ensure-deterministic-tar-file-creation-.patch- Fix unattended boot with TPM2 allows downgrading kernel and rootfs, also enhancing the overall security posture (bsc#1216680) * 0001-Improve-TPM-key-protection-on-boot-interruptions.patch * 0002-Restrict-file-access-on-cryptodisk-print.patch * 0003-Restrict-ls-and-auto-file-completion-on-cryptodisk-p.patch * 0004-Key-revocation-on-out-of-bound-file-access.patch- grub2.spec: Fix openQA test failure in SLE-15-SP6 due to missing font in memdisk- Update the TPM2 patches to skip the persistent SRK handle if not specified and improve the error messages + 0003-protectors-Add-TPM2-Key-Protector.patch + 0005-util-grub-protect-Add-new-tool.patch + 0004-tpm2-Support-authorized-policy.patch- Fix XFS regression in 2.12~rc1 and support large extent counters * 0001-fs-xfs-Incorrect-short-form-directory-data-boundary-.patch * 0002-fs-xfs-Fix-XFS-directory-extent-parsing.patch * 0003-fs-xfs-add-large-extent-counters-incompat-feature-su.patch- Fix fadump not working with 1GB/2GB/4GB LMB[P10] (bsc#1216253) * 0001-kern-ieee1275-init-Restrict-high-memory-in-presence-.patch- Fix a potential error when appending multiple keys into the synthesized initrd * Fix-the-size-calculation-for-the-synthesized-initrd.patch- Fix Xen chainloding error of no matching file path found (bsc#1216081) * grub2-efi-chainload-harder.patch- Use grub-tpm2 token to unlock keyslots to make the unsealing process more efficient and secure. * 0001-luks2-Use-grub-tpm2-token-for-TPM2-protected-volume-.patch- Fix detection of encrypted disk's uuid in powerpc to cope with logical disks when signed image installation is specified (bsc#1216075) * 0003-grub-install-support-prep-environment-block.patch - grub2.spec: Add support to unlocking multiple encrypted disks in signed grub.elf image for logical disks- Fix CVE-2023-4692 (bsc#1215935) - Fix CVE-2023-4693 (bsc#1215936) * 0001-fs-ntfs-Fix-an-OOB-write-when-parsing-the-ATTRIBUTE_.patch * 0002-fs-ntfs-Fix-an-OOB-read-when-reading-data-from-the-r.patch * 0003-fs-ntfs-Fix-an-OOB-read-when-parsing-directory-entri.patch * 0004-fs-ntfs-Fix-an-OOB-read-when-parsing-bitmaps-for-ind.patch * 0005-fs-ntfs-Fix-an-OOB-read-when-parsing-a-volume-label.patch * 0006-fs-ntfs-Make-code-more-readable.patch - Bump upstream SBAT generation to 4- Add patch to fix reading files from btrfs with "implicit" holes: * 0001-fs-btrfs-Zero-file-data-not-backed-by-extents.patch- Update the TPM 2.0 patches to support more RSA and ECC algorithms * 0002-tpm2-Add-TPM-Software-Stack-TSS.patch * 0003-protectors-Add-TPM2-Key-Protector.patch * 0005-util-grub-protect-Add-new-tool.patch- Remove build require for gcc-32bit, target platform didn't rely on libgcc function shipped with compiler but rather using functions supplied in grub directly.- Add BuildIgnore to break cycle with the branding package- Only build with fde-tpm-helper-rpm-macros for the architectures supporting the newer UEFI and TPM 2.0. * Also correct the location of %fde_tpm_update_requires- Fix a boot delay regression in PowerPC PXE boot (bsc#1201300) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Add the new BuildRequires for EFI builds for the better FDE support: fde-tpm-helper-rpm-macros + Also add the the macros to %post and %posttrans- Correct the type of allocated EFI pages for ARM64 kernel (bsc#1215151) * arm64-Use-proper-memory-type-for-kernel-allocation.patch- grub2-mkconfig-riscv64.patch: Handle riscv64 in mkconfig- Implement NV index mode for TPM 2.0 key protector 0001-protectors-Implement-NV-index.patch - Fall back to passphrase mode when the key protector fails to unlock the disk 0002-cryptodisk-Fallback-to-passphrase.patch - Wipe out the cached key cleanly 0003-cryptodisk-wipe-out-the-cached-keys-from-protectors.patch - Make diskfiler to look up cryptodisk devices first 0004-diskfilter-look-up-cryptodisk-devices-first.patch- Change the bash-completion directory (bsc#1213855) * grub2-change-bash-completion-dir.patch- Version bump to 2.12~rc1 (PED-5589) * Added: - grub-2.12~rc1.tar.xz * Removed: - grub-2.06.tar.xz * Patch dropped merged by new version: - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-efi-chainloader-root.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch - 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - grub2-s390x-10-keep-network-at-kexec.patch - 0001-Fix-build-error-in-binutils-2.36.patch - 0001-emu-fix-executable-stack-marking.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch - 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - 0001-Filter-out-POSIX-locale-for-translation.patch - 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch - 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch - 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch - 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch - 0002-ieee1275-claim-more-memory.patch - 0003-ieee1275-request-memory-with-ibm-client-architecture.patch - 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch - 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch - 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch - 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - 0001-powerpc-do-CAS-in-a-more-compatible-way.patch - 0001-libc-config-merge-from-glibc.patch - 0001-video-Remove-trailing-whitespaces.patch - 0002-loader-efi-chainloader-Simplify-the-loader-state.patch - 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch - 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch - 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch - 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch - 0011-video-readers-png-Sanity-check-some-huffman-codes.patch - 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch - 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch - 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch - 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - 0017-net-ip-Do-IP-fragment-maths-safely.patch - 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch - 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch - 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch - 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch - 0022-net-tftp-Avoid-a-trivial-UAF.patch - 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch - 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch - 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch - 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch - 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch - 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch - 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch - 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch - 0002-cryptodisk-Refactor-to-discard-have_it-global.patch - 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch - 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch - 0005-cryptodisk-Improve-cryptomount-u-error-message.patch - 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch - 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch - 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch - 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch - 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch - 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch - 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch - 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch - 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch - 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch - 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch - efi-set-variable-with-attrs.patch - 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch - 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch - 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch - 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch - 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch - 0002-mm-Defer-the-disk-cache-invalidation.patch - 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch - 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch - 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch - 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch - 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch - 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch - 0004-font-Remove-grub_font_dup_glyph.patch - 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch - 0006-font-Fix-integer-overflow-in-BMP-index.patch - 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch - 0008-fbutil-Fix-integer-overflow.patch - 0009-font-Fix-an-integer-underflow-in-blit_comb.patch - 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch - 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch - 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch - 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch - 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch - grub2-add-module-for-boot-loader-interface.patch - 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch - 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch - 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch - 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch - 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch - 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch - 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch * Patch modified to new base version: - use-grub2-as-a-package-name.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-secureboot-add-linuxefi.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-use-rpmsort-for-version-sorting.patch - grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - grub2-grubenv-in-btrfs-header.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-efi-chainload-harder.patch - grub2-emu-4-all.patch - grub2-util-30_os-prober-multiple-initrd.patch - grub2-install-fix-not-a-directory-error.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-05-grub2-mkconfig.patch - grub2-btrfs-06-subvol-mount.patch - grub2-efi-xen-chainload.patch - grub2-efi-xen-cmdline.patch - grub2-efi-xen-removable.patch - grub2-suse-remove-linux-root-param.patch - grub2-ppc64le-disable-video.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - 0004-efinet-UEFI-IPv6-PXE-support.patch - 0007-efinet-Setting-network-from-UEFI-device-path.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-mkconfig-default-entry-correction.patch - grub2-s390x-11-secureboot.patch - grub2-secureboot-install-signed-grub.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - 0002-cmdline-Provide-cmdline-functions-as-module.patch - 0001-efi-linux-provide-linux-command.patch - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch - 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch - 0001-Factor-out-grub_efi_linux_boot.patch - 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch - 0015-test_asn1-test-module-for-libtasn1.patch - 0021-appended-signatures-documentation.patch - 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch - 0003-grub-install-support-prep-environment-block.patch - 0004-Introduce-prep_load_env-command.patch - 0001-grub-install-bailout-root-device-probing.patch - 0001-install-fix-software-raid1-on-esp.patch - 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch - 0001-protectors-Add-key-protectors-framework.patch - 0002-tpm2-Add-TPM-Software-Stack-TSS.patch - 0004-cryptodisk-Support-key-protectors.patch - 0008-linuxefi-Use-common-grub_initrd_load.patch - 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch - grub-read-pcr.patch - tpm-record-pcrs.patch - 0001-clean-up-crypttab-and-linux-modules-dependency.patch * Patch refreshed: - rename-grub-info-file-to-grub2.patch - grub2-linux.patch - grub2-simplefb.patch - grub2-ppc-terminfo.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-linuxefi-fix-boot-params.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-xen-linux16.patch - grub2-efi-disable-video-cirrus-and-bochus.patch - grub2-vbe-blacklist-preferred-1440x900x32.patch - grub2-mkconfig-aarch64.patch - grub2-menu-unrestricted.patch - grub2-mkconfig-arm.patch - grub2-s390x-06-loadparm.patch - grub2-s390x-07-add-image-param-for-zipl-setup.patch - grub2-s390x-08-workaround-part-to-disk.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-getroot-support-nvdimm.patch - grub2-s390x-skip-zfcpdump-image.patch - grub2-btrfs-02-export-subvolume-envvars.patch - grub2-btrfs-03-follow_default.patch - grub2-btrfs-07-subvol-fallback.patch - grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-btrfs-10-config-directory.patch - grub2-efi-xen-cfg-unquote.patch - grub2-Add-hidden-menu-entries.patch - grub2-SUSE-Add-the-t-hotkey.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-reboot-support.patch - grub2-ppc64-cas-new-scope.patch - grub2-ppc64-cas-fix-double-free.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - 0002-AUDIT-0-http-boot-tracker-bug.patch - grub2-btrfs-help-on-snapper-rollback.patch - grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - 0001-kern-mm.c-Make-grub_calloc-inline.patch - 0001-Unify-the-check-to-enable-btrfs-relative-path.patch - 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch - 0003-Make-grub_error-more-verbose.patch - 0001-ieee1275-Avoiding-many-unecessary-open-close.patch - 0001-Workaround-volatile-efi-boot-variable.patch - 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch - 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch - 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch - 0005-docs-grub-Document-signing-grub-under-UEFI.patch - 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch - 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch - 0008-pgp-factor-out-rsa_pad.patch - 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch - 0011-libtasn1-import-libtasn1-4.18.0.patch - 0014-libtasn1-compile-into-asn1-module.patch - 0016-grub-install-support-embedding-x509-certificates.patch - 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch - 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch - 0019-appended-signatures-support-verifying-appended-signa.patch - 0020-appended-signatures-verification-tests.patch - 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch - 0002-Add-grub_disk_write_tail-helper-function.patch - 0005-export-environment-at-start-up.patch - 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - 0003-protectors-Add-TPM2-Key-Protector.patch - 0005-util-grub-protect-Add-new-tool.patch - 0010-templates-import-etc-crypttab-to-grub.cfg.patch - grub-install-record-pcrs.patch - safe_tpm_pcr_snapshot.patch - 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch - 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch - 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch - 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch * New: - 0001-xen_boot-add-missing-grub_arch_efi_linux_load_image_.patch - 0001-font-Try-memdisk-fonts-with-the-same-name.patch - 0001-Make-grub.cfg-compatible-to-old-binaries.patch - 0001-disk-cryptodisk-Fix-missing-change-when-updating-to-.patch * Embedding fonts in the grub.efi to get signed for secure boot- Fix error message "unknown command tpm_record_pcrs" with encrypted boot and no tpm device present (bsc#1213547) * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- add 0001-fs-ext2-Ignore-checksum-seed-incompat-feature.patch, 0001-fs-ext2-Ignore-the-large_dir-incompat-feature.patch: * support more featureful extX filesystems (backport from upstream git)- grub2-once: Fix 'sh: terminal_output: command not found' error (bsc#1204563)- Exclude the deprecated EFI location, /usr/lib64/efi/, from Tumbleweed and ALP- Update TPM 2.0 key unsealing patches * Add the new upstreaming patches 0001-protectors-Add-key-protectors-framework.patch 0002-tpm2-Add-TPM-Software-Stack-TSS.patch 0003-protectors-Add-TPM2-Key-Protector.patch 0004-cryptodisk-Support-key-protectors.patch 0005-util-grub-protect-Add-new-tool.patch * Add the authorized policy patches based on the upstreaming patches 0001-tpm2-Add-TPM2-types-structures-and-command-constants.patch 0002-tpm2-Add-more-marshal-unmarshal-functions.patch 0003-tpm2-Implement-more-TPM2-commands.patch 0004-tpm2-Support-authorized-policy.patch * Drop the old patches 0010-protectors-Add-key-protectors-framework.patch 0011-tpm2-Add-TPM-Software-Stack-TSS.patch 0012-protectors-Add-TPM2-Key-Protector.patch 0013-cryptodisk-Support-key-protectors.patch 0014-util-grub-protect-Add-new-tool.patch fix-tpm2-build.patch tpm-protector-dont-measure-sealed-key.patch tpm-protector-export-secret-key.patch grub-unseal-debug.patch 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch 0005-tpm2-add-more-marshal-unmarshal-functions.patch 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch 0009-tpm2-remove-the-unnecessary-variables.patch 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch 0012-tpm2-initialize-the-PCR-selection-list-early.patch 0013-tpm2-support-unsealing-key-with-authorized-policy.patch * Refresh grub-read-pcr.patch * Introduce a new build requirement: libtasn1-devel - Only package grub2-protect for the architectures with EFI support- Fix PowerVS deployment fails to boot with 90 cores (bsc#1208581) * 0001-kern-ieee1275-init-Convert-plain-numbers-to-constant.patch * 0002-kern-ieee1275-init-Extended-support-in-Vec5.patch- Fix no prep partition error on non-PReP architectures by making the prep_loadenv module exclusive to powerpc_ieee1275 platform (bsc#1210489) * 0004-Introduce-prep_load_env-command.patch - Fix the issue of freeing an uninitialized pointer * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Rediff * 0005-export-environment-at-start-up.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Resolve some issues with OS boot failure on PPC NVMe-oF disks and made enhancements to PPC secure boot's root device discovery config (bsc#1207230) - Ensure get_devargs and get_devname functions are consistent * 0001-openfw-Ensure-get_devargs-and-get_devname-functions-.patch - Fix regex for Open Firmware device specifier with encoded commas * 0002-prep_loadenv-Fix-regex-for-Open-Firmware-device-spec.patch - Fix regular expression in PPC secure boot config to prevent escaped commas from being treated as delimiters when retrieving partition substrings. - Use prep_load_env in PPC secure boot config to handle unset host-specific environment variables and ensure successful command execution. * 0004-Introduce-prep_load_env-command.patch - Refreshed * 0005-export-environment-at-start-up.patch- Fix aarch64 kiwi image's file not found due to '/@' prepended to path in btrfs filesystem. (bsc#1209165) * grub2-btrfs-05-grub2-mkconfig.patch- Restrict cryptsetup key file permission for better security (bsc#1207499) * 0001-loader-linux-Ensure-the-newc-pathname-is-NULL-termin.patch * 0002-Restrict-cryptsetup-key-file-permission-for-better-s.patch- Meanwhile, memtest86+ gained EFI support, but using the grub command line to run it manually is quite tedious... Adapt 20_memtest86+ to provide a proper menu entry. Executing memtest requires to turn security off in BIOS: (Boot Mode: Other OS).- Tolerate kernel moved out of /boot. (bsc#1184804) * grub2-s390x-12-zipl-setup-usrmerge.patch- Discard cached key from grub shell and editor mode * 0001-clean-up-crypttab-and-linux-modules-dependency.patch * 0002-discard-cached-key-before-entering-grub-shell-and-ed.patch- Make grub more robust against storage race condition causing system boot failures (bsc#1189036) * 0001-ieee1275-ofdisk-retry-on-open-and-read-failure.patch- Fix riscv64 error for relocation 0x13 is not implemented yet * 0001-RISC-V-Handle-R_RISCV_CALL_PLT-reloc.patch- Fix out of memory error on lpar installation from virtual cdrom (bsc#1208024) * 0001-ieee1275-Further-increase-initially-allocated-heap-f.patch * 0002-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch - Fix lpar got hung at grub after inactive migration (bsc#1207684) * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Rediff * safe_tpm_pcr_snapshot.patch - Patch supersceded * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Refresh 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch to handle the TPM2 responseCode correctly.- Add module for boot loader interface. Needed for load Unified Kernel Image (UKI) * grub2-add-module-for-boot-loader-interface.patch- Amend the TPM2 stack and add authorized policy mode to tpm2_key_protector * 0001-tpm2-adjust-the-input-parameters-of-TPM2_EvictContro.patch * 0002-tpm2-declare-the-input-arguments-of-TPM2-functions-a.patch * 0003-tpm2-resend-the-command-on-TPM_RC_RETRY.patch * 0004-tpm2-add-new-TPM2-types-structures-and-command-const.patch * 0005-tpm2-add-more-marshal-unmarshal-functions.patch * 0006-tpm2-check-the-command-parameters-of-TPM2-commands.patch * 0007-tpm2-pack-the-missing-authorization-command-for-TPM2.patch * 0008-tpm2-allow-some-command-parameters-to-be-NULL.patch * 0009-tpm2-remove-the-unnecessary-variables.patch * 0010-tpm2-add-TPM2-commands-to-support-authorized-policy.patch * 0011-tpm2-make-the-file-reading-unmarshal-functions-gener.patch * 0012-tpm2-initialize-the-PCR-selection-list-early.patch * 0013-tpm2-support-unsealing-key-with-authorized-policy.patch- Fix nvmf boot device setup (bsc#1207811) * 0001-grub2-Can-t-setup-a-default-boot-device-correctly-on.patch- Fix unknown filesystem error on disks with 4096 sector size (bsc#1207064) * 0001-grub-core-modify-sector-by-sysfs-as-disk-sector.patch- Fix GCC 13 build failure (bsc#1201089) * 0002-AUDIT-0-http-boot-tracker-bug.patch- Move unsupported zfs modules into 'extras' packages (bsc#1205554) (PED-2947)- Fix inappropriately including commented lines in crypttab (bsc#1206279) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Make grub.cfg invariant to efi and legacy platforms (bsc#1205200) - Removed patch linuxefi * grub2-secureboot-provide-linuxefi-config.patch * grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch * grub2-secureboot-use-linuxefi-on-uefi.patch - Rediff * grub2-btrfs-05-grub2-mkconfig.patch * grub2-efi-xen-cmdline.patch * grub2-s390x-05-grub2-mkconfig.patch * grub2-suse-remove-linux-root-param.patch- Setup multiple device paths for a nvmf boot device (bsc#1205666) * 0001-grub2-Set-multiple-device-path-for-a-nvmf-boot-devic.patch- Increase the path buffer in the crypttab command for the long volume name (bsc#1206333) * grub2-increase-crypttab-path-buffer.patch- Add tpm to signed grub.elf image (PED-1990) (bsc#1205912) - Increase initial heap size from 1/4 to 1/3 * 0001-ieee1275-Increase-initially-allocated-heap-from-1-4-.patch- Make full utilization of btrfs bootloader area (bsc#1161823) * 0001-fs-btrfs-Use-full-btrfs-bootloader-area.patch * 0002-Mark-environmet-blocks-as-used-for-image-embedding.patch - Patch removed * 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Fix regression of reverting back to asking password twice when a keyfile is already used (bsc#1205309) * 0010-templates-import-etc-crypttab-to-grub.cfg.patch- Security fixes and hardenings * 0001-font-Reject-glyphs-exceeds-font-max_glyph_width-or-f.patch * 0002-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch - Fix CVE-2022-2601 (bsc#1205178) * 0003-font-Fix-several-integer-overflows-in-grub_font_cons.patch * 0004-font-Remove-grub_font_dup_glyph.patch * 0005-font-Fix-integer-overflow-in-ensure_comb_space.patch * 0006-font-Fix-integer-overflow-in-BMP-index.patch * 0007-font-Fix-integer-underflow-in-binary-search-of-char-.patch * 0008-fbutil-Fix-integer-overflow.patch - Fix CVE-2022-3775 (bsc#1205182) * 0009-font-Fix-an-integer-underflow-in-blit_comb.patch * 0010-font-Harden-grub_font_blit_glyph-and-grub_font_blit_.patch * 0011-font-Assign-null_font-to-glyphs-in-ascii_font_glyph.patch * 0012-normal-charset-Fix-an-integer-overflow-in-grub_unico.patch - Bump upstream SBAT generation to 3- Removed 0001-linux-fix-efi_relocate_kernel-failure.patch as reported regression in some hardware being stuck in initrd loading (bsc#1205380)- Fix password asked twice if third field in crypttab not present (bsc#1205312) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- NVMeoFC support on grub (jsc#PED-996) * 0001-ieee1275-add-support-for-NVMeoFC.patch * 0002-ieee1275-ofpath-enable-NVMeoF-logical-device-transla.patch * 0003-ieee1275-change-the-logic-of-ieee1275_get_devargs.patch * 0004-ofpath-controller-name-update.patch - TDX: Enhance grub2 measurement to TD RTMR (jsc#PED-1265) * 0001-commands-efi-tpm-Refine-the-status-of-log-event.patch * 0002-commands-efi-tpm-Use-grub_strcpy-instead-of-grub_mem.patch * 0003-efi-tpm-Add-EFI_CC_MEASUREMENT_PROTOCOL-support.patch - Measure the kernel on POWER10 and extend TPM PCRs (PED-1990) * 0001-ibmvtpm-Add-support-for-trusted-boot-using-a-vTPM-2..patch * 0002-ieee1275-implement-vec5-for-cas-negotiation.patch - Fix efi pcr snapshot related funtion is defined but not used on powerpc platform. * safe_tpm_pcr_snapshot.patch- Include loopback into signed grub2 image (jsc#PED-2150)- Fix firmware oops after disk decrypting failure (bsc#1204037) * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch- Add patch to fix kernel relocation error in low memory * 0001-linux-fix-efi_relocate_kernel-failure.patch- Add safety measure to pcr snapshot by checking platform and tpm status * safe_tpm_pcr_snapshot.patch- Fix installation failure due to unavailable nvram device on ppc64le (bsc#1201361) * 0001-grub-install-set-point-of-no-return-for-powerpc-ieee1275.patch- Add patches to dynamically allocate additional memory regions for EFI systems (bsc#1202438) * 0001-mm-Allow-dynamically-requesting-additional-memory-re.patch * 0002-kern-efi-mm-Always-request-a-fixed-number-of-pages-o.patch * 0003-kern-efi-mm-Extract-function-to-add-memory-regions.patch * 0004-kern-efi-mm-Pass-up-errors-from-add_memory_regions.patch * 0005-kern-efi-mm-Implement-runtime-addition-of-pages.patch - Enlarge the default heap size and defer the disk cache invalidation (bsc#1202438) * 0001-kern-efi-mm-Enlarge-the-default-heap-size.patch * 0002-mm-Defer-the-disk-cache-invalidation.patch- Add patches for ALP FDE support * 0001-devmapper-getroot-Have-devmapper-recognize-LUKS2.patch * 0002-devmapper-getroot-Set-up-cheated-LUKS2-cryptodisk-mo.patch * 0003-disk-cryptodisk-When-cheatmounting-use-the-sector-in.patch * 0004-normal-menu-Don-t-show-Booting-s-msg-when-auto-booti.patch * 0005-EFI-suppress-the-Welcome-to-GRUB-message-in-EFI-buil.patch * 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch * 0007-EFI-console-Do-not-set-cursor-until-the-first-text-o.patch * 0008-linuxefi-Use-common-grub_initrd_load.patch * 0009-Add-crypttab_entry-to-obviate-the-need-to-input-pass.patch * 0010-templates-import-etc-crypttab-to-grub.cfg.patch * grub-read-pcr.patch * efi-set-variable-with-attrs.patch * tpm-record-pcrs.patch * tpm-protector-dont-measure-sealed-key.patch * tpm-protector-export-secret-key.patch * grub-install-record-pcrs.patch * grub-unseal-debug.patch- Fix out of memory error cannot be prevented via disabling tpm (bsc#1202438) * 0001-tpm-Disable-tpm-verifier-if-tpm-is-not-present.patch- Fix tpm error stop tumbleweed from booting (bsc#1202374) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Patch Removed * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch- Add tpm, tpm2, luks2 and gcry_sha512 to default grub.efi (bsc#1197625) - Make grub-tpm.efi a symlink to grub.efi * grub2.spec - Log error when tpm event log is full and continue * 0001-tpm-Log-EFI_VOLUME_FULL-and-continue.patch - Patch superseded * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch- Add patches for automatic TPM disk unlock (jsc#SLE-24018) (bsc#1196668) (jsc#PED-1276) * 0001-luks2-Add-debug-message-to-align-with-luks-and-geli-.patch * 0002-cryptodisk-Refactor-to-discard-have_it-global.patch * 0003-cryptodisk-Return-failure-in-cryptomount-when-no-cry.patch * 0004-cryptodisk-Improve-error-messaging-in-cryptomount-in.patch * 0005-cryptodisk-Improve-cryptomount-u-error-message.patch * 0006-cryptodisk-Add-infrastructure-to-pass-data-from-cryp.patch * 0007-cryptodisk-Refactor-password-input-out-of-crypto-dev.patch * 0008-cryptodisk-Move-global-variables-into-grub_cryptomou.patch * 0009-cryptodisk-Improve-handling-of-partition-name-in-cry.patch * 0010-protectors-Add-key-protectors-framework.patch * 0011-tpm2-Add-TPM-Software-Stack-TSS.patch * 0012-protectors-Add-TPM2-Key-Protector.patch * 0013-cryptodisk-Support-key-protectors.patch * 0014-util-grub-protect-Add-new-tool.patch - Fix no disk unlocking happen (bsc#1196668) * 0001-crytodisk-fix-cryptodisk-module-looking-up.patch - Fix build error * fix-tpm2-build.patch- Security fixes and hardenings for boothole 3 / boothole 2022 (bsc#1198581) * 0001-video-Remove-trailing-whitespaces.patch * 0002-loader-efi-chainloader-Simplify-the-loader-state.patch * 0003-commands-boot-Add-API-to-pass-context-to-loader.patch - Fix CVE-2022-28736 (bsc#1198496) * 0004-loader-efi-chainloader-Use-grub_loader_set_ex.patch - Fix CVE-2022-28735 (bsc#1198495) * 0005-kern-efi-sb-Reject-non-kernel-files-in-the-shim_lock.patch * 0006-kern-file-Do-not-leak-device_name-on-error-in-grub_f.patch * 0007-video-readers-png-Abort-sooner-if-a-read-operation-f.patch * 0008-video-readers-png-Refuse-to-handle-multiple-image-he.patch - Fix CVE-2021-3695 (bsc#1191184) * 0009-video-readers-png-Drop-greyscale-support-to-fix-heap.patch - Fix CVE-2021-3696 (bsc#1191185) * 0010-video-readers-png-Avoid-heap-OOB-R-W-inserting-huff-.patch * 0011-video-readers-png-Sanity-check-some-huffman-codes.patch * 0012-video-readers-jpeg-Abort-sooner-if-a-read-operation-.patch * 0013-video-readers-jpeg-Do-not-reallocate-a-given-huff-ta.patch * 0014-video-readers-jpeg-Refuse-to-handle-multiple-start-o.patch - Fix CVE-2021-3697 (bsc#1191186) * 0015-video-readers-jpeg-Block-int-underflow-wild-pointer-.patch * 0016-normal-charset-Fix-array-out-of-bounds-formatting-un.patch - Fix CVE-2022-28733 (bsc#1198460) * 0017-net-ip-Do-IP-fragment-maths-safely.patch * 0018-net-netbuff-Block-overly-large-netbuff-allocs.patch * 0019-net-dns-Fix-double-free-addresses-on-corrupt-DNS-res.patch * 0020-net-dns-Don-t-read-past-the-end-of-the-string-we-re-.patch * 0021-net-tftp-Prevent-a-UAF-and-double-free-from-a-failed.patch * 0022-net-tftp-Avoid-a-trivial-UAF.patch * 0023-net-http-Do-not-tear-down-socket-if-it-s-already-bee.patch - Fix CVE-2022-28734 (bsc#1198493) * 0024-net-http-Fix-OOB-write-for-split-http-headers.patch - Fix CVE-2022-28734 (bsc#1198493) * 0025-net-http-Error-out-on-headers-with-LF-without-CR.patch * 0026-fs-f2fs-Do-not-read-past-the-end-of-nat-journal-entr.patch * 0027-fs-f2fs-Do-not-read-past-the-end-of-nat-bitmap.patch * 0028-fs-f2fs-Do-not-copy-file-names-that-are-too-long.patch * 0029-fs-btrfs-Fix-several-fuzz-issues-with-invalid-dir-it.patch * 0030-fs-btrfs-Fix-more-ASAN-and-SEGV-issues-found-with-fu.patch * 0031-fs-btrfs-Fix-more-fuzz-issues-related-to-chunks.patch * 0032-Use-grub_loader_set_ex-for-secureboot-chainloader.patch - Bump grub's SBAT generation to 2- Use boot disks in OpenFirmware, fixing regression caused by 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch, when the root LV is completely in the boot LUN (bsc#1197948) * 0001-ofdisk-improve-boot-time-by-lookup-boot-disk-first.patch- Fix error message in displaying help on bootable snapshot (bsc#1199609)- Fix installation over serial console ends up in infinite boot loop (bsc#1187810) (bsc#1209667) (bsc#1209372) * 0001-Fix-infinite-boot-loop-on-headless-system-in-qemu.patch - Fix ppc64le build error for new IEEE long double ABI * 0001-libc-config-merge-from-glibc.patch- Fix Power10 LPAR error "The partition fails to activate as partition went into invalid state" (bsc#1198714) * 0001-powerpc-do-CAS-in-a-more-compatible-way.patch- use common SBAT values (boo#1193282)- Fix wrong order in kernel sorting of listing rc before final release (bsc#1197376) * grub2-use-rpmsort-for-version-sorting.patch- Fix duplicated insmod part_gpt lines in grub.cfg (bsc#1197186) * 0001-grub-probe-Deduplicate-probed-partmap-output.patch- Fix GCC 12 build failure (bsc#1196546) * 0001-mkimage-Fix-dangling-pointer-may-be-used-error.patch * 0002-Fix-Werror-array-bounds-array-subscript-0-is-outside.patch * 0003-reed_solomon-Fix-array-subscript-0-is-outside-array-.patch - Revised * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix grub-install error when efi system partition is created as mdadm software raid1 device (bsc#1179981) (bsc#1195204) * 0001-install-fix-software-raid1-on-esp.patch- Fix riscv64 build error * 0001-RISC-V-Adjust-march-flags-for-binutils-2.38.patch- Fix error in grub-install when linux root device is on lvm thin volume (bsc#1192622) (bsc#1191974) * 0001-grub-install-bailout-root-device-probing.patch- Support saving grub environment for POWER signed grub images (jsc#SLE-23854) * 0001-Add-grub_envblk_buf-helper-function.patch * 0002-Add-grub_disk_write_tail-helper-function.patch * 0003-grub-install-support-prep-environment-block.patch * 0004-Introduce-prep_load_env-command.patch * 0005-export-environment-at-start-up.patch - Use enviroment variable in early boot config to looking up root device * grub2.spec- Remove obsolete openSUSE 12.2 conditionals in spec file - Clean up powerpc certificate handling.- Set grub2-check-default shebang to "#!/bin/bash", as the the code uses many instructions which are undefined for a POSIX sh. (boo#1195794).- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * 0001-grub-install-Add-SUSE-signed-image-support-for-power.patch- Fix wrong default entry when booting snapshot (bsc#1159205) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch- Power guest secure boot with static keys: GRUB2 signing portion (jsc#SLE-18271) (bsc#1192764) * grub2.spec - Power guest secure boot with static keys: GRUB2 portion (jsc#SLE-18144) (bsc#1192686) * 0001-ieee1275-Drop-HEAP_MAX_ADDR-and-HEAP_MIN_SIZE-consta.patch * 0002-ieee1275-claim-more-memory.patch * 0003-ieee1275-request-memory-with-ibm-client-architecture.patch * 0004-Add-suport-for-signing-grub-with-an-appended-signatu.patch * 0005-docs-grub-Document-signing-grub-under-UEFI.patch * 0006-docs-grub-Document-signing-grub-with-an-appended-sig.patch * 0007-dl-provide-a-fake-grub_dl_set_persistent-for-the-emu.patch * 0008-pgp-factor-out-rsa_pad.patch * 0009-crypto-move-storage-for-grub_crypto_pk_-to-crypto.c.patch * 0010-posix_wrap-tweaks-in-preparation-for-libtasn1.patch * 0011-libtasn1-import-libtasn1-4.18.0.patch * 0012-libtasn1-disable-code-not-needed-in-grub.patch * 0013-libtasn1-changes-for-grub-compatibility.patch * 0014-libtasn1-compile-into-asn1-module.patch * 0015-test_asn1-test-module-for-libtasn1.patch * 0016-grub-install-support-embedding-x509-certificates.patch * 0017-appended-signatures-import-GNUTLS-s-ASN.1-descriptio.patch * 0018-appended-signatures-parse-PKCS-7-signedData-and-X.50.patch * 0019-appended-signatures-support-verifying-appended-signa.patch * 0020-appended-signatures-verification-tests.patch * 0021-appended-signatures-documentation.patch * 0022-ieee1275-enter-lockdown-based-on-ibm-secure-boot.patch * 0023-x509-allow-Digitial-Signature-plus-other-Key-Usages.patch- Fix no menuentry is found if hibernation on btrfs RAID1 (bsc#1193090) * grub2-systemd-sleep-plugin- Fix CVE-2021-3981 (bsc#1189644) * 0001-grub-mkconfig-restore-umask-for-grub.cfg.patch- Fix can't allocate initrd error (bsc#1191378) * 0001-Factor-out-grub_efi_linux_boot.patch * 0002-Fix-race-in-EFI-validation.patch * 0003-Handle-multi-arch-64-on-32-boot-in-linuxefi-loader.patch * 0004-Try-to-pick-better-locations-for-kernel-and-initrd.patch * 0005-x86-efi-Use-bounce-buffers-for-reading-to-addresses-.patch * 0006-x86-efi-Re-arrange-grub_cmd_linux-a-little-bit.patch * 0007-x86-efi-Make-our-own-allocator-for-kernel-stuff.patch * 0008-x86-efi-Allow-initrd-params-cmdline-allocations-abov.patch * 0009-x86-efi-Reduce-maximum-bounce-buffer-size-to-16-MiB.patch * 0010-efilinux-Fix-integer-overflows-in-grub_cmd_initrd.patch * 0011-Also-define-GRUB_EFI_MAX_ALLOCATION_ADDRESS-for-RISC.patch- Add support for simplefb (boo#1193532). + grub2-simplefb.patch- Fix extent not found when initramfs contains shared extents (bsc#1190982) * 0001-fs-btrfs-Make-extent-item-iteration-to-handle-gaps.patch- Fix arm64 kernel image not aligned on 64k boundary (bsc#1192522) * 0001-arm64-Fix-EFI-loader-kernel-image-allocation.patch * 0002-Arm-check-for-the-PE-magic-for-the-compiled-arch.patch- Remove openSUSE Tumbleweed specific handling for default grub distributor (bsc#1191198) - Use /usr/lib/os-release as fallback (bsc#1191196) * grub2-default-distributor.patch * grub2-check-default.sh - VUL-0: grub2: grub2-once uses fixed file name in /var/tmp (bsc#1190474) (CVE-2021-46705) * grub2-once * grub2-once.service - Fix unknown TPM error on buggy uefi firmware (bsc#1191504) * 0001-tpm-Pass-unknown-error-as-non-fatal-but-debug-print-.patch - Fix error /boot/grub2/locale/POSIX.gmo not found (bsc#1189769) * 0001-Filter-out-POSIX-locale-for-translation.patch - Fix error lvmid disk cannot be found after second disk added to the root volume group (bsc#1189874) (bsc#1071559) * 0001-ieee1275-implement-FCP-methods-for-WWPN-and-LUNs.patch - Fix error in grub installation due to unnecessary requirement to support excessive device for the root logical volume (bsc#1184135) * 0001-disk-diskfilter-Use-nodes-in-logical-volume-s-segmen.patch - Fix regression in reading xfs v4 * 0001-fs-xfs-Fix-unreadable-filesystem-with-v4-superblock.patch- Fix installation on usrmerged s390x- Improve support for SLE Micro 5.1 on s390x. (bsc#1190395) * amend grub2-s390x-04-grub2-install.patch * refresh grub2-s390x-11-secureboot.patch- Follow usr merge for looking up kernel config (bsc#1189782) (bsc#1190061) * 0001-templates-Follow-the-path-of-usr-merged-kernel-confi.patch- Add btrfs zstd compression on i386-pc and also make sure it won't break existing grub installations (bsc#1161823) * deleted 0001-btrfs-disable-zstd-support-for-i386-pc.patch * added 0001-i386-pc-build-btrfs-zstd-support-into-separate-modul.patch- Delete the author list from %description (the %description section is literally for package descriptions (only) these days, encoding was also problematic). - Add %doc AUTHORS to get packaged that info- update grub2-systemd-sleep.sh to fix hibernation by avoiding the error "no kernelfile matching the running kernel found" on usrmerged setup- Use %autosetup- Replace grub2-use-stat-instead-of-udevadm-for-partition-lookup.patch and fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch with upstream backport: 0001-osdep-Introduce-include-grub-osdep-major.h-and-use-i.patch and 0002-osdep-linux-hostdisk-Use-stat-instead-of-udevadm-for.patch.- Fix error not a btrfs filesystem on s390x (bsc#1187645) * 80_suse_btrfs_snapshot- Fix error gfxterm isn't found with multiple terminals (bsc#1187565) * grub2-fix-error-terminal-gfxterm-isn-t-found.patch- Fix boot failure after kdump due to the content of grub.cfg is not completed with pending modificaton in xfs journal (bsc#1186975) * grub-install-force-journal-draining-to-ensure-data-i.patch - Patch refreshed * grub2-mkconfig-default-entry-correction.patch- Version bump to 2.06 * rediff - 0001-add-support-for-UEFI-network-protocols.patch - 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch - 0003-Make-grub_error-more-verbose.patch - 0003-bootp-New-net_bootp6-command.patch - 0005-grub.texi-Add-net_bootp6-doument.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - grub-install-force-journal-draining-to-ensure-data-i.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-diskfilter-support-pv-without-metadatacopies.patch - grub2-efi-HP-workaround.patch - grub2-efi-xen-cfg-unquote.patch - grub2-efi-xen-chainload.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch - grub2-install-remove-useless-check-PReP-partition-is-empty.patch - grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - grub2-mkconfig-default-entry-correction.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-s390x-03-output-7-bit-ascii.patch - grub2-s390x-04-grub2-install.patch - grub2-secureboot-install-signed-grub.patch - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - use-grub2-as-a-package-name.patch * update by patch squashed: - 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch - grub2-efi-chainload-harder.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-chainloader.patch - grub2-secureboot-add-linuxefi.patch * remove squashed patches: - 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch - 0009-squash-Add-support-for-linuxefi.patch - 0041-squash-Add-secureboot-support-on-efi-chainloader.patch - 0042-squash-grub2-efi-chainload-harder.patch - 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch - 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * drop upstream patches: - 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch - 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch - 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch - 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch - 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch - 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch - 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch - 0002-kern-Add-X-option-to-printf-functions.patch - 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch - 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.patch - 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch - 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch - 0003-normal-main-Search-for-specific-config-files-for-net.patch - 0004-calloc-Use-calloc-at-most-places.patch - 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch - 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch - 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch - 0005-efi-Add-secure-boot-detection.patch - 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch - 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch - 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch - 0007-font-Do-not-load-more-than-one-NAME-section.patch - 0007-verifiers-Move-verifiers-API-to-kernel-image.patch - 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch - 0008-script-Remove-unused-fields-from-grub_script_functio.patch - 0009-kern-Add-lockdown-support.patch - 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch - 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch - 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch - 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch - 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch - 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch - 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch - 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch - 0018-gdb-Restrict-GDB-access-when-locked-down.patch - 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch - 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - 0024-kern-parser-Fix-resource-leak-if-argc-0.patch - 0025-kern-parser-Fix-a-memory-leak.patch - 0026-kern-parser-Introduce-process_char-helper.patch - 0027-kern-parser-Introduce-terminate_arg-helper.patch - 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch - 0029-kern-buffer-Add-variable-sized-heap-buffer.patch - 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch - 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch - 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch - 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch - 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch - 0036-util-mkimage-Improve-data_size-value-calculation.patch - 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch - 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch - 0039-grub-install-common-Add-sbat-option.patch - 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch - grub-install-define-default-platform-for-risc-v.patch - grub2-editenv-add-warning-message.patch - grub2-efi-gop-add-blt.patch - grub2-efi-uga-64bit-fb.patch - grub2-verifiers-fix-system-freeze-if-verify-failed.patch - risc-v-add-clzdi2-symbol.patch - risc-v-fix-computation-of-pc-relative-relocation-offset.patch - Add grub2-instdev-fixup.pl for correcting /etc/default/grub_installdevice to use disk devie if grub has been installed to it - Add 0001-30_uefi-firmware-fix-printf-format-with-null-byte.patch to fix detection of efi fwsetup support- Fix running grub2-once leads to failure of starting systemd service in the boot sequence (bsc#1169460) * grub2-once * grub2-once.service- Fix crash in launching gfxmenu without theme file (bsc#1186481) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Fix plaintext password in grub config didn't work to unlock menu entry if enabling secure boot in UEFI (bsc#1181892)- Fix obsolete syslog in systemd unit file and updating to use journal as StandardOutput (bsc#1185149) * grub2-once.service- Fix build error on armv6/armv7 (bsc#1184712) * 0001-emu-fix-executable-stack-marking.patch- Fix error grub_file_filters not found in Azure virtual machine (bsc#1182012) * 0001-Workaround-volatile-efi-boot-variable.patch- Fix powerpc-ieee1275 lpar takes long time to boot with increasing number of nvme namespace (bsc#1177751) 0001-ieee1275-Avoiding-many-unecessary-open-close.patch- Fix chainloading windows on dual boot machine (bsc#1183073) * 0001-kern-efi-sb-Add-chainloaded-image-as-shim-s-verifiab.patch- VUL-0: grub2,shim: implement new SBAT method (bsc#1182057) * 0031-util-mkimage-Remove-unused-code-to-add-BSS-section.patch * 0032-util-mkimage-Use-grub_host_to_target32-instead-of-gr.patch * 0033-util-mkimage-Always-use-grub_host_to_target32-to-ini.patch * 0034-util-mkimage-Unify-more-of-the-PE32-and-PE32-header-.patch * 0035-util-mkimage-Reorder-PE-optional-header-fields-set-u.patch * 0036-util-mkimage-Improve-data_size-value-calculation.patch * 0037-util-mkimage-Refactor-section-setup-to-use-a-helper.patch * 0038-util-mkimage-Add-an-option-to-import-SBAT-metadata-i.patch * 0039-grub-install-common-Add-sbat-option.patch - Fix CVE-2021-20225 (bsc#1182262) * 0022-lib-arg-Block-repeated-short-options-that-require-an.patch - Fix CVE-2020-27749 (bsc#1179264) * 0024-kern-parser-Fix-resource-leak-if-argc-0.patch * 0025-kern-parser-Fix-a-memory-leak.patch * 0026-kern-parser-Introduce-process_char-helper.patch * 0027-kern-parser-Introduce-terminate_arg-helper.patch * 0028-kern-parser-Refactor-grub_parser_split_cmdline-clean.patch * 0029-kern-buffer-Add-variable-sized-heap-buffer.patch * 0030-kern-parser-Fix-a-stack-buffer-overflow.patch - Fix CVE-2021-20233 (bsc#1182263) * 0023-commands-menuentry-Fix-quoting-in-setparams_prefix.patch - Fix CVE-2020-25647 (bsc#1177883) * 0021-usb-Avoid-possible-out-of-bound-accesses-caused-by-m.patch - Fix CVE-2020-25632 (bsc#1176711) * 0020-dl-Only-allow-unloading-modules-that-are-not-depende.patch - Fix CVE-2020-27779, CVE-2020-14372 (bsc#1179265) (bsc#1175970) * 0001-include-grub-i386-linux.h-Include-missing-grub-types.patch * 0002-efi-Make-shim_lock-GUID-and-protocol-type-public.patch * 0003-efi-Return-grub_efi_status_t-from-grub_efi_get_varia.patch * 0004-efi-Add-a-function-to-read-EFI-variables-with-attrib.patch * 0005-efi-Add-secure-boot-detection.patch * 0006-efi-Only-register-shim_lock-verifier-if-shim_lock-pr.patch * 0007-verifiers-Move-verifiers-API-to-kernel-image.patch * 0008-efi-Move-the-shim_lock-verifier-to-the-GRUB-core.patch * 0009-kern-Add-lockdown-support.patch * 0010-kern-lockdown-Set-a-variable-if-the-GRUB-is-locked-d.patch * 0011-efi-Lockdown-the-GRUB-when-the-UEFI-Secure-Boot-is-e.patch * 0012-efi-Use-grub_is_lockdown-instead-of-hardcoding-a-dis.patch * 0013-acpi-Don-t-register-the-acpi-command-when-locked-dow.patch * 0014-mmap-Don-t-register-cutmem-and-badram-commands-when-.patch * 0015-commands-Restrict-commands-that-can-load-BIOS-or-DT-.patch * 0016-commands-setpci-Restrict-setpci-command-when-locked-.patch * 0017-commands-hdparm-Restrict-hdparm-command-when-locked-.patch * 0018-gdb-Restrict-GDB-access-when-locked-down.patch * 0019-loader-xnu-Don-t-allow-loading-extension-and-package.patch * 0040-shim_lock-Only-skip-loading-shim_lock-verifier-with-.patch * 0041-squash-Add-secureboot-support-on-efi-chainloader.patch * 0042-squash-grub2-efi-chainload-harder.patch * 0043-squash-Don-t-allow-insmod-when-secure-boot-is-enable.patch * 0044-squash-kern-Add-lockdown-support.patch * 0045-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0046-squash-verifiers-Move-verifiers-API-to-kernel-image.patch - Drop patch supersceded by the new backport * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch - Add SBAT metadata section to grub.efi - Drop shim_lock module as it is part of core of grub.efi * grub2.spec- Fix build error in binutils 2.36 (bsc#1181741) * 0001-Fix-build-error-in-binutils-2.36.patch - Fix executable stack in grub-emu (bsc#1181696) * 0001-emu-fix-executable-stack-marking.patch- Restore compatibilty sym-links * grub2.spec - Use rpmlintrc to filter out rpmlint 2.0 error (bsc#1179044) * grub2.rpmlintrc- Complete Secure Boot support on aarch64 (jsc#SLE-15020) * 0001-Add-support-for-Linux-EFI-stub-loading-on-aarch64.patch * 0002-arm64-make-sure-fdt-has-address-cells-and-size-cells.patch * 0003-Make-grub_error-more-verbose.patch * 0004-arm-arm64-loader-Better-memory-allocation-and-error-.patch * 0005-Make-linux_arm_kernel_header.hdr_offset-be-at-the-ri.patch * 0006-efi-Set-image-base-address-before-jumping-to-the-PE-.patch * 0007-linuxefi-fail-kernel-validation-without-shim-protoco.patch * 0008-squash-Add-support-for-Linux-EFI-stub-loading-on-aar.patch * 0009-squash-Add-support-for-linuxefi.patch- Fix rpmlint 2.0 error for having arch specific path in noarch package aiming for compatibility with old package (bsc#1179044) * grub2.spec - Fix non POSIX sed argument which failed in sed from busybox (bsc#1181091) * grub2-check-default.sh- 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) * 0001-add-support-for-UEFI-network-protocols.patch- grub2.spec: Fix bare words used as string in expression which is no longer allowed in rpm 4.16- 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- Make efi hand off the default entry point of the linux command (bsc#1176134) * 0001-efi-linux-provide-linux-command.patch- Fix verification requested but nobody cares error when loading external module in secure boot off (bsc#1175766) * 0001-shim_lock-Disable-GRUB_VERIFY_FLAGS_DEFER_AUTH-if-se.patch- Make consistent check to enable relative path on btrfs (bsc#1174567) * 0001-Unify-the-check-to-enable-btrfs-relative-path.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 * 0002-cmdline-Provide-cmdline-functions-as-module.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- No 95_textmode for PowerPC (boo#1174166)- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Fix boot failure as journaled data not get drained due to abrupt power off after grub-install (bsc#1167756) * grub-install-force-journal-draining-to-ensure-data-i.patch- Fix executable stack in grub-probe and other grub utility (bsc#1169137) * grub2-btrfs-06-subvol-mount.patch- Fix GCC 10 build fail (bsc#1158189) * 0001-mdraid1x_linux-Fix-gcc10-error-Werror-array-bounds.patch * 0002-zfs-Fix-gcc10-error-Werror-zero-length-bounds.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- move *.module files to separate -debug subpackage (boo#1166578)- Fix EFI console detection to make it a runtime decision (bsc#1164385) * grub2-SUSE-Add-the-t-hotkey.patch- Downgrade mtools to Suggests for consistency with xorriso (boo#1165839) - remove info requirements, file triggers are used now (boo#1152105)- Add secure boot support for s390x. (jsc#SLE-9425) * grub2-s390x-11-secureboot.patch- Fix grub hangs after loading rogue image without valid signature for uefi secure boot (bsc#1159102) * grub2-verifiers-fix-system-freeze-if-verify-failed.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- Correct awk pattern in 20_linux_xen (bsc#900418, bsc#1157912) - Correct linux and initrd handling in 20_linux_xen (bsc#1157912) M grub2-efi-xen-cfg-unquote.patch M grub2-efi-xen-chainload.patch M grub2-efi-xen-cmdline.patch M grub2-efi-xen-removable.patch- Disable btrfs zstd support for i386-pc to workaround core.img too large to be embedded in btrfs bootloader area or MBR gap (boo#1154809) * 0001-btrfs-disable-zstd-support-for-i386-pc.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Enable support for riscv64 - Backports from upstream: * risc-v-fix-computation-of-pc-relative-relocation-offset.patch * risc-v-add-clzdi2-symbol.patch * grub-install-define-default-platform-for-risc-v.patch- Version bump to 2.04 * removed - translations-20170427.tar.xz * grub2.spec - Make signed grub-tpm.efi specific to x86_64-efi build, the platform currently shipped with tpm module from upstream codebase - Add shim_lock to signed grub.efi in x86_64-efi build - x86_64: linuxefi now depends on linux, both will verify kernel via shim_lock - Remove translation tarball and po file hacks as it's been included in upstream tarball * rediff - grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch - grub2-commands-introduce-read_file-subcommand.patch - grub2-secureboot-add-linuxefi.patch - 0001-add-support-for-UEFI-network-protocols.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-install-signed-grub.patch - grub2-linux.patch - use-grub2-as-a-package-name.patch - grub2-pass-corret-root-for-nfsroot.patch - grub2-secureboot-use-linuxefi-on-uefi.patch - grub2-secureboot-no-insmod-on-sb.patch - grub2-secureboot-provide-linuxefi-config.patch - grub2-secureboot-chainloader.patch - grub2-s390x-01-Changes-made-and-files-added-in-order-to-allow-s390x.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch - grub2-efi-chainloader-root.patch - grub2-ppc64le-disable-video.patch - grub2-ppc64-cas-reboot-support.patch - grub2-Fix-incorrect-netmask-on-ppc64.patch - 0003-bootp-New-net_bootp6-command.patch - 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch - 0012-tpm-Build-tpm-as-module.patch - grub2-emu-4-all.patch - grub2-btrfs-09-get-default-subvolume.patch - grub2-ppc64le-memory-map.patch - grub2-ppc64-cas-fix-double-free.patch - 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch * drop upstream patches - grub2-fix-locale-en.mo.gz-not-found-error-message.patch - grub2-fix-build-with-flex-2.6.4.patch - grub2-accept-empty-module.patch - 0001-Fix-packed-not-aligned-error-on-GCC-8.patch - 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch - unix-exec-avoid-atexit-handlers-when-child-exits.patch - 0001-xfs-Accept-filesystem-with-sparse-inodes.patch - grub2-binutils2.31.patch - grub2-msdos-fix-overflow.patch - 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch - grub2-efi-Move-grub_reboot-into-kernel.patch - grub2-efi-Free-malloc-regions-on-exit.patch - grub2-move-initrd-upper.patch - 0002-Add-Virtual-LAN-support.patch - 0001-ofnet-Initialize-structs-in-bootpath-parser.patch - 0001-misc-fix-invalid-character-recongition-in-strto-l.patch - 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 - 0013-tpm-i386-pc-diskboot-img.patch - grub2-freetype-pkgconfig.patch - 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch - 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch - 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch - 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch - 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch - 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch - 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch - 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.patch- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Fix fallback embed doesn't work when no post mbr gap at all (boo#1142229) * Refresh grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Fix iteration of FCP LUNs (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229). * Refresh grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Use grub2-install to handle signed grub installation for UEFI secure boot and also provide options to override default (bsc#1136601) * grub2-secureboot-install-signed-grub.patch - Remove arm64 linuxefi patches as it's not needed for secure boot * 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- 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- Fix GCC 9 build failure (bsc#1121208) * 0001-cpio-Disable-gcc9-Waddress-of-packed-member.patch * 0002-jfs-Disable-gcc9-Waddress-of-packed-member.patch * 0003-hfs-Fix-gcc9-error-Waddress-of-packed-member.patch * 0004-hfsplus-Fix-gcc9-error-with-Waddress-of-packed-membe.patch * 0005-acpi-Fix-gcc9-error-Waddress-of-packed-member.patch * 0006-usbtest-Disable-gcc9-Waddress-of-packed-member.patch * 0007-chainloader-Fix-gcc9-error-Waddress-of-packed-member.patch * 0008-efi-Fix-gcc9-error-Waddress-of-packed-member.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{|}~2.12-150600.8.18.22.12-150600.8.18.22.12-150600.8.18.2efiaarch64grub.dergrub.efiarm64-efiacpi.modadler32.modaffs.modafs.modafsplitter.modall_video.modappended_signature_test.modappendedsig.modarchelp.modasn1.modbfs.modbitmap.modbitmap_scale.modbli.modblocklist.modboot.modbswap_test.modbtrfs.modbufio.modcat.modcbfs.modchain.modcmdline.modcmdline_cat_test.modcmp.modcmp_test.modcommand.lstconfigfile.modcpio.modcpio_be.modcrc64.modcrypto.lstcrypto.modcryptodisk.modcrypttab.modctz_test.moddate.moddatehook.moddatetime.moddisk.moddiskfilter.moddiv.moddiv_test.moddm_nv.modecho.modefi_gop.modefifwsetup.modefinet.modefitextmode.modelf.modeval.modexfat.modexfctest.modext2.modextcmd.modf2fs.modfat.modfdt.lstfdt.modfile.modfont.modfs.lstfshelp.modfunctional_test.modgcry_arcfour.modgcry_blowfish.modgcry_camellia.modgcry_cast5.modgcry_crc.modgcry_des.modgcry_dsa.modgcry_idea.modgcry_md4.modgcry_md5.modgcry_rfc2268.modgcry_rijndael.modgcry_rmd160.modgcry_rsa.modgcry_seed.modgcry_serpent.modgcry_sha1.modgcry_sha256.modgcry_sha512.modgcry_tiger.modgcry_twofish.modgcry_whirlpool.modgeli.modgettext.modgfxmenu.modgfxterm.modgfxterm_background.modgfxterm_menu.modgptsync.modgrub.efigzio.modhalt.modhashsum.modhello.modhelp.modhexdump.modhfs.modhfsplus.modhfspluscomp.modhttp.modiso9660.modjfs.modjpeg.modjson.modkernel.execkernel.imgkeystatus.modldm.modlinux.modloadenv.modloopback.modls.modlsacpi.modlsefi.modlsefimmap.modlsefisystab.modlsmmap.modlssal.modluks.modluks2.modlvm.modlzopio.modmacbless.modmacho.modmdraid09.modmdraid09_be.modmdraid1x.modmemdisk.modmemrw.modminicmd.modminix.modminix2.modminix2_be.modminix3.modminix3_be.modminix_be.modmmap.modmoddep.lstmodinfo.shmpi.modmsdospart.modmul_test.modnet.modnewc.modnilfs2.modnormal.modntfs.modntfscomp.mododc.modoffsetio.modpart_acorn.modpart_amiga.modpart_apple.modpart_bsd.modpart_dfly.modpart_dvh.modpart_gpt.modpart_msdos.modpart_plan.modpart_sun.modpart_sunpc.modpartmap.lstparttool.lstparttool.modpassword.modpassword_pbkdf2.modpbkdf2.modpbkdf2_test.modpgp.modpkcs1_v15.modplainmount.modpng.modpriority_queue.modprobe.modprocfs.modprogress.modraid5rec.modraid6rec.modread.modreboot.modregexp.modreiserfs.modromfs.modscsi.modsearch.modsearch_fs_file.modsearch_fs_uuid.modsearch_label.modserial.modsetjmp.modsetjmp_test.modsfs.modshift_test.modsignature_test.modsleep.modsleep_test.modsmbios.modsquash4.modstrtoull_test.modsyslinuxcfg.modtar.modterminal.lstterminal.modterminfo.modtest.modtest_asn1.modtest_blockarg.modtestload.modtestspeed.modtftp.modtga.modtime.modtpm.modtpm2.modtr.modtrig.modtrue.modudf.modufs1.modufs1_be.modufs2.modvideo.lstvideo.modvideo_colors.modvideo_fb.modvideoinfo.modvideotest.modvideotest_checksum.modxen_boot.modxfs.modxnu_uuid.modxnu_uuid_test.modxzio.modzstd.mod/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.suse.de/SUSE:Maintenance:37155/SUSE_SLE-15-SP6_Update/efca4f83ad0038e123688e55e638bbc3-grub2.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxdirectoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not strippedASCII textemptyELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not strippedPOSIX 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-86b8e7a22befbfc464174e013cb665fe66d136423229f586f9452d341a18d7845?7zXZ !t/]"k%C¾rU9 c8〟i0iF5-YMa3t%0/7CbW ׼<$4USB\p xV(-fj]rn1$sEɧ47ph9M4.$,8He]]!L&R"dwƉ 9NGҋjZk,P:ո}H<9"3 Oq$o%#$x:F2;q~1W{bnjI9 ܸ)-X%8+zTb G8*Ae̓v3X^E%9۪ Ӧ]0S?'z) Lϯ ^ꥃQ1 +ڢl/lͣ KXS%j~$g.Q`wQKFU[[\d'j}A$ql2Bbg( {  c |\VeXo`sHo~9Bңm2`iV4:v<̆$7WuzwI8>5޶QL= )7]aBrrf "9^9}geX\E']sd|ys-l\`ۣY)gJ'Ԑt;#b#0!k@f9^Nݽ+XJ(&A<!t}$BofUEE'5&zwhqA7$)j5+' u`AsK4Zu0| .wf^O 40鿜ϨIxp>MLV}DPRcZB)K4݉_GJYYt{&#Cnxil|=F,Xs$uAaU~H\,L/C$p[Z YFO֨bZzW*@S[<#}S .#"|~V!X,5X@#1SƮCvKnTt $TU,xS z.Y/5/"0g9e\`݁J뚤:>,3&Pͨu3>}˜|]5ngҾ)f?tDF–,f.&C 5)CڏkM}?gP,*gNg#bRK,5e/D>*>N*UQU'cpz2Ko“ԝ3V:+p Ih4+*hkP X "z dK3ib4̝8 PyHBPhKC([$ (v'T&T15uk_LRk}Q/v 1hHcp#wK?yD1UW3d*_{<$Te"7JShbYp6*p<%VPU??0%۞R0䎓27iV U!kg|4:Ʋ)#&ʛ6U*q,8ݣ=JLP @8pwrAZKPe- Û{>0M z53؈_;ep)Rg5O:­L7 jۚמ%CֶROBd)ơ9=F:gLzoM8uc&'']E5 oTx5Й6 Ӑ!c}T01 X_*qD KK GBX)ڝ`8Y S:mv<|8H+Y#:0>> n[۬:ٓo sXuolpxgt:`Qy;JazPMͥӥ2m4._ȤHVG{|衪H]MsdfDM$zR2QH*%W]2:Je~>#B{{K*SmxHe;tZv0dkIv# eLMSSxNn"U⊃B6wit[w.FUnn̲Usb3l-HdGh*/ mi .~&,lNߧE#?leϐ ]IC<2tfnsAE.6?/ 6%GzfۧLY*N,.C9UG߸66sa[/JD8@{f@}UB!ϟ;Tek G97a tPgC gnw0p!|A]^P )r_3$_?7Hj i:5۠i}C&\s܍ 4M?}4f#NP?_nPˁ61)p%` A:7ص`BcFs'0_M6kT72s*L#(1U?]4R{r%mEXm޺Ԕn ub[_zuy_G35cvA#YXZ5d;tX +ݐ^E˜sQ,hqi~!6SN)L0,E }V0 RCdfɻmS 7W$UE  eI wOKq`e)៎&ow0j:Dc9O_6`_k.@ G 4:߿npYW9aGM%mif}DOX&r۱Ce?#58[ W[8?xr|]#7vn>KWjYXY1awwҚOlQmw )y] + iZ:eN/:]yo*f83J᱓"TD2XGZ$台bǭ __ j1\X^\q_zvi'v7.D\YdpL>[@:/}SxC§}84xgUKsr;*H8XiW~BDlxbX%`L D/  tyC:\Bp3NkOٵa.́͞YXϜ,OFVs^GH~R% e Pw{lEL|uFNX(tҗzƠ+73SI*^ZqH0wM~'g_f u@8#TV\Q,<i4??ZlEoUB BԾђ\+HGo=JJfhwC/RR lǹ&_ZkCYovw@|X(EeUD3vP%x _!gfb[eoOэ*<ܛi?JuNl©_|E$_d1HU*D ZA󓔗UY[bdJbVbK*R3jBp5E+!?9*\8 -b ja{kU1ՃyyAm^j]?~Ao` 86׆'] k>R'62}PXa3οtFިvDOYĝ kO>YO>=.[O]|t Q/4'j U(,p ӫPbCOϓ 1OۥSo9&'\GZ=U h4ghN)$YMF{//ΫT_9'CeR95|AFK.LKzTdǾN@1VxREVWۼ軃M'Lgɯ,|Z1="* Ԉ7ic<_9#NܾG+)]K.ȅ \HIF;SAY NIDG 7!&QE>yZH} ~ k5QW3D< ^vj9a͡޷Uky/lR݀[m$vtejrQ-Ś1Ė"TgJ--ٹe :8YVc.ː[VG?:0!0nߴ9qzӥ=hKGJ:ybEFf&:(u;ݞk)vU8qS۲J LkOŢK>3??BK |!BjjE EBTg|^i:&*__ڇߌsHYM^e˼ӼA={p˅*&NX3cw0w+H& A״2G1r9Qi7}>/Z {r %IhDa5lDٌ@{^^h_ 1ɟ6 na;MC Y4 q6fVs;!к zD+_Uj/]ܨvC8F M)#~FH:h/lA3J];KCsdt; /h ekE= t}+LY PU q{RMj/rm b9Rzǀ22ka"%1Ԕ1G#QgE 38O⻏ f9xSi%50@A@ ` Bʱk2_#lBVhQE.ޗ ԃĬ*;5|j(G~);^T\Ve^ދgwbͲ绝`2YA"i`:vteni1stsZU_ᰁ%eieOe&vԢn Isfl(.|UX L܂KKTtoL8wZh##e 31ųazIdvSZl`t|G@n#98!2,NNmg QoJVo _Eەޭ2ԡ)(a:{k%1H=m;(#8O㱉XQ.>I redEh[Jxjgj++mz|,T.s+8|9k[(יu-`~-Ilڢr3C{pRY&%I J7Rg 3H Iɮx%jKe> 0ԸM98)Gfk,*C03]\ Y>,qWFSl nQ0;d*|͓x&|ԶP; %Kf\d {^&:6ZbIKc,YMڤܐ<іx)~禮f.:%^'KgWn8s4S?Jo>B9CJMؙ'ƨl:,x y~jH4a m^U# 2\Hӳ/yyC7>Fɓg.pJ ثwoa dFzLc%`"kK`(/VPujx&TQnOFo80516-%3}UỦa笙b,4) .t^(r P5c5Yxo(uuз)f(ee.J xGߡ4EaLb׬~6qS=~RzUl|.LDXb m |9UM5o#97En"ȫ00B/8^F* 5ax? F֥Ru}F|b݌ʒvZ霊4м*iCUFU6`-X%LMWx qG ֶ L^Pyry9=rՆcy=,ɢNvHIfRor$upT3舗sR5_h ƪD4qȢbA2bMRaEo LLQ[1el-D@0(:OE</>eN2@/ȫy[ Y_Z; ݭ),ߕ)+#bbơL'2߹f)mَ-nH45- 9jOTl= FI#@8 2Twd3u[\tQ;x8aX3:}vlA8E:Is7N/|fUTAvBۣ? Ik TRQ!D&D\Zp CzJJq,K's玀~cI•w9P:IX]{Vpn-qT\V`-Y=!Xݹ@ѺK{qr&50YaYL<,Еm+$"mV Ӛҡ< eIE6`Am ,@/6%`u}_6:OlgȗHJr}ikrLu>ۑ%"Xc a]j3cewq1CCoɟ샿ʇD;+N,EbDx3 qdbo+ۛtoi<T~D @X=BEm2ZryM jSmr|yxf5kW3g75 V[߇so/Ldjx6}[)A8Y zhHMD)6d[vы" Ù; ).[ʼn?ylHg%GӼ@Lp ug:LKfI xQ#/Iةp~&dSݙ^n-f L BF6 C, $Oq6ߐ)bc w}˅9NlXV@AeJnȩG =g!]He4[#ScC-ATt{Rm͇RڰON&0/5> J;|\5cX%B9Zũ5ܹ i )EU"':xŽm5dJM,! _,1Yi_lыہ@V%MB|69<GT}( N'rx ă2A@ luT#R[qpH%@8m81u{;Z@YLSgȟy/p8*34 "cyGyw\KkФ%* FN.)\$ -%>Lc.7қB{gಈ\p)f<u )v "`Ty9G3 97z= ̊$3ԋ

` N1oSىƻ`n-na% 16!Ę_|H@"wp旘l؅,DxȺFZ}A7l \}" ʳW^ɂPf)6g&G?Y7tBsVSRZJhP ]DmNG0>h'҄ ԋ^q.JnǒWԊ&Ap9:"+ -!Wrx`0SɌiQ{] w^ğ(t\(1jֈ5cLdi6ֵ M[@01α^:`i(Q{GIIo#KKRËmS4UXd&_H!;FYev?m1FK$:ifŚ熑D\Q`пp]GyʩTrZ]aDjw_w̪d4>u:C}Ӟ_y-իx" Upv9V\`EUZ Tg V)Ru ?XƪsryH ub&AmSuJ'_\]!zzJau&b0V&c%4$M=ջ+#zc5yLY˚ Z/LK5;-pD;:tAh]%8s@1oߙXx5Iߓi< WFUΠ$9SrdߘW ۆt,fwKaI _$4M C~OV>ӢB)A>` F Xܩ=i>&t$#IQ3DO7:}KAԍ%K xS|9Ȑ2kyҲ8p2L}=#`d{ ֙2Uqv>*dí~uկ.+KCG-}b Iw8gi@s@4 ݫW,LOoߠ@Lr4|R8!tE#>m[O;;:=mT.4`oGK%w\> 9u Ԯ}d-jma`e|R$Rw-JG\e /=!Lz=a¶c0mjvSqġ=gR1n/Z"`(֊C2 /h# kzx[ꑬ@^q@⣣?nZ0[֩+ʲS[o!tiI.RWwGp`؃*ź- :`C4BH&}w#g}L`:W*l PPCC{ae$A|lz/P4A6G1ެx"@owllgSW΀Vڐ½Sؘ>t V*¶9,i38cmn7Y|^a6gt7GJUnm+N ;n "ګ&kM䐆Iλ*lzv\村& 8jN~3[4';5^K^>x 2{=E\?R˶u{!uKЫҰ3Oz쎁ݮ֬:ŹtpHԯ#@2<4ΰ]G@= t†w(M2~ A[s [x"{Et?sEpO~O~lú(ж~ZlXaJTj dRCQw۰/ew~۽mVRf*coxpefa9(|-nC}?o 7aBc*Wcc'svNF/:-M4誀#/$ں>rf~?!ϊ̢]?P_*^"շ{ +tjH2[XziaUl -P͙b!(|:Li!!'C )ےCZF8eALQ $,D"/ts#}eXdM}}h`km DW?L-=8ҭ8 {K7\ wټU -@%z%#q~ڞ"I}9v_$/*Uiw. ju K 'z3Io5Ur%vs$¦Z8M)=8c.aAEq.H ,s!=N,   ~ _x)J,pt~cU$f':dm"dAmXT>ceɽTzoϠ:89a;_݉c#8!^:G4h,O|̨{&"dJDI'3o*ǎ 2agGQPZb[P]'!;Wm{ Z{Uh Ckyt^oEg jiOS,[];ơݷX* }ݾ8s-LGɊ)nN}3<~[f!؞(.1kѲ`SE"TRk ,17kH3+`o-G>˻QGLoyu z]yX(ͣf{1J}הƈᗳ5wE))D^[EC@Ɉ7YpO~CWy]ӕ!uOwuLAd!F‘h !#Bg Tw(we1]_f.  "O3v֙Pl|6ό/EMnJ.<2fĩjI^9lR {YWZ]Pm8)˵/sPM2dEAÎ$H~!Φzz}@ԒPȚX̄\r<eQA?ZB_⥒K͟IƬ'h)modn|4g&8+"Qߡ~w#'& | վa :^Еf2㗶f@zz4[s ႚ;EI{=XyIӛ̲m"RvD' IK+: NCO%8Ofͫx_@ n^%#"]EB }0a.5 g(kz c&}õ.X+Bz퇌I<[ 8s@4slRKʷ;l;{9gu}E'Oէ?n5iP Dj̷Wԩ$!<$[TfVeM!LF:+=H]f;&H"@s9~f{oaF߈Q1vLp'<!88}&+[."D^ `S"P|3E 1IpTF6\vQQgliBӄpOD]aw }*&AЗO j`( GG#_wv˿3!z6 6g=hT~+|1_t4梟rOz|Rœ! 􄩣=T*eGxܒ|wNњDJ} sevU D'%u IԫX V<*%Dy;oSq^(DcP-"FZr, k@]r _K  rfS ۠]n s+-=佴1A 9u|X"?v;gax YIMfθ$l4d'E 'L'_Hg{v#@&yXJ?t)KcS2a;C"F =xB#P.|M㙛̑5XCE{Jb*=S/z0;3zWgGɮ! nF I|Y2fc1~ 6vs(ERCr]x<EI( ˿[qOJx X+{@"*Ԑ&ms cӒn󙬠;(زis-32RXbƻ#8a&IBC[[0/3ڱ%'=cg"=oGe-.I4IME"0Es)D#US5JDWᛈaP'u<<̢CNqDdUlRj3DT[%V-們+gif /9~) hB`ROU S޴:0E?6uG}1[cNW2K^ eB&'1?(3 n}JAKF!%'ӈ~mK99Ux>n$TZ:`#VֵhŌQC 7~oz_2~yX84,@]d׬$&ed)_Mҷ#[5=)tm{ae:vK=&w#Tr/mo 5-&jVD U.)1T~WW, W]wA0,UNq&3^ O9eF;`Nٚk\7/\X#FH%NP)Ve 1݂X+Kkjll+4TY,ξ\[^eO-&H>o+jP2s~4UCMI7P>%}C/xR [+PT'=.(el"' ^*^s?<pVQV{K)1JKv8.ۘЦSȸcim(93*"DФ.1Cg0Jxm~12솜C7[4. ϥh At"N`V7>\g5Hhehgu`~DΩn%5rDta%pz]" ֦YhV{7RQEfgxYJ{24 >Zҷ~@[} Wz8[!3`RߎO+""5ݑ4AwJȀɃ2,J[5P#yp$ H"/?{ER kym6\:BZPP{iQxȯmGH2%ѳR8Eh*  ӽX4 5ooE&.zx$o:/nCSe5]pH%.gr;փU%pFָLǾyVfqR!/\oU+R>_ 5zc/-NMqHh\ڴ¢q{zkˎwBR9Nx)ngBamG M>w41%@~ C v3]A|g1,Q#.5[G;U]|׋Lz٬@9ʇ3 kZ p RsnF9}wb +: / E&I*M$/A*S5}21,֒*[ҏ9vԼHѣν 2! Ɨv\[ ]W$GGc0iannCmw4=Qd fNh}d-?_'');8د"Y$]l=7:-| ;FC3|춫T2s) 7o>տWE:rXo"Ţ;w5EhSj^8JF ^3m;-l2;_ALLl cB9~k( stAŬvSVLNs"Ű@Ϲ%BqOBw"k6n9b#}M6veY28}c9Pfas0azSЏjkmSSYpT.nyh̩͆iC Ar!'ʳMv'qSPf>1tgj1YR@Y?%\X:mRys7 g(R`TYqEl2] ph ^6e>l:G mk!?kw5wpIrD%}59@t>W&~nf~@X4uj|ߕ3Jl@Vl||^T uh@i, 1Q-`!\khI*L:cHB`_e`$DE 1vz54uOPOݳKo& Lp.R1v c7՛e(řy@ Ћ}H@eгn{JӨ["x'_^ya2,-~/܌Z/y8θF3Ml2!UUY#MχGvɺ֦7O Ma=_^):>\%b6.RxU8rRp[/+`_*c3Q7JEZc6j^~S)f6~\5UqK/|/%60SMI82j?.Q Ғ$mB<sge\7F^w"m>sF`Dcqtts;sc'C+x 8zrCpchVdkP/ M.flys=u y5׃O'&}`7zODsM3_-v/ 4hU-ocaՖ}A[A-Zl֨7>>b@$NRb%5~,EqL¾ySMAx Sz%eW̱|҄C7#UhVz[aȨ| ;,>=,y:D=\2nnD{JSQt/twT{ժ*|O.^YT*d]C'Bu0SR_kJ2/ܩnq/~҆wIf46W;m k؎eBUOOA$pPMlk8[ ė! WyEB7fj͓xI%XÏwe-@w]0{IMUo?C'JqJk۱YԹy|ܚ6TA $ڴ7La9Sd􈹑OQ.74=%>x0~ς\5]1TºYp/`#_v/i\=wW)ݩ+!/{hD݆g]M'^,miĺz@ÆoZy+_/SZGu:e~eɇ}Zsc:~S2ŧ*I᪩fUF@m)Jjˠʆ^lXBa5<`{/F92ޕJ3wRCCNأ%@&Uӱ[sSE{b]ϧW:s.Ԏ1#N^NxjP\r?uʡ@n|.:J)wp9caa'(!R bI?N1{`xf%^$~.eG>lIsV!#:uL]RAZ29jk:hiZ=EhŵV2i ooѾ^m/;z̚IխUl14>kD.bCᙪ9e 6:r,Ӝto| ib=RCV۟bڵ'~7*;Yk,T}sQ;W| d lj"uڍEZ pR9yS֐ InuCYo@!ŠiZ#4(-}:4 pi ߼/,8HIcy$?|'mMRG&43E ך" wVCt;Nxw.wmVxgv& .~ȄK=rzFPCOL䤺<0 -TcW{ jRnm?VKS׎ ?m)qb߿݌l Oi~Z_Z]ܚXo˃pUB(Tiʾ"bILʼ܁Gp[(1AAB^3N^ī 4o1Ve@$V8`+6 lfD4,! }:I>ɔn>'%RζqT7_vvsY%u@ 0ʅD0H4lЁ0Xg}]W23,bytxY\ھkQMq E5[:dž~_x L2WKoA_NĊRl,' uPm56Di XvXJ ^6Hظ*Ǐd~n";<\պ'4jPp^jos;x)x To,_4F$=.TB1DX=s J/%/n1: $4܄6zŘ.؍5ai5 a+y.0T1!S)J8XØel"S՚S51Ij+3@z4/II!18[aɅaW~cS+ee*oWfhKG6{E njfh*#4\~K^ P yyG2HkI|J&a|1*MuZ]vrZ]7S슐f0I f+ߥVYSW?Oц)Q^r-@\5~slq ͶqR3:%┢s-cT4e-Y8-rq\khIzfdA&NuȦX:hP,z<ɍOJ$$yKv9_"cz#Üw8wtF]=ߥhpOցϢ8/)lrqri;r G4!5xݥU瘟C@ה9;`YD?(^e@ H)\)8(1E׷lTO\d߹zUO'Nk dV#EI?ޝ+oYd eǮ:*CLF}!Kg񝎡~LKbz6x{Y0nVx-A˻qAh`0`nd h->kMȞrOX ̢ܷaQOf;=2 >e=âNuqfq!xu^ЭnLTCwJ-v3 v] ]lp zLtyӽD|-z/ 7W׷nز " gVSD: PW] XDDQ0˚ ^r`$u epEl/Å[ r26=Yo@وǐ|[9h]Dsiw}X"^3I M*BYMvqe7SL]Rހ3ڏ՚Ap1 Nh|nQ=sU 4~qs> N6v;.]EPl1iwn;|o]bgƜ~5Um9e{K1dZteެ:?}(ݝ:)_*XEQ'3& # @I,aZvZׂsde3i JOK-LCL̤SgGk^6>~(zH) RDof^'I݉Ϳ BE<~ O>0 ߋGw##asP-%pX0dL3^ԪUI;%Z4ߜ|^z~4 C xi!EGg1y5;増"wVc2Ī&}= F7?>sn~M",Ugb>ƆJܼOͣB`5LӼm:;萍[(Ό>Rfqa=x&‹mVDrjt ̃N@Heѷ6Vˀե Wl=,`; Ź=3@:fǜ7% }^.1ECݥvZYO4Fi74Ľ+?2Y,W86A rw!Yf( MU(|k z)ʼ1"0T8#w`gFVZHr2!V1LGI wI/zseHy(!rE$rĈkJ2; _j^AFёZu(]=JtZIką~ .6wPF]".ѣSr )p𞣘gV69ۘ"Vy(,FB=[q̝D2 ^z 58wS}ո"=K)jrep"SR^ٸl d,$E\EGr7 ߳h>xƀ#gL>̏(~A$+U9OjSg ,>lJG7.SruvM9Dz?}l$?wV>q}p(Gd  /dsu_;PFZ%aw2^ F BMl!CKls]r(ga ŸSCq%%H/0:idspڄSKQMUM9|0YW/vr-P\!X]<С#}L|LNfiHS&7dt1a,g9'Ϗ :9ڥ03q|%FܨFun<%XV=o96"dLwRv*w vnCݖu8.ob?8Gm D "]:2F+RQu#o22k&K2Ri0|K>5tɣu8L绺cb|/Ss4 rtm@I^-+ '%pǹᙁd%vgmb'Qp̄Ǧ?qgM\/Hp]P0@-DqX5tal wtT*٢Ur>^ :D3+(׳ؚvQ3bEQ,mqZ]Yjg\'mCjOf%>.w+dOKcɶyoT߉zifB&C%.#g'^ndfZiy(BB9$֠Y9S2>4I'GMWUCGADoI#!Cw]`,+# xOKMqN[ g=1U:Z ~ʚ`cNqiQv1"1A:xVWC#fnl/B'' ; ? G Fswa3fe߭`dYY&Q t}K; tͦTH׳ SRĉaݍ'ˢkc67l@ {GDn @};s&Ǹ]pqu¥qrsHt>5=*:4s);'s8XP-|vMeNfQֱi1w7#AhHR|zGLgj3X(xFPL3J+~bE<ײsSPdgĴhð+G Nou 4Y)GEijO#F1^@+ԇ~ 8,M޾?R{ tT=p93S)xd?ÜZ0M.y0nGئ0} F`i>iGZ̳xCYX2ϛK޹C>ܮM?CUR#F|\L:(l#-`K+`G\[fPV%P _=V'1aDy1,تY ,>M%Z F $n5kA9ɯ^RI? !e-BҞskӲ= ;EoyM6sːwdҩYIS&U68?PKRj Ƅ`#pCr'JK',1)}tX.oLtkԥ)N⺼k7]B:b89wNB5\7w'ATvq>#jP- u% t0q{XV DŽP7hS}F4&/Ӛr(]H)O/d= 9_v|ՊhG pC]S]PP?n`v9jN"Z]b"h ;wnGдPIr_ J:#@ l9[U%5QNYo p9{na{:\вHvqAxij'.sZFv3T~ܩX)5.p}VˌHrVlƶU6.6DŽWiF(31Pe"yuD ytmHV&mgy31 mRebcBeIR=p:W~W(AIٰ^ @ϗ :!k&P`P\QeU`!J,'-=dhexI2Wr)` . 3:J {8˷mm⟧aB \IF> K{33̲n)c6h Q&|}m(%^D1-qd kHvQlMs^+y8CStSmX9PK7:Ce+(pڹGJ?9UϥRm%>H #?]gk209R1$5?e7.8A4SF9knC20^>:zvWmmʎ̈53 ƌyH3=N=ETR;I32dxg`)0]ʲnG?v##59,@֞53Dݰ$Lû5wx&(-g&32{8Cs1D/1P8af(-mci}kMEhlJz:j@IwGFp hsiBCajճhH,`}pe2M_gˉp:mGoF;PRKkfKZ|f-7ozΰ[RRm}\E_ZfeYѹ)ll5iPNz=0#)4y(h"l[f,cPK;A,s"(C/jHTU.Yʟ|-vc4gО"ZFzunr7֛71a#\ ૽Spz$$. #mfS9FGxrV*7׽7:ߐ _mvli*a\HW^[- er!E è3i0hѕ~{ p(MzH:]7(1/kc޼X=җuzM&!t#vG~9`BKK XSPr<|5aUtOPt[>NMnh#[Vۆޱ975lOP\jn%77SAq` 7lQzJuu8y/lD|U)B CduH8vVuAk9iZY$; NP}Y)@?dnGCMgSBL^6D U|x-,H}|D%pvoGN_͔/1FjOΞO1xB<Gyxrs4-D 6J)r\M9QK_@"'yh# #5)A\&&Ij`GW``X."pAyӐ}*X-ys6wȮc(M(WI  {0V$kLb@xy[v g-EdQ-3֥vru8Smw-^4/ϏOPޫȄ%E-.:1#{rh=Bi5󧐭D&&'Q"InN T<>JUQ+$(}{6㿹P^/,h霈L\HP/\|vORgNvŽ?|VիYI_^^uLa>1oiSwV[oYD y۵V}?ժ087P 2}'^صiEDxV^," ZV.2eIS~C팳AĬF׋E0 w1+ (ɑ䗠y8hL^Pk3!*VM޾|q7MeJ\uf('Qp'RS-ƽ=UJgH~q1lcE4#@OqA(sqt_$5g{2l-ڳԛq9lYS)~i,~&ޡvt[?bM'G[e@X 8}?|Zmz\1jB@vLE7ܶaߍ;%NsV("j`ɂKky _>T;N Y!EfL#^H1`8-0mӭY$] Ϛ7d׼5w5X a7R8{H L(^QzY=:E@,bZӳ+uș[a$lοj{gXR[oqӂIr)euXi+F0d^T:!=q!՞!gӣwiij#MCiZBh7ȱFɗ S| 0h h| 㖿3*fc +&2.BwsV PxmUAUTU$7pGkFߜv,-nmhȻB@)7QD﭅ʞX>Ў^1||/˹utm##0}CSbLd,ذN} L7-'4ڄ)B]zc3d_RN: #9 Dxq.qObڍ":Kad!hK3cE4hi\hc!ϾL!{9gnѣjzT Dw-&axbM%UM/%mD^G[%/DƋ)MmR?hQ^}RN-cp+v<oJ>Ƀz>\5ѫJa,'\+XPӻ1[I[lI, [\p,mRysQ م1qAgP!,*&9{-$dmAmp+'ū*LtcPzkIpqTͣ=D]my`hA8o#E[ې=MIܽih´>ɔ@ltŜc Y TM׃mG-A2z]q܈G,2#}N{}V_X<S-M\;5NL~%-~Wv;&y~ 'Z#Uu]k$bD*_1_x~(`\P bTqF$9z-yJ$bqYqDYq-#eB4Ho"Pv)q8[îpo 7xx[BŽ6N~~0^(CM#,&d$BM!"k!uw(dYw)llʛV^uz/2JGyNӄ$7gtʗ4cCIPe r T4mtU@8(yJBbW;Kd'sW4w&r5+Y.҆B-N욃LQ{ׂ\G ~WХS@a@Æ]Æ obΪd* jDZ s10ϋIdp aa}OYAp0d A-{Ii}%Lk SoiԬJkss~U(땱 ( *z%e{$cOV /p$~4?$+i4mKyTPPg|IG/?R5rz 4my :-6D%7Cж} ohN9ϗU~țnf{dAį&66.u-JR~fՑ @>9X?z 't '%{%62LE@,a?[bG7jSHe3x"xb&Q~ U*7eny QE0n:-k Z1]°kWak*52T+ƹ-D%XĒ/S@+dPx3 !0GJ +-tߚ67B"'su @ʻh ݢ%{lE.uWhE$[U(ò'v+n%ȍ7W9:eExWM"rMkp.Gu6Eh҄ŠMruࠚaNLԀ\k)Tț{oBzLQqY珑8Н/źTD^'*ޞ~n0bP=䰚a>>&2̰CϙOCEKɮמW*U|b}kx 9ˍ|9;X 7?sйrUj[dži[JM#^$1- +8 ƌ<n)l1*q" ܸ!,8Oc󀵥&x<%½ƅ`@eHUɓU 3)Kgf \{+@4is`^_DeYlaKPh$-JWչh[ὤ4teEƬFA vY7G|<_uu)Jbſ_J?ͺ.`0~7WB LS٨ )N_5Hx*?oam^1}_2ˋGAx@>g\,oc'9YStuwo 2+5cI, i&*yf5,TR"b"P|5\5={`θjѧњyѰ)6|5m{GwGzv_.py :6;s:"r.s}9.J$0o@4}E0+dBaȢ VཟaJԨڤBŤ9NJ,B{%i;]I^,:^ݗᒙ;p$/rtLrێtA:ūvP]2T3̒{\eܩ:gV@>,6QP&Qt1K3"vPoj vFJg"B۪L|@<¶S@c+)`;lOM(/t8ye@&= 8lO <t=s T#љG[<iXJ-᲍x+X*2zQZU0a/f}G := վЬ]URCc3eH .mmr so[*XjZcF^.eY7#cQ6ڈ'fD!=]=&od bbuh r/xb88\v kEN;F~~OJC@'t֬ߑa+C߮t41OLt Mg".ϯԫIM߫{oP RhNJ2ʷJ!C3 SU nY SkV.]߷߃36pJ=:E*|8& !H.qm̉;dqu:*W/;k/fZL~z: A8p 4 uK+zPnuSRjκY a _s=D(- vQxzF&Wg C`( \IT9pT gK 8|5:#3oNf}pSEQgJnYϩvmWOrLPpvH?M}HB)wH{xr,Oэ[7\VK?e =sl9*yxHU+jt`X4W 7@n!5!Q0C6ɊYǠS\|f$x=2?zo29XF$8pKOFi1H3i!)+|G0C=-wNM3ӬЉ3 Ѩoq88ɾv|5Qk~籅GW~:=OJ/*3Mɜi_ 0\oS5+<xԔw"8/Q`B,Cn*G)uIYشt2<n=Ώqs@<(kvA+;~S^2&Lxo6޾7 _U@_?d>`h2wy9#Þyzw<"QY8x6`Zaۢf v!?+HkqѪB|ߨk/;9`()NHL.ܣj|б»gvX(d!O5;8c5j|_z|Sq 0z>Mqg?_ $Xj:D ,J3 $9ovE֡@AչRPKJ8CR70q Ŷn0 mܫyW2U9ϔXLEɁ쬉-& TοI_!Ć\IJٱo ~̵J'>*wa VawѹOt A!w#9uφ6y횫5L1(eT^!_|v'k͑l=ġ,E[ߤJqz4'NIjruq>48+ _kcOE@.j @?Mg >yÉvˣ$$?fu2 ʪ \dir8CTbXf_TU=G&9d_ _gVZH;{[bI1a$16Dg*U8Ńr}'}luG +gZ54wş'9_2XOgEͪ뵑CF)W a5];u7NÞ݀ 2 DٸI )HI$fK3.wm2P/QKDzub":8{}2):X\tкC`kWҽ蝼 yb<|)۬0Wiҁ΢K٥eU@ogPF_)":ݘc{}EJQoP ]|F[+giT٪YuvO @@Ih0LAoFK ccǑ)' 7 2=b~8ϯ@t/a4Ώ&F Ʀ,g]S=m(ms/Ӡ% 1x Aʙ@/ BQOXsݱ۾r=z%X>ӟ21#7 rNS)?z և%`n5S7UN?Rɦ9Y>޽`A~:Zz% Ih"g%#>SU` 1ٕ ') T9$>-Mz"{7- wFhD%>>6w+"0~ ANRO?s.loJoĚY3Z[9ʭ\)A}+\}D >F0VƯzIoU 3 }s; -VUD:s(jQx?f(,iS3ulcB}.cWzvg 0w$>s{rB7 4y[fe wӃ5C'wCB3*5# {A$bdʎKܧGQZ~ذ҉t;89]tng3R@~<{RZ"lN>6.Q=FHdxTε<`JBIs燥r4?ԄFS~(~a/2=|Ƙ"UR.=x;@Ḙc߸y;IO> Fg*.Ik4$$߽5f+`n,AJClؿN_W"7~ 묑1/Y2Q1VfM^ԷÁV,a4Jw09eK^Li;T4|Sjy*q!fWMPf<"o33ٔ#}dV<"Sڊp} d}Ī%_`GI]>֖mC'Y8{mS˲I $&f0MQӔ姬7QGD 'x̟Nt %o+enDCiO19&w'Ī*_J 0i_ʱF+ 'mk=rߛ 2p;Y"<XqJX_!9Tvd@(*\Ml3?? :M1U`\a Up|>,ܾ%|[ AGu©Kt1(7:YXl$ $2w `b8B9;% UnKTCrKSFM~@o*YpNƖEǀ?E$Ѥ?҉|}BקDC[gE4zx㒱wycЄ" NAGcnѡ"[0G_ܗ 25cn/JghW D*Id'TJ|GI2fjior3"K Gj<ԕo,%?K%!Q>dV: `=:j7x%9%[kXF8$M*k{"v$J(Zw(n`Xfؤw,IYEP"ha=W>R/N}4g/A|- y9kOP2XXgx@]:&ߏt/ćUI:!X|F*ÿXOA?'ķ;_ցiGei-vР줠U#8Q$O3\Te\7My;V>{};&[\efXz65?'Sb?zdVaP)$8N[\ j"NTG_f&ow&dGtio{H]FCtX >͌F'Š! `&3'/Heé46d(+U'%He%>cd?HY@/WAZp+h=D?"~3cUv1J"ɛNzy C K[ s S4o@=!߁[ɒ ` % d9np21+?b/oAR ve}yʳμsKLq=NVb~5UE2ŢXeUi B!lhQć!2 #CFa-S`&(aGl7۟bMstfi}C\(wP9[Ueph4Å36?sC! k/b<.P'M!/8-6C~J9CC4ZR!(Y;vr"L][A ^g puSjLF! c;j0[22z?olqgn2#?u&֌q }P } 5z;a/`qh^}?8 E}]YEBԁR{РD5&ү M:ajxc;,""Aagڴ602H?Yˀԕ EKZ V.Ɵ\R EfYսn{59!k"G1͆^\ăqNJGHlPm;a]8(⠡R\FK ) " oQb0) aDKNQbBoeKA}k-xe~o>WWx{2SYDtA/ϝo9^nCڭ (oF, aqr >d;j۟s4zոRxn]$9͕k3ڡ@X8>hVC^u8bhceM\>tfZ^1!YʘKX~5\҄bX I*RoOzUDVT#I"[p O3/?73KPi_j:Oc}PķWXO>FIs<q@7qRA6sL*=3Yӓz5 FR `5E#5t½Qa/]Y<*YJgOs2>hv X607gOf $nQD/._dVuUnu=*!m(p9[tGI#jmA)*<V{;|k/ >e`r2ڈ? p7ٗ`|TA^C;kɮܣ8@vt;5`LI3P({p5)WV [ %B ?\`idΚ Ts$6)^CC f+# A#ʛZ1V2u-P' 衍'3k5^5!ރGPRyFڣ 8Ndu#oG咉Ij VJPNxW!D6gIxZ|,7jxOiP_1DW~ɭQl#}J<ZM۳)BGGk4RyQQG7 ԏ(gw鋟Z;!2 T __,LPk(ɥAIECX5VTiiwߩ6%4=^8q2ZM!J4xľOJ^F ҡRXuQBѯvۿW$ We߽{ Ir2!մe+"]rV2e&$Pr(2VX  ]}D4L\ue=;1\X>N|@#rwV{W$DA*N\5/yZb+ԇJ&ȺFSŎ ]`%0?_sUD37 2j=} y_`􇊊2E^v]`6JSKR!24GYII KL֦kT~17v.=1?Kc~|1hrѯk`_:` 1<3h> Z hxX\l|I0_e^LÂ\5d;:a=gKOO7>Dͥ&v:$p,@?͡#8^) 2p_{AuFJ%bx"lv X?CQ%>Cu.r}Z=ޕ81S"bR{ c2.Ҁ}4DRe<:F)r#fSVws3J2wW: AO θG<+ީYd5>H(<\yb+7/%m;jvoj[ )utò\7W\ќΗY;2KN4VƉ&)J^qPねfyz\. y[1*̬m SӁLC,#{PX$(Qԇ^A \+H9w! SNr*NCP-,ؓ4t )x5h7/ZNaVϺ:9ߦ06^qD\ZZ]%NźrZF(3_,JUMpcBlZȪYK(|z7xF(B3oWr=UH<79[$Λ"NJIgœ6LJEØRC >j'54xZnBv8d!`t@sso=sL=}om,Cs㶒]g҇RP&nz ]$ðvNrFÛYݱ9:Gy6*!]WIj3Lvv74 C}0@@/7@ ÖI5 ܏+(VtP>m_fvUr-I)iؿޮ~mm_ +Olg=4~fE.YgxR [z Aɦ |q3eTeFFSՋ같;&bz sM\Ya}rc2NLf+.Yjτ MNg~8XF[&%CmGڤzM5'-E[ƨ b(KL{(ӊæv@XȤ  4k^ʦQڵfXçjw@iC]X&{G7BEToci_w׽T·Wr9><÷TK[nF]r2c}2mqU0ݰw+E[qn+1e pYDJǰpЙrˌ;((@_94At؛.AznڂSK`ɗi&#~}{xF'y׻tO pDy ꕅٗ:F_ZgFtCcDer -fX;LTyN2[aACpoZ}`qOCJ鴝9ݾvmeq 3]>* 浟r9S4WF+!q ^7!IC)n w]h'0ߏT[$<Z(M횱Ӵu, De 8:z^>/N@fq,"dQ#W1Ө$6EcnTࢠyC9"-)IRH.,wn \zOS%Ꮾ"{L@@2G^\w9>d?êtfmla?KjݷrSjf7{jvj6&m6)&] 0 eB?huC|fS#x&Rпc`\Go(F~|NG}93!pl yYھ =[,m$,'{eϑgꜶgf ޖjy(h̿RLdC &ԣ8񞬛(ׄVܼ﹗F`)'eg \*TF_kF zByox +LIz) Ce[fo.eOBT_q&Or {jިO<pFD$DPYB B@m1\pit+;ZD&B Ô+l/B HȬtkvW "NF䇆|*V1c!\OaݭPܧ]FǼ9˻ZE3񀴯h}kHNL>ln(g"xK@Lڡo}9P]4-xF/zk]kff)H  Dvq(@&*MdK 2BjpHsh`'k"xpwv ˚+~[2Iϒ6|SDfI0PZ MWzK,KL(7GQ}fu} %+#BcTVi\-WĹ#GgɸxaB EJ!Y᷅/_cCQCBwwc>2S%B+Nh}CH]̨G3mpS~â˗KuD d .,:+kU uTi+'y|ܼ{my:1.aOX  gIhK Vxf-WmEb/u3m&Y;7uXhplV@㽛:vV!џ7Lz U]vqE4nC53Rp_]: 󔧙"QjVUR f|,OR4rF%O <[BVQ(G/ #hv=Ԃʎ g7Į wүr y0(}vaN>^"Xhj##Co%s1g\mmkft)ԁ?5LUø4ri=Z(|D>tyԡqjb˼h,4aDCQÃ0VlmŇQJW,Yr׈h}Uny1MQ  Y^3lnLLƟ:F(FüぶD^OV >DMF^^gY2v4dWY0WYX4,y+ޢCkŝA}|A[qd'4T+|G"L>BV=NS=(Q`Cc>ײGU V?LJ,hx`)xܫܕʋHא=]g>l,x&H~/ד%zx6$KFqz <{~-6&&zx nK7{qM"=WpLYNE$R ZqӺ c#8k7O[돂'%zѮX|1CnPQTwlH fG; 5+99'L ԃ$<).ۥ]&؃r4g 6.v_ Bi%(IjPZׂB*0ѴLs*qkZ`K'˙8phC kݯFZL_:2jEBl YNJp"/]Gmu‘48/q!onG^+gHS +6Y0yhL&w_t)(+t:5Hi#9ӮVc7å͓/+!79)Ϧ/]0V1uN톧|̕A}e8)o[P{9 "5 AkkB1< $0{ЫN,LGj$v8`2X '5bQՊׂm¥$!-iҀTnޢ0oUI`LDl5D RG˲X:ylq{ [(;ކ;TQ*2pA,@YHdR\+yKs^L[ޙ/A_DQ`$TJ K@REGAh`EL+;dKSO! Vb"גO1{)r~NBK!ܿK~ 6G$+)T YfTV,Sĸb dw%ߎCj=aθ*}x;UH ~f˚d$1M}BE2k}ゖVKf<,؋'џڍAc/ϡYN%m -b)PҮydʦp){&$a z8c,`]fr9Gh/| 3hp i'V]}I*N sRvβU47#Y[Fj(.x=bEj8W &y ev/ 9*8d .I!ݔE2wZ @HҮm .RÄ,Kt\~աHتO@d^q^?f%sƫ]MDfL;/-&R%=ՇշkUr]͓$:2_Ɂf> zK q'٬@qo[k D4 #JP g=׶j{/>{'gSrؔ^`\J@[Y]kq[hs(8ٗ)"!UVBl+}nFqnEA.8OȘ|2M6wGon_bZ[ /qut0,jy)7F\!9Z:\bmѻGRQlUy \ؼ?,h,- -ɓ*1ϗ\,R$qYSj-Gy*FS]))L+EY2i&8f Ђ&ok&+.,p>VŇiIoȫ<eoY06{RbrR:̩Aru!u J5< / wLXH⑐2Ł%,fV qqߥ~!h;<|kU dV[8IzBHO]G![0bQAE˃1 p3`:J+O{gNѵ%-5BU} د[4A3:N"#TG $i! = ռTࡻ蟗+*vF H^X:kk]Qfom^=]_ܾiU Fb})MY}74)]='-׹hLVT?7]Ҫ}3?"9U1dݢET|ͥ)4u#<-MzkKb=UZDTdn\wy9$OALNQI]h %(?!X}c%[Gqۓ'kp./;D$ُ @dԵW iC}|I*Ģ$SaL%_! {b,]=]U);hj03Y"p^%Mj簄MT&98sf"o.%4G*D:70R9*Y)?^Xzُ=4}ˏG_# e V3)Z|1;VRUf:@3ޞ(, quuNdYNr^6%j]PPy}3 >y)҃V@OAcWIC~ 87X7c1wuQ楹Dcج cwy]ܘtaݝ#L,H~p bHӕ, Ï)g-tƒ?p]vHbI~=G"nMu Qv`>687pp'eۮl `~_Ҋfmw^L-Y@ZOфӷ3<܁um#ߜlrw|- FH+1O#3jkVsoMvL$ϛL^Wd3 ~y1F#;[#\W4llxk(0F(~A( _b jPcp{ZDHw<0WԳ**Gv [bsIq.yU{Ƈ̈́תi Je ys<#TG+lC}vim Zufl*Q{-"#7"Eulٳ+"PaH4PmE|UMӝ8ا92GC|B0L 6:Ff-X m2$:M :mJ󀇔$D#k=']%)ȉ>fX7B!,*KF3D vZA}@UC~X GSxwf-1tiRQ5s,Kہ/\YvZȑo~Ȱ) )zf m*P2,%y<>8Սh0٫ǶZw_z `Ɖ?3Fg֊ucaUmRU#62M➯Cٲ4PaEAal3a3o|9i֧iMAbN9D|$B':6⃒@Gn_ ’3:EiouȒm+pbzW["_pnM[!6QXw?-? FN/W\pfş<Kw9xS\cw_woì5bSYipLĭm/^h_wDKf(WCp-Ej<,葇{5'- –T;:,^,?Y ݌~:0F{ D '#KOj4؜N>]aqo(ibyozՔLӆ?kNaF 4fsa&~x4/OYT<3#5׻W37bsUѼ$̤`=s|1e ~27_#l jQj޸}G =^Cs*F?g{v/r\@=ahFYS*Nt iyyY.9pT 6~J+sz3^N! &GHI)&J]޳/s9Ϲ).o~Iz9Q! D1 Ji!NUZpx\G,pہ c=@#@*:ٺd?/ &m%~zH,B_] \lu(<0_Kp¦%u٫QApP85#u-CgK #`=JŤL܂g)!@KRx r&IIHeJ7,)Md:*g@O/]O1>=lXGc3 g@*3ue\Nm>%} UJvw,R94,~p[i-XEm`[uƀ*>A:*y!w+SN9ĝ p؇_]t,lL0ǿ}J0*K&;/:Nΰ#,IڦҖfhaI* peyq.1ióe"=".{<bYw cQvO2moQ[2w ε=F,a]RF$:QtEצkSveOJ">[ԫfm MX}\.1m+(-&i?{~`퍜SUf*L3'. Z0g s2_ Ywn &Z[ yWDi*GE}[J,8СtT(2ښ`U`"gk!$ϟݔ^MOKiD8l.Š,c<'Ld} Xd|u} Pðmz]d"LhF-[4 w)Ҷ#ylSmX4{gy׃~^x"- 6!$%X#lcMu)bZ _3k>y4 ;" TiX0T̒gbmAd㨮mL\Z~̲]k.zVex &哅+.ŷ= x0-.hQ- #F/,4 L7W71-*H*NjeSTeC%*5|/9C m|w<q |oD~RoMgr;3bq(a8$idJlD73$ KwlunK1^_&eYq-Q\eTM%Xl䵦t6UX~RԥBg7KW:~xoſIOsoy&A$RrTcH!J (~lRL@htG,VUKwx]5Z6 qmߪTokDMF^qxg%wCv ۇNCCrPDըf!9G;1|)'l<tJPi-fj{Zia ;ºl& vN༫ :2/ce^j[Ȧ}zU4u8]yox%B~U'u"$Q4c鵚6Xw}=CA'.?ipGE2ނ%B ~K9ǃ2MpnlJ/JjR~| 9~%ZGpH~-J'y$)ԡjVW(],ra, m,yo0$3PgD@gj#4I;(*[ld;>Ҍ s o6?`l.jrY 醁*Vhq/}/_d%TeQj7':?> f~r ab34g+?v .ocs=o؈,3>+as]>M5 WR67丂T!Qj6 hV[aFt~najF,v$0 `vvJwnS"Wjez9hVDn*Wrdo^ UxˇI*)H/_pOz!]O*QIfO!qH1unE4Szt,AM9Ŵ(S5M:N{DzAIǷ+"+)ϑv0G.m4 +Us#vsm4OW;Pcpo^Biu?;HǡN$5};J>@NY>ה!jbAZLЕOdDZ-ۭ"oxSuyh^C322roqt0چ4;Wsc 7Ig8J* ~Z ,d3+Pl/JBw>%!q0I3oc!oxʾN ':Jz'7ϡ-Z695ޱg=tvldf/(~v#2,D,*VWq\yA~!ġqNG%7 B64K> (*I$4&i=ELL/q`&J䑀g >ĴDžFd̺*.5E][yKwVכn"d5 }*ll˝Jk}l" j.7O_ĜD ؖ geD+ YE+,$}ɤ ulxsgYRS&As#d[!;ŷNXZ*HԺE(\s᳨| ^1UkOB*cn"P`)Uw܊yo(aYX[ UVŷQ`koI>ׂ{iGzjVe)dz_W#.uq),XIe:`b츢&JF㲁)Q_u&EI%VBX'.'*+n_=Z*V\>&\cL c!e DSծn!YaeCU:<%ap1[=zj{:l7u=5I $='jZ!>\_,B@5TP:Ztv-M[lI1BMh$A`|9Z,la ߚؕVDZH4l'kc1d23.\ =[,4*qU*&Ac<p myM4BuGcgkp[8c|әK pi\a lA"c+I\bTDţZ#MYԇFblcs \6Bn;+=(\!~y͒na/VopM@lZ1,(6E:Gcv؃+ȭ͟!Fy_B$9}B96R8Y] xĨI­ap{^hquUg+pz;6C@[ YkDr9Xe .I [ r IА-3L-Y`,OYZs <\X~/lY#vC"`Qj|# )ȼ3p$fE*YGNх 1C2C%:NˍZȂceLڇ9 b-Fg H liߏ2bg[6Zɥf+/2 Vc;0OܮnYzXxZӭ+iZXu.|)>3:Y$DHܐI HH$.gۣeoÎaL{AP2X3e!82{r3 \f0Z$o7fCfBF 6AdO*$v7Ceb#6L]޹i'/33Se:m8BAsG>e2Y ¶lAʲ-US-X]pNҚȟw4aPA0 D5 $Aj; ~>8eMbJѱ^r9w&\mnmCK w!YC'$r ٱC]{]#e]eMQ^Xzd T9|#1,NTlS WC쒬9X!iBБq B+Fibrl:1M*@93{ݭ1{ވZ]Yc}휼Ew^:`G*P;j[  Nr`-X͊i`J$LpO oZ?'f2VSȼÙ|d)EiERc/ E {1uOl("$5dӮf7:tP$4 :>eό5q1ƣP! v%-RV# MyZT]UDdY3{gcxz1;.,ei ت5#yCX{>c Cn7%2B ;Ϙh&EE,!-)Ϗv~* QsLf1k6 p͜UgFYYt]Tvpܹ$AA _>{1)FypdNJ"A" ` !f" b0CD1DDD1 DCDD2CD@`DD@ADDDD0@ACLBad(&~G='B~+YZ4(DCunAv uU;gr?KTZ:qgY.ϢꌛFK)f&L$7D RGnU4:^ƾ`:’S 5'AWj"#"Q'$ꊈ" g پK~g8w š6LO)mEL=ev[1Jʻ;Ǿ0bʍ0d5Q`lr5 )Py}{>fuKh̄aƐQ'a( )RRJERdZTFU]jϊlE9T HMh z)Ar!H;oEc@.0 7h'2)A%(Q 9[fAPSiP p PG3 E3LP4tG79"*"U#Mwp@䪛H?}(LE8@#O:P UUCǁ +z UC%xtK250ġ10Ja&pJ"f)B3BfeZ@s0% $ A1QP@D(yTz@H%U7QpGD"BreI& Ce3T4\.&&S lCfNB &@¶QDz܅GRm(".ÙEA"E@Sbv$R؅W 0'l\%wƉ4"!9hւ!alCܠzy46.DHPI4$Ab$v6""0v4b*m N)JU:!01\ve/#F`)4!ȉB\]\ę6UbAM.Ġ j "%8B'hLp H cKBKl V2YL#3^Dn@ TMXFtHDBp F b\ˉa%mA i!'@Ch7CiU9@!(D (HpQ6%nB!aLB Lm "\6](Յave؀#,ߔܔOi)̄";CD#".Ĩ"zt-IGc B pj4<hؚ4@fl@AP4KBsN;f-`# 306]-5^3fdZl̶]QMfi Kz KfQ~0PdA9ٶb$$F@7A:7l lӂ8a3NeHl`s$Cb4BJ!b*ؔܔXw`aE9 (D(R0bhZ0sf7 .B V1|E"P8!Dn6)# ) ! D&l4a{0*Q ȍdl%%D7 Q* h@;؉DxȘ ^8yh@kb8DRsFbPMo-$bMf"Ȝ%*Pى#S5h1)Pz`s٧dr Csc"lu 9qUSfD٠&(AL)sP! 7!]6 0Nc qBIM ,0@8lXPp)fѣT- *RQ.JQ-.-4jDӠ٭ QhH"XhNh4RQ!aBT`Cj0B2A@hb oRf.tQ9e a6' Cb6ܔ`niHM$ؐ"0D^ ,YҜ Ehh RD &aH-B !9b63Œ"M]0JojB`nD)@]! dR|NcV '(&œ8o& M޸i sMDI ւAH"a1a&ĨhN$ hw$bWD<ދpd80ɁCe4 (!9p6U $0`0%݀4P5khIpЄɔrf  FJ rA-g MefqJ$LQTs_ %ܕ^|F$_drrPBJ!PC!(ɄȔ@̀8(p%%KG{BMQHJ }-`l-)iC5 R4k4N9o+сbHr%M:3hP)ІT@CDAKJPPUoN{"D A؉ݐ^6! NAԖH^^9aGi.Cf:H^GD !A3"a(|S<45Y/2TXsTxl PQfQ: p ^QJ4!$'pօHZU]q2 `9"X^$RĻK |x̴Hn i f>q'\(M#A9钊J8:CM,BQlg| 6cbp P_U 5I@# ap"G\uo@* rB:@5$P>@)\^@z^DP4%)Cf`P=㉚Ǚ!L clNd0rM2Dd:b"9$.K{#$w& 1n he 3 ,+ POHJOWFd PvC-AEP$y+\g!S@<Lܐv^PL$\=̯pW #tj "d;l1F );~/MRrD4HtɊ*e]H?ǀ B!@i,cH(T"ШQAd fM #]SI(( $I') U܄X~ca5$ZǓocWmey)ˀǯ;>8h*wU$9IerQڪdsu+ Hc)kYG(l34jFU-!&KIG19_#ؓ呝>9'7HwsS5(߳:˩9ڦ޺ٔ+ha##Hw=;f`[=.q(֞%G{;WpH*3F|w7H+b Scn̺em5Ʊe/jV * T_hWK}+viy6=5StDE+V=]>6<''t7>v 11Vyd:qPu{#I^rX'D`,`%JƘ)H,XOW0"'L)^O2KLw{P`LO'=}::-%|q|j3R9}TV%wp4/$"?ɦosա2tVJ?jIWzo-M\?Wxl:t*Mv¤ϣYT#]^1??>sgnef*&v&'*':9 | mT~ɷnׯÚ_}r^$%=B`T RsXQϷ"T@Bx?yp`*PRm^m9+-νljkwtSRY՞RU]+.JV`rUUe'_S,%?ǹ>c8))M,оhCvѷ}gu}oŜ'A8!h,!@0B((’^b n0K8\2K[SS`>|+e[VjX ITBJpسXkg>_2l:\: 2^z4wܵ!TOnOP5U*8j( Š >8^NDK SÒȮÒ_BI?'gMӑnWkPҮ“TrLXp5Ngt[+u0QžS߹'QJ(@@v$a0chƉo~DNi^o;_BL-4JV!߼'uvyd x~:'#${$WІPhb CmEqbirN͂9# PI$Ou>Dr\L 5IS/_3c/yYGu;Dh [$` †q]rm 85Hq[_ j dCYXC]\,i/?J)h&r4᷍5VEg' 2`.,?/qw^gQfw zk5Wr]|%Ui^-Gv-)Ih,:7OleH%#BFe/0^J2`-0}(AA5O|+>wU4%RC-S;aGI5@`|;}l 8ԓ \y . "hCj1yWҔKӜz5tPH =g@^\e+ /n$)]k<Km;Ҏ t!9,A)B_Nl7J]YKMܧgl6iSe8ZtNĀTG-aߪq9'h,U: E~ͤB|׏'>{7]glBh 7Q [8`P!@P $w8|k )CSWyy?Z y3ոeS+7<}nGWJR= JRb IxR %)3|Rn9)>~awbH _ PA!{+!rh4uԘCk.=|l!;3<%Y$B~4jwAͭ!(HILb`[;rO_ 9"tBCuz^c4ۅC}m٭YwhZB[ہn\]ҪEpӦqȌۤu+p|1:'&xlKCGBPyY0b`>!rB8ס דSz?4fY$!CBd)YmTNz@]YD{mYSx dozvX}Yb1HWsl2j ^6$C^3RjXi.Z%қ6CTRh{W4p_oՆro^XKAf62qfJɕc .#0.kʋ&}UIB]tp+kvA{uv^Wb˦f=|YY ;dULd>dpKsD+o_F\RuB^*Bᨬ1DC@UUZ`7c_9셙5οYn`Zk Z\$BD`Ɨ]G%j +s2c5ߙԞ[t:{Zć!*+ղPϰ]|QoOarB[[mv]T/G:pm3k*g=?;7m)Kha&J3}žR=a51Oq>veo[8(F-g:ǎjة\/["A͊|-<~"&f/Bàx44G)r8>lR3]uritqQ}WC])))6ӪIۓv6M&/VSv 7ҥpn7͈W6e m'/w952h>Ui7f.U2Kا Jr_[s¶w;{4u.qWdlXacϴɼXe\XbAKS%TI/Um]/'[N6܇>'t%Fړ/9Qf"qZ.KdPU꺶$w!:\XCfy{rFȬQ)V&iS.jx3[i?_7)6!i VIBӀd'wii51\nA%u[vb y`i"Z!ܹ8 tx9S 4>wo}6Kugtk~$g!q>kW:0u. 7=,CjZlךX(7bo^*OˢedTh5t;zŵ~;񷚥{zJ4$ڵ[a %d6{.[ت$@y~^z>+hyOy==%3*q5k=<_3ĸ?<2 n(`8F u@ݯu1%q04\tAAⱐ!Z1H'9T0zVXz3e7n7op]kD`/BfvUL|IyeCtCl5J+,=#SXU ^n IݨBl07ќlF Po湶̯VgYP-XE~Ro CY8.$낯$nm;Yse4;ދky7#Y3eAAH&09922gbD6{}OUlc-v5y@$5:_n4ׯfcQ'=-g*8^=CZ#I΂YY]i0c =, F8P }0 7qʸ7ZXtZYZScSwᯍ^JrJ<#'G`EO{/Mmp_h%:_`۠Gq]'/U{ _Rg,ץn9jPzϥ')N8d8y lrolw&YGkjI0{q 'ZcLf'iu7s˳ʷ_%`+BJSUůхAV.6cdݣkm^'nF<+-oj۹}|ş= |#'ZLxm&bw+] H Wrx) O|bM?U;D8[Bf^5ݿGs~XX~=,S_ +ATB5kMj@?34kzuOv8B큐. -'Acw"L@ V_fUG (m=l/r4}3)DZ348?g/s)և1l3Z0"(_IRѳk؏.6' =qbz-fB7nƫ^2<;if>qar'={ժom4B+2ûte>Pх{^9(AYa6Z>ğO =옎 kdWp׽FO;D( t2t9譟 5=ބAԃw5mmQmӨ<,K/,,[]C{ƺ\2i:5ϣ`FϨj5 ] Շjo.t9}OYKm:gBpGPqlթggؓӴxO{JξV&- yOi<@Bg,!6y_.UZ23_>~sm;)i} L43mO͖uez[}Kc~/ߩ&?8p:bקOL +63WS`?JO+*uYv{8+ETv^}b~q:>1ݐx)@!F062.{?w]ĴLF]DpϮ=Wc>QN*u&^ㆷEntg7⦩yYz:D.wcr0WsLvvk9ij@!-Vi#R'(L@ knq{^jEqFd䴆eՌHr>ql\ΐ-R3t?A>G};O1lz{u)ֹ2>Uc\y"o4tĹ@b@]ab~lIk >K%4mn BU7Yt2t+;K*d;ٴ rZEbt +zO9R|޲CᱱW_&oݿEsiګuN*5xYʡҿ "GF՘\nwާWrw O#DNuv*Tbn(,5{bg?ǿ,3<LOR ;+g9AKmi)Hc'?ō4d9ύ3?ЫMj-æڍ1[e1 Š9}ch *rUimjVF";,sK'{KZu{l9gr}.rܮҲEajVaU}_N?x!a)%i9~׎T͘-*/cN٦;y1@6 Z., PO4kj+}W+֩WbqwQ612Tisjj6OWq`>nґw]l֌YB~, :>/㣂't;h_ݯR9B_./SIc}٨NsS}LKmNQGʕONbp~24 ۨ?QbѽbKԗd*WLHч{cyNݾQ'r` VXq]x G+vNL֩nj=ggݞMfFs4yw[|=UrͲ`J*荧sͻPܜ7KnI$OnyYq'8ruR0vӺc^8Q-Y]} bF)ߵShjMbznkZ/ėO9qSK%>3a4zm:;/)\#)+YAR|Q7T=J>Aܿ~ɼ+cONӵWZ|r(ӶAM{^ܘc56։=jWtn;X*0NKP{d+vdݱ*1y>3=XUi6W=oGm\<6YF h-M{bD5}'xcϾQmfFqˮJg~g"u:OJVP*UVC[WoЏ/Ò1MBs!|>̇uMUɪQA=>k2q!*|S$%#F-jpn`FΏLuM%5UM[ڮ hҟv=Ӆ'PmM{&rÈྒྷ.sν[/eهUd tVl՞RZ#ro;泡G OP%"  . 4;p4Kjʋg?2ë!\'WIsm@sեd#ZF4eDK6=S.)US/f;[XQq=yPq _&+.himT%eA&$3f|; 3d-O{Θ7OP6})-tң GfcŏAVtQ߱wpT4{ΊxѬsb$<'Г=奟H99w3{=&>lk.7u37lR${0!z>}QUc^gO͙".IËӊdxwfyOƟ=B%MVlK׬<ܘxOo$oݤmgd3b dl=ovxR%e=C/5<FySo/o; WmsK b*=҃BLgԬ%#SFiSfQ.v=>;$jetoVtLW"LA]c>$%,Xw:6r'H= ;jzSi'UkVnî2{13?G0(.RozZ(]PU`@M^=55paIChnWK(J?p=p*;ϼ8N,N-m?BgP)4Їj,>VZ?8ɩn1g=2y"4"O(Ehk˻Cz;jfIoxqR4BɩڇDXv:e4K"Fӱ#kQn=C$ފ*qKMA9UNpg] a\ ֩Ε2g$.{ hLW;Љ{.6~pn@7 R>;|YI3uI,=:jW{"[nZ1ǞmKh~N(Dl w+'SZf=3Nu~wީ&lؘ'ޏ;sSѴThhþ,Y2Q̋.ҚT%ã ٙq]Ə#{{?P}E?@o ݖ[JQ1lP~ %R6]guJcY{ S]gGӻ̴Qu_RK8_\Qͧj yoѱJ^nlI.*LhAv&ɘ'蟉ӽS2s ?ܶDU\[8ݓzD_6tL/xу]ToPfbSƕqί*py6MZ*:y({3q:)49pvmxvlYWrO/>,:|lyafkgcc5E)b""(*" (E {e Xf5E5M M$T1UETQDAHRAKI1MRDDSTLE!E)DDU1 CE%-E%$TLDBfZv*B*h*i) )(F5$M5HLPUS(at1Y, {>394ޚzvĪ,CW S)iHQ+*%){t ÑƊTS. bTAk\5p7F2)HiwxMZ E1 IEQbQD\ M0+ lC(;QgɊ;y+EG!DF5Apb%T=M{٭*>rـ>ATmn{\vdguz؟{ a. 8MℚaOӀo# < q<{9cǫ6}O9gr1ߏO=(uW^pQS ~@V0 JR%|Vp`B|A/HvH|F^pŶz?fA} :׫O 9Jw&"y#P+uѠ6?(M50L H`c"5ڞP"l), x!9I I! 0rQbDÒm#Ģg̕=ACE,q`2"C}VPXS kZAsߓ'}}S{>W|~5U 9z:Aw0>RA %7I%#Poeo{Jot[w}y{I';/.lC B5-?秙2 Fi3>c•EjUo'\9+eMk:C=ldBS L*pc<8{밍! _]Cp%zoB]+Ϙ'xƢ'pCpqyL0@4FsE쟉zoʦwl0~O#Zwzozw w^*o斏pߚV]` L.}t{ Th,(׋h.`2YPLj0(5ҼL)';{6 u.%l@5nGCaU@C8v{-a!,Ն``{lmOdH()\~4'py'Skʹ)D>8v+/CU=r+%TխVbZg[%»d2Exc4mҵ!<$p ݡѲ})1&>9CdꯖivbWl5 O{ S7Ua@p69+ Ҋub7G_=%O;`FU7 HjT1W=^oy(qjq(#>a}Q ߹G7:#%InިL_K~vn6KTim$J}iYWG~ɻ{nSh ^nihol6j'BrҰc/_L5'뒍SҷMY7G`EhK1.~qn>};ϑLN8] kJY猅Nr 2 n]S@`I)-='[Dٱ˃E9jGf539%ṡҫe5t"=3v6S6+)Ó_n藹VTN <>5<2av2țZROp|xG({]<7m *IrG9n/UpWU_:)N6^AuϙА;*-aѺ~`/mlLJLMF}kjʙ;9Rd1gY=h'-n ,bm}ՔP@ค[r=qSgc@}r 6cV5 h؃;~6K}Di8v^P_wcs5o6k錆xǫ]#4 GrC E@N-:oɢj([wJE6˪.-˝C)VQ3ֹ4@X# Pmg kb_(6>BﶜVO_aTlO3}H!b0qյ:l소#oƤ2pa^p+s?'ebNsѪޚ n 3V`4' x␇&q tnIZC+Sf iS)jSc;MohsQ_x;I@*UYvXژĴdSWeS919W=TZHS?73 zȂ(*L={}4$. FA*m=*CɒG _)πHhŜz_ͤUP)wQ};91l̕pcz4͆Yݶ_Gq{5P)!b%N0%4Y$\/IXTPMoOIk}?$~C),LGre#nn@I&⩢$?&A~W9~,u1E;30Vz'',hS؈Lеi;Q Ee(VBܚL5T M peJ2 iV"X[H4"#l-,"Api)uXa D+yVJ`!D*([BR$Ă$S(ADHTR(%E /DshTc ТQ`0J TY*F@k,г}ݧC&?N x l:]"{mUA ,a[*W0l_{gt78}3fL΄"IQęv%܏ (7eD`Dy^@*yPCT"| Ȑ RMAUTW֐()U x UT6~k $*!ˆ<$Q@SүA*>MBxA>$EvTG^ԀT2|)oUW +. (6C"UPU^쁈WyP!C u* AS m m}@*{܁(CP-81RO;6%ӡ_0եX!4No~~7f~7xR$zwxuDp7K<îB?]ov@BC+B L !c-BۤvNZkډ{g^ =!ò~Gzq,iJm'^?{[e~+Ԑ]EWȌ"qB iSkQZFҽgH|V RzH.m٫&DIXDM.Zj1B:HvSu m@Q0ZRY2ΥUY]վuee_3K㎚Yce_lz bH8!^q5]-NfI$sT0 "}':%=eՇ Ѱ  cR uBuVWf?;Ƕ4CR|^:Aqd+&ͦ BA])\Ko;$[n"wZT&%ǣҟ.r rЂd@̢ti1S!z-sR б; (alWoَ;x[4o=T63ʉz3Ǧ6h+, Ӽ8;9m^$J,~h-Oܭ`g ʇw^DGw*?$O \pG"8s=|2}EqP`2 kw *Q[^݄&rz>Fȇ0d&=nKWӢ 8كZvyԆnˣ$ 1ׅPn  n8˩{[]B^!A(3E@.0q|_qW-2p}G&aɂc4̓7raMjd}ߗsv  0}ʔu&#B.vެ÷pB#-8G0 !% Q||mX i _)"̮IGWv-o헝RW.Kp+U_Oph?6A @;$1DAAc%!B'H 6RcdTG\-y]xpG~ɻ]2'_{MUO5f\ʱm,$QcX7Gs}Y؇t ss`_#\)DLϨN2ɴ$&{|xfbkG஖[o'dahCkTM3y;G[;O_4Z4]U6c9O~M- ]W+;7Cۏ-!&(DBPT(\z}.'woy_/6͵,ߌ+,ihСTV-8֞*c[tO:cMG-'dO2>nhR澒"Mȍ7LgF  04")(̖jܕ5e:j>xs~ȪJ7 =0$ۦT{.|$|郂]櫭ͽ _-jmbl*hV8OXMmD 3ՕئbE5WJzפ.px[S+fa Dh+9Rg0ZBWn _W8%E޴,됤Wtx}_"˧3]3_Gׅu 5Ҋ8#yҭ_D׷l?ڒ-ya#ihXkE#chPmᕎRDPf0:K&цά-,Z_5yD'&_k&ʝ.fr6V ' *ߐݑ!dḗy\wgDUVIIFmrt5yCQ'N8F-ƶ:w<܈bRn]/49nȅrNBEz43@.]@-5{o2ع5H"[#%ViT**:hBy74RtÅi @tmT`%`H$GW"po(jG"3AKBQDӲxz %s3t`÷vS;_ȆXN4:!L>E}L($YڄS &|ėzN5Oڷ8y ,QqIMRȓj"$ +*&i>R0q(ziYMն~VbB[vɸ6-9m2^ 1뙙f.Q0`D6Jsdqrml.Avd0p,-8q{FNAɐAäyP"JzU0́N bMV$aS>b^C9}j[#@*!yKEc["K1EU436 31)8<$BhC+sテ2FWUXl7L~3Z 1TT]|~[Vc[f!ĝ%"|'HvYMiVƶ=rutlxsJ5{,vo+S^)8T֋Gԡ>Em̄|(*dE-)H&i{a UDR#=E)FyWKeɍQŴM,v~*6}l~1פ.^tC}kKp"SpZ/n:iu# ?r{B -xc쏨Emnv)~EcLJYHD>ѥQ[׳Qfuxj(?5#c>g~ <)dK-W$@V4|5Z7h3 ߗ+Ͳ5Eok`g7p'v68,cÌ;Ȝ$ $Eb#R:, d! !d"(]5eA(tR zHÇ""MQ$DDbsaI˃e9ɔ"'RP(䒈z4KJ|HPH Q40I@A (hCXO1 A"Q8ä\…$*IM }AB*OQ8HQ" '*&4m!X?fFA! A1&!!N3I' D(T͘BT  ABȦd79w(O3h$%Q)j"W[ E[޳r%G?1l0Az Ѓ Jtz#cI0ùqKN|W뿇[2&m~k.gzE8Ňe |'Xg. K-EH7U&jyϺ#X{* 0{|*23JΧf-jL3*5ڶW0@|ok'hD:1~xNre׶YY溜۫\ gHŻg$8LyO3ٹc Ё:q0p"|BԦ]zNqK5kcd{%a4 6A.6QaUNmʂH LLa˕CBwe? o ()(ʇ>u(ݭ3Lї-GWP2lPRGrN2 Tb__GQ7ްRcK%>HTKCt0irϬ9L0$jYyT= 9^voA@x1Ѿ^s'b{7=ACQy&ı!?ߏF4īC^6ٹv*b;=cTq*c?m!J ml%絙%()Cy@_&?Nt*aAxVlk]p6inˊ-'7kFtz$[wWO?i6pxzq_# 82jf.R3>6Bm4F:νWW^:y}v-JMq4?Xjf" 3A=pV-@]  `Ba\Tf-ZKVyZJAer񨕧%{FP?9/M.xm+e6V+nAsC-B>Aei&WI=UwgXVo=#&zSG"@JhdBa Ђ&ii"efhs$8W|Q k:! sу@\!Z19K.޿#bkmkrHPK L`3G=.湦'z6`ܠ*#6/p[Ҳn eS*W(B=@if #0Ȓ" !"""""  ""!"" WM0 ]thtI7joA^u1?'({!rK<詍Bc(sFkSǚPyjX9BeNO<7ݖTKܤa*EF5Fl]e[q%F 3/$lqQk77ּj'-<;-ќ+d##rgswBo !nt:mUZ4!IsJM>]CBϬmB&YPKU+M3OuWr Kbn G 7<'H|onZdÞUV'3ƚlOtՄԀriޅ2.<yi9"[}GRVˆɅSB<&'KړOn5+O;6܆~q9Mx hm6:'$E,s6N5j|}LIBpo1 FӐ$2ZzZOn DM8SiBfԧ :2p9CQ ^I0ɡLFlipI)iZ8֦64FZ۽ 4Se?KlCxɝ1G{;Q0f˷) Hf5fٛx;hFe=wj|[ۚ5a LشJW.0 _uJߤ[-z{:͎Lo}D`&Ymeۤ[E.0EhupՉh/VՓa*x %ڟ'zdE;lާ}oa7?=9ل!A'cn)gFm&y$4OV]ъ^|L?JW} Yr=&qBZpl3n 6>4KaLooc1YNf]1w1B_r.oárbLqCu>|mx{)6T6U Ow?:>7/FmL,M7V8_l \|b yevmӸ|fxvAv+ca?6s^i`>ӵ֐?6jGO<<,8vޯJBՒѢbIс** u;+;0;_ϠL[xiUU%c7jYcieWfrrI=^zstK}?)v弶[5Uk{si V0ڭY4mujӐx;fY'~̯"3{WӖ+3^gQj_SyrAPPUӐ@n _1+/ؐ•`e ^s{_E(E(Iy!w{kDTK9>E"g0ҊkSFӰ?IH]D $}8Ӿ;:Hxwv rĢ":8m$Xa\HpT$_y}͂l#O\}& |ЛLz$OpsҴuqN]Ҹdu->^#r*J5?a"&s?+c:,S_Jc1(2eXP/YrLcϑI]Q8C/ QV3A3]ɝ;̜;z+-hKN <*&RqH*I~%8iᛯl~Õ # M:-&zS`6LvE3vxf$r'ib" 4 ڇc? J1^vl5R5zȫ }1!y*4φ6dd!gpHM /U㴓9V?j;[mП;?W(rS)Q&3w>[^{)Kk *߮;YlS}:V*cYOQmOcC79OFۖ 9S?#*λՌ5!D-yps}|i9lo(ΎK3I'A&`}?#ǡWb.8R2P\uzeɼ>Nj4z5'qB(J AD@1D A DBA +  D"S5@zؓ^Nhؓ_jJ:!%=v/q~dl&1~ C/_~ګ&/@7oɠ+C$t3!wܝUx_{{{io70_tI}~BޛNQ6N쐇$A34 Kf=\}ԙn KC {Ycc󄃘&z׷җQm1|엖׿c&/@& *9Jtj>=C0S0&OQ 17)3<8pA K&9UL60N[Dؒm :ytB.(4s(Iur;jڴQ8D skU]^aOv%@c&&E3}??a?$;kn#KyGΘ@%n?[ TGi>Q *<*@x۹W`0QÈ dix8,XF&xGo7֋HN&kQQ[l7Yw\h~<>2Du=9_SuW~5PnOQY zEХY#,٪P]"MAdVξxlgͧԳctqh ;K˕iRIF0c.@Ab*MgȂ6'@Z+gwWZ%OZaݒG٣`˪6v<6jgp2Dk˫۲B[{rO6@vwCfol#m /cӥ!#$DXKW%wG[\{>AsS^UpC#XG[IN04D4aI+L,Ĝh4fYirS5&m#_I4M_J][( GT Ir>,Y2Do}?ax m}>_^q|.ҮvN]E"._exf1x(z{UQ[!,qCl9,,ߛE5xbePL舨`nG%M7B[Lx/GiQ*'N$ЕY %]xŇa?c(=O_m^ x27{jmzv sGdT`A}Y!3[VɀfOsatQ~:DSF>$(wmr@Wr`ّWH>i*)RFh(T_U)8(rLɁ=GP;c4B R!^ C10gr"u@@>=!)I@I!U$?!l\8 :A\]߯?Z(:R-_HBzWNVcvB$IM#qrrk6.͟"ڿmD?F2 GᠭAph>=tMW.bF_#N Q}pp _haVYj:-:pLf-xzvB;Siaa bP=J,/ꖣiUINxTF{C&PC'R+/QvGrP;6P$R4XIɺ5Qª_Wxt,aw B! ! "!R" H$ _$]=}n~s-2|7(Z/1[1c.-w {[\ fW-@ !U=̍lq3Î:[߃'>k>Ϭ=MFKJeL!?ݟfAR6 <'9†}P"b'ːъ {NCD/ ~@"TJ|*4s֚2U%TX!AA?u#p {oAY8xBl~7(jQD*P,ddd.J?sFV*`D S>T=[ 6-N9>,a CAH'9:YAll>A|XT%xEOzZ2_? >tkZ8%WR<!PS,d1ݥ)f5Gh:꟠7kr (PVw?`Ѯ}~V]0%(֢,90Ms7|YHT m #e&"? RYWUڰ[ =Ek~6rNFrRF 4 Y?u0!['>cgo!ʦ'AsNTBIG`D ;9)DJ#A%6ZN@P&PDQ1) 1"D" M04hDBSK!RfDnPfe pV,\?&ȠRMM:JSm[>fǤ&P@BR A0LAd A̳Cb%)\vZ(x "%J 3T=rX'9D1@Du[dv" bD01x_g!!Mcc9)b˜x ު`7X:0}rTyg*sBgo )桌`~ .UP}4~oujy dgdY_Ny$O |>'tABrVZ/) s44.`d]vL(&@%iT)!9< _O{mO~ǾhUB@g5z6$dx ژ>9#xy%~7!ªdzihsEJj틬u;,AH]AG2R~OϡGxg3A;]^x4}H%Oy'2~ۣW[_yeg 3ʏ8Qbt[پfH GH$ 'Uù=>/u+F7I ꀦ&&nKÏA1'7O͇y~W =w;r~;U]4ޠl*> _Y5\.8ኞN#2r]>:&1S4φ4\YIm𑂐X,YқwOk$CI78q^ϦߞEu<;;MNoO3I *xbd"BJ9")PLAMJ@MB+@GeT8"4ЈR"mJf-)M1Q? BH[H z q!!( :8b-\}UF/X_zקB;ʻJ&UIG@7v7tu9Z~:t`=8V7?N*OuzEr^Lb`js +T?%oTw3~mCR٩͈z&O:fD^5pXG5xιRֵb5`8Dڷ9s8Iy[{X0S Qz6Wv؎{g-9紼ITVh %.A   H!B" 22"H$`! h`!" " ""HH # D)HQ@Duh""$""b"a"eb $A  JR$QUc9UD>В h&j "D]|ior 7I>'uPg"!:!R wSBrv2c0C%JHT2JUPA jUVP2U2W%22@S$L Wd!:D^ Wki% BbW:dSbi1$D ۴>[IE Á~w +4uqsB K)^GWaʉ$cǴ⬙S3uKm)id5kyn~'f^G#T۶ QC .H8Dj<wHC 04@oi 9=ah<0wQ(>oYoODj|OҚW:LZ=c[q!)KuԿmDJeCuU֤3FM\v엯{!󻏾m/GaF;iJ:fq aBS05F^NWh"PpX77:{9i_Oro#};'D$!(BRЂS@N YZt~?Nfw7ݴs5 E"0`)*"wE,1Q 2čǑE_|?nPK+b2we3J>,~& a\b+? l`ձjaى!cf)03Z~}{}X6+`{]iӅȭ~xr o_v@Td{y(k;SZ)ߣ޲=M_6ligEpqWi)҅bC&y$_׼t$%8tY#!N t7 ^fӭgD$%>(b@~;կWoUӷ"x@ /!oٞ6ǎ?>yAz.n[0hZB w# ("=.bPD!I DHRdDCz}I؟QIK2,ahp">tFc=+&y&0.^FcJ G L0@{?7[|[)!%G C`a8I$m%d57Gmϕ;YEl\&62jT@4-CUIv7wgG'c w@o )AdiiUNNXJ &fjZ)'BˆEM)˪׊3Ϥ_zqԑU<4Ndl7_WבB#Gݟ=$?fCIJçW^4GPGXְ8o Ki-BjYlL1βW%&w!C!eVǣ1 t"3Ϫ~I\===FvωmK}w}WB@(mS px^+8Eq* u1"n": .-8SpUE"S3L=Dƨ}xi阪>O:O ΟY bB!Rqu=7+FW3=cw]Wew9;"x0d(QyHmd2X |?1!Hi {h4%-Z%[!3Z-;x>/}AU߲3ikUM lN}Aכ)<=';mf_VzbJ*xgڐ77Ӧ\6]}Ny.(t'^WZ9mC7a q0}6&uwU607?z0/-lø=Wk2'!]a(1@A0Br )J:Ss9U]q4BԸBu?! G` 6'#K);FJD A L"H !0 SFR p X0Q) 2YV EA#!فNbX ؒz{:R](Ԫ?^e"潦{E7mK?7gzi.ᎂd (POhNXNƪ*N!$U\0|g9L[L:N)ϐwe"Pm?ޡbP&Y:"xUI: :L|([* t3,XwM OΘhvB*+5$MI]8*\H)/QY1*of/w%ڥ>kثnk]j qzۘ`$?"T_a0%k2I=}g:m4}t1p灙at"-MD:sdR @t}QU!IH{CL!M)qVK9R,ݿ>~qf箮!sq31St#9mhKlQ*R wlZ 6" %tmO|(Mq3&6*2uQբS(2Xn7>K2൮H6VyDFsf ѡ93yKIq=ED;oqb|>_.׍~A~ϽJTY?K A"8^'?-x yQ H* H4Hp!!Jp!!|jt;ʉ>~޻N,͆e1zgp\Aڮv>-d+!ezh#쯩ԼH2:SѣN㪅90t/D!.UVNm6+joy:6߯OuseIo iAc5TR4-D%#KTSBPUI$Z˜4PLjKQ\T(>ʳ*7[Dӥʚ}HdzdbTv]N"eJa(@dDQ%ːA @ՔPCKlR,PP+Д>GN/~cu>o\>}J{F9ܿJQۢO|?+my9ri5v-tv4"Gbѝp y휏_YGpt7rXv5 xI$~f;A @*I$I j JBύI.SbhLJ{O)c$Á8)IdXIM ) Īɿ0 RKYP*؂16`fmFOo~?O+ͼy"#̳ADmP`Gh\9 %s)=r[-Pz @X e9ov"$u6Bzege/Π{mF ::z-wi5jYW%Ә53jF'c" >D_lsF'7ӿفW-}r˅p woŰ-YD.kfKqbp[ b$IB!-% 3~v.QxrDFk2I$RyWL [OMF1{:2H2@L*NX9su">:uY{h:+}7D}lڸh2:3>#0آ#7PU{ yf:n;ԝI azy黦LQ֔{/i]D ]3zv%Xnҍ߆uQ ;$.p`9I]sdAxw}("lpE˓:[)j(z}Ww~w>q缢1Ԕ}#+BWȍWkSr^Q]/z$JR%}}9qSzgei 0fhYܶ0 0XAjz>P$IrAH܏:_MZ؊:'1 ǟ%%Gkt){WsQGtq&Ny ͤkL8`;P蟿ΏR9Bt6{"slzDToZΡ Dx"'(*;AF" !L,z{hQ8p90IJj)H"&$@ʉ !'&xD#r 'aJMR&JFQ8)Dd#D&A#UM @AqǹJPr. ~Ifո,OZ<\om_SƾWN0zf_2 )xCqB  "" H$Lߧ>{Oxܨ>~sLidæ!q5ѪbRɘ'5ExQ $ä/Va~y^tzgW0lU[Ęr8jʀh%("`qc"`eoqA쯔$. Ia)FfmS4QDLPDs*&" (`&(a(*I$S8Zf)$ 3*,TF"B ޷|ǪgpNhI;;O\Z93$?E/i6aeQ% $I(A% Iز onyk,M)w P\>5P~LL:hF);W\Tb\rvv? ,}ߚo_v_@a݆"@O+ ucՅ% Hd(EIRo&& rV-QY?Y *"" Ye/#,HDKby+HRءŧuQ{z%[+|b͵DEȲ%''ku!i!q0@$`K ОV!ѵN"CE'#"&((ۼ5JRIr2Me!AEFf`M?u98^7_p 0-BΌ&qMDaIm%&kF tp!AZXVU![&uΝfTel,YI?#&dМN"e>^9<紼^z_ <r1uE-tOFj*m;GT}{qVG?Om9Zvb̩ NR"I(B=?Oֈ'"m`!f]WdCEV~U'wډj5*'=jr :ǧ&QynN]ǻ}f+UvPC᮵긲@]x T҄E^'(W@l$߅OKޯ_Lٳ`]Һ3|ǐ @8^0Q>XpÊPB*VP?tXF`V B r$lg Ae@ ^aK Y"jh} ݥ~xC$x׽/ 2yͪMPC{6'(C`W"kS7齐)7D&(;"SP|I$Xm;%cȐ^88!̡˸:=o=ϑEH=AQ}:8QL d"(}ZLU 61|?N}<6sY1 !c"8i DqC(:;xOr{jQ˪+ɤfU)DD$D7&3n:AW'! I+e9?ϔCې{?%J5RoY{σ˺g]^?")8S]s^i^eZ$rB9ћGwp);SVtԐrJٺXRm>?4kDf"%@}}g=cV=~]c]NŽ)=."4_g՚( ~]^l>q}7Rn` dÈa V{c*A/GgN򜵤@4jJ5Z|*i bQpq;89q|_ٔ&7aǻ|=d^[}Y3xpxP9 ? A11#F}@%<,>HaaFgHƛCN((a" )D‡C b-,!X$Sٸ_>~WGg;Ft-0HVhq1pHAϙH,^xh8, siPdf$p?Ld1bc{e \=2ӇnI`Hϣ5=?wܹF&XMITcQ)M(SI^=^ókskbi~ۛAۨrcާ4I'Td,.Z'kC$Rw$LⅣ4354jN;8%F8qr oF)9ײ(V"eYWch,dCz`$H(;]vduأ'QK։6YIM d#x(Iì¡5`OTݰpgAPNzfwХ &8)DV?줍LJPק!EM6p&+ܰEBTgtYh(OlOa"SME}K_IK;=qYeץ+w>{7s2_%NR͙xSCrr8-) I Gsk;La‚OI ʥopu`Sw4Fr7 BJ)D9Àdn:iĥAŲxJzRW#e;^~=rppvδyt%/mߋUK=cx8SeKȻs9(ň)ID@y hQRتWT/7+KK{$89%rspHq9:M ( 4(AǼ- "KTC̘TF [ME!;"1i+0I!;}e]6CbLw36R.`"C!&vݎc"tpS4 @\ N "dE5I.ъ{lN1D!ؕv5E9ǟ!͓˖J'fVt)pC| BC3 H}O*Zu "LJ;WmJnv9st_ko#xᦚI7䊙RDJK6~_fe(YSI'RBHBP VM_QCxog_/~Og8&-> M6P E3p[h%Et;-`Vt !MIgڐ{'Adh(RrPlБ.HF?uבW(E+| E\OL7(6Jr[uz b8$C9ߩJerV+(o} hWNowA@PѺrBd5a*Fi,Q:*coi^rz^&Ǭ=xm% Ur4M7g@b H< y5IMGh )N& f!=E2jЪLoTt5ysr-fq&$ |S>ZoW|ұ#h$d!8'V~WFD??Ѹg& xfSNfi#ኒ{c?+_vȨa$&HKO{sU:{ĮƁ~W4UXoO)~2yk!<Fh4BXK jw{pU gl&䖤;omN-M)TI8xp?MrŒ-XQ4P(ғՌ_ab}/Mϒr_ {Ycxo|eȂd+I:Ha`:1iYÿ =6 K.>}w|?5+2󟧄#&jb “4d cd+80m}&Of#4Z%_j}w[1KҎql|ec򭋝 b L(H$)$r?AwrHNan]Gff x=$$pqFoUb);!38;wp4KHVIbQR(WW7O{,DQ A`k*[QA5i @ 8>JhW[(@恳89 6f3z?I7- YqyGj3>XI!)A%8pLtNrg G1~նf!\ M2:B*a#6IhdlnU2o4{$F5hX/[_d ' :I:Uv2("%>{U>`1`"IDejkC7,2ޡBdA,  !8.UTd@8x?X608 nmܔ'M4z`tW=A"??[VΉ:û)k>^6VAaϩg}' +L-+lRs}>ҎϞm\otԚZmsOd~}k>GD PZW[n<0O ,EnP 6 Uj_TGpU]))W3}WfVW>Tg}!܇gMRB0>[A@m Q4wxwak>Σr Ok 3,H"Iix 0CB;j00`"!3 C_av]4 F _`70r 1pKgƵc=jq{CkYS @E @41!l2cFBrS?FƓM=sѯvj~ohhJgE?3s7i*FXS-+|ߧ͟4s<zOܬ>C+nUrg:g&ޏG O޶kQ=`r$I$19?m룛]}3)jQ8t! \I/*sJ"D8My__cı|>!K jvaҾ f:̗A3Z^i@d9>>66dS BFFNCoyg=5c{[1Pف$miSϫ@5UbY8|~G.ϼ'C}fLRj W mj`ω ǧ6<Ϸӟ=4jx썂8O9̚\$GGӠ P!oLbUTOoCl} `7g$Ӝ(!ȥ)Hk4M8i"Xl; 3񟏮G~ؓ`'A}d!07 "%DNyM @=8uk=3,-(!Zә|d%W"V'VWK^Th pB@!)herksכe>+%,j[՚.Œ^i4H5!@"BDI)?`A6Pfq\d;1mߐ N*{L bOYu(15|bU=+Ïg\NGN1o"#QvqA B-7aӾUScG?F|{QId]BRs0 q>Ӷ;mh3l5yտ.uQw$A^E"1KKZ+e))zyM_yd&d_[O,ܢQ3& 8S(ҥ!OX  ߜD57S9;#KO{m$1'd8)*gJ"Hf`iJ2WEh(%@D("avI=wh%D8;8! 2:9 }?Ac=؂JC:w E5$ȘPY4\@2j&[oH5S$>Fh)CCK{NA=0}_+}s+Zi!7]MŒk޿ˣA?:%gdB4DD(%>w>oOֿPiC~o4K2qqz3s,<b&sL?>DChkEu{:tSv9f1}.?wE2i?Tگv]5=p֩Ik "$!,9&!E%!tÊ,*~L,E[wﱑUV@CA)DJ$&engZnj1cxS~ͷMB+MRRGqͿM~iˡO[iơ1-&nz?'EC/x^`2ĩD;I`$iJ6N {},!xJ-BUVa],*xZ:M(Et8+H aJ"t@OtT\1j՘ ,I 2o$&wuU;LhꝡLj~ohaWLU<\@~@OMB8b֟Q #pqi#K֪3S$4f;+Jd H:t(:NW,&npo(ۻ(P|fѐӺܦkY=Y˨uB}y40$uS2,Wȯ 0~umWjy߳ϗը PDkOI2hNQJr1*'[ڷ?AKr q@ G!by. 3.ɲ/%G !5BDQQ-^Fb  irApWh;rC'!1Y& hL ѸdڗML!wOȫctQѩea qMGt͌m G,Whd8OY Bp=C^oL1120Ncw<+{;M}O wD$-pb GA؜dl٠I9Y\c}ClvW%Rm>/~9|uHWg?=Tx$ CeDqy)x\i:HQ!0rw1VTOOYGPĒI&wfs@x?Ggt}!5g/~gjCl3fC0⒒au͸%H_[ȔE9 ~ɭQFJw))F!Rzeםˌ_h/d/b3 S NdA0х1)` P0@ :!!P` "!"єEѣ 6n 4h Ēmrpnu+b J4! IaH``DaA@D1a" D%DPRD)J  ""@(ٚh0(DDR% Ja($)ء@ЈD&%!;BD !(C< 萆a p D/2"X. :(K>kGUKӓ௖{8;Eҋ׭Q6A%嘷[(+ 0SʼnP$A" ë3.{8 ‘.o ˇ("HhHR( R( ($0A)%L R!Q)JQD0L)F@bQP(("%qT1^R|"^Ty Oi܉Ӆ:̣!e0:rp3MHm 7.I q¥` ǗC?I`t8Y-co8vSI8O#AL K mD#`rN-^7wԜ/]uawY^ʮJ;j RS,(MZ6ԇy?؞ɜH#eFc/~[g,;0XVZs9iY1Jn6h Z=V(i~ORiCHqNWb]_BhL[ZT&-H|/@HT?K~r{'cvl!dSn =\nJa"u橘nDzP DD*R%CʤӦTĢDD9S?iѤ}xߵ:mf7+43IN 0*0I J_2L5屈-mIi,EzI{zk طMCf4s xRSE2ͭe1⮅[:' *KeVThJPCC`LR4'&~Cg~$9$ Ug;f!4 b'VX\""($bnϒ(h *{ĪAs9lߵ =΋xLHeh mom ^j5Z26,)CI A[ p@#5d"ݹD?bkW3""**b!"A:6?f6Ѝ Y5#ZPjv٣ThiaihX_FӃ3Aɒ93o7LHg/&sHr{32iN1?ӖmFo9Fe^vpoq.5Z7=nnMC^^>㸘$Owt!R0Yund=ellwC~=YXLz7n=-6zej0)DJsB4rpi&xƂR5 ×u춳Z*yDMDŽ٤{0Ի0JRDT14`+@Q@P DIR-3nZ@(B7VT MyE(B8yX-]ZaeL!BAp0&{NQ~:>{?<\¯ovNV;Y5CDQ1lFt5I&ڞ!/_al3.;Z-qӡ$&gnA:e _pSnNyg?ow\#,oSl#RϘ sg+x۞:8E&>N3?nC3JMe)%0uMkݲ_@UvƍU wG~(ѩ(^:&$pL}ts6|\6̡g^x`1D]g{l*+dZhfl[U4l+;2DhAR{k% {P4)ħ$Ltp]LGB=5\HKkpg s3@"Ĕsl)0gCz7{(􊔜Nɞ?r4@/+ t( Ț(꒣Zutt[T ]R$$ Ӊ7QO׃ruFsx[jc-0ؚ }z]/P]˪RK<,K+hĶ6f(heޝR-g3:ҧɐGp9'6*i"VXF(j07^+ÒRÉ%$'"hd,}Nq쁗Kw)Q7m=n>>PIRQѮ~F<2tqi@`"ZdNqBa +L~Bl'W*l[:bhU11ri,y2mC mlH*Cܮ}~lk7+^WYw'ޗfZ;];; !g _5 a3j <ape S\z`.#ʐ@An۴"m 3[0 pˆ&  ='s=$@+IrԔ=TIex@`DUg{|%BP oFUHSSxEH}#ɬBۂ)1O)jLuZ r=hĩGחyw~ۚG"EV H(i)ɢ6D/)O(S0}{>*>X`y NcEh|v${?.>j7!N9(am$+e4ȗw $Byi!UxeO4dyZ%*Fb6@N8Zb >˸wXdRj\ KF)W-(I Dz 0NYo&K5у\9 Fk][cn$e%/=K᪎<_M=&6$+iO<{{e,gHH/;%7omL61"!thޑII^Z8J>kIHv)4O2,Q6)4|ԓ\5TυM.zyH7GKq*-V}_tzA<+5s1u/Ǚy{熧˃/UqoӬӮB ueju+ /?&v6?1=褟e~KXKѣ+yYŊ۰b//7X9RE*o]&ҤlVx${؛I@}dQPӧF >m)nQ.tAV[0wj|*՟J.p,)wpqjG#R2{ *-V?k~E#SmFqQ\f>4N. <`S*Mٟ`P - 5SʛG1e.JLW麼Dq~{ѐ|mK]9\_PACfS&^ޮTFw#uF΍Lg>t&e6KEUBH9vfs%\q'E 7N1,o iN8Bp U*pv-|ZQF1ωcJ>n'QN)O^ u gsæϔh  h+ ͆{z4ϐ5 A#J=Vinans ' [T7/^uldעz}pf"nMFH:. o_t9 f0}݉0^$P!X=G fveg$[T(e,0 ~-nhx7&o`Uf{YƺabVhR=i )dGl$r~ h OL=AcR5MA !"{H [;5PN 5sU})cƔB6,#)tjxk-3#aT:_r@)Õ똏&F,ac|5JNw 5߰ (ʻSbM+<5iR@;<#H"{x9L0ⰇʌW92RDp"< [)8aa t_@krO?6 QU!ŝyCT /w̙dHW5aPbC#4*=kv`mb{@%)V!ߓKtSCWSn%r-IO48*դ'}ڇ ~%<>O!\ `!˽k׹ I(pL_5w( D z!4!f_{L,Ƣ:.9Y0hRŹx&B߾<*T{ZIMAFss,к2A(78&D639E];+Yn 14iGɑY$[U/id`R%#]_7$2uZl5lQ~[ѡ`KoVK<-Y\ W+SK5ȋbq9ݡL[3E$x |^*BQ/`jzsuI¤Kn8JX ȻM4u O006μJcQ{e2vI|Ί_7\2,?ia,|@d9# )p:?n?(K(sɁYXM9ZթI|B~#hnidf\n.+C]p( {RavT㕵,P\JDy l'r{vrd$8mRh\-OIʍ/HpzQ[[&R_--šR%юfL L4Ct|ՑĔ=feǣGҧdQ7c9Sf1rNk"4`ε5/kkr7Ĝ*l+{S=d%li0=|RLGkQhIͰ> .,j1vFZM&D_P! idj|ϊaULPR>=ۂRk%S۩*B㩤78jwhd 5j*\wHag[̳6L+?@Vb=@\ D )1`1!:LUjg*Z?+ ͎T}U&y][!('-P@ x=aޑkcTozFN@M'G|r+"HMbyWF=k:bc :,Rfn6*FJy:&Lܧ}#|1yU6Za e7Jzszl;@MI(b-IIP$[CHDuc`P1GᰑI#{6{0/A e,K&A,:oEcك+ _]%-Cmm< L5jYO nP$kMS6WpPjɣ~!#e4FM"n(Bv>rw_@g[2c;пppS\`9"2(Č>pKH+V_tL@## J {TL!!8rUYI-%N5:l;%EobQ  ؽ?b4b?2<9PB8/{ 9d,WT(0Px?&>6{웒¶vPP9LTTRΉ@yLGY2XϥbF`J( [tp6-CU'TeiwoT[ l% ~P"9eVY s)ѪJ$7y81;SOUhFHzz T9,z#B'tjjР_)֦Tp 'j2E,DŽ#C.gds:|+b4\[X<%-?:kOK@2\ڐYx<<5+Hv3͛ Mjg'" }c ?t&(``Y3ߖ$E Y)% fPqF9sAsU0:ݧ]Qz2hbi%KƂ[Dgoc[3Jd@Dz5;5|EvP?U?`-oEbRrםi;6ds#Se/={I0Wrm~O..uՂOXTvH͹F[d&A_5\T>E͖΢,R| J`pdh.D(Fށ%) IHBF4IFA)gvV|k .\u!H/֟ϡZVotm^>\vJ|;H8g'2`CohlEu2S%7U4ǾBޓN03g]btimF1d"مmvHmИȨcUe"7%}#y~9f](յz,4%4EqGB,Bo[ :ul_$`xİ+=E'OIHv Od,Bϱ@[ț!ΈMLEAaM ,(?-O.0|6đə-⟜z D bd )'N V#9៕LR{괤?mx;ϛ6 ^ 쁎QM=]U},䪨t7Sdl4sj'~~zxnmGups;ۓ ]kcgh/i3c/L} Ӳ "R[2ЩoG|,.U}V݅7AX&>qAh䟚  "BeM>q/f ͉P(O &Bmo< IBZ@Q7le (6g:: /諡25F=DN!)X3U)J+idI*я̩Px<t >륪g-e楲2*f2ncɼ-2Hf64W\bv?{(F)G6 , 2=vVkS$Q$N|pub -_N zlEL(LZu iOƮwcaT>U곌sB@ق/BHcxRIO^+{53Z;T-q31ڎ mV"#_ Kew*bi: Q8=7F23cÂ;?zu1DX#ɕKBt#\ z,&}Q퓜5WB4m{q(DnӴ/Rb@ָ,c;jܰx]bۿ6 a e:IAၐF-B; G&˙h0$TᒠEZk G'FV`Il'q˜j# YJ&V9ܘє@ &H(zMR(B[B^g[&no!ybTz1#Qß`$/ Kߙem2$G$]*N/ 蔱Y\^' ny6 X²9?U<.@+Hr?" R )N#,s K"\=b8*sFΫXruк=9g?nw)¦BGxgrݝyogNljN#MKW:d,YA0Rm%IdD/iFIZ+1Pk6WN&bgJ$2U.!# 5O?F49MJ\Fn)a+J 1hA'o Wp)r6nXk s)uޭkY#mr}ʌy9%܆[YVlV!3\PLj!h _YMSf!^M/*wIIs(LAT҄j5ve-"yό.Ҧ̨!dv1tS2kZ>hq`bȼ6פ`U7 RAGcOd(nu!/ ,]#y|EZk֨=:>h  _T_!!i /X嫚U1 Ta}1rM Dj?݈bI>EH*0V{u5c#ђ[]]N'3fP^Cݹk7/O5A"7K5iɻ&E?4eAOx?EWG8_}\G Z/wgk@iDpIO_=2>S xMz%$󒻟KϬz=xBo1 VO^D&$6C/'25& `UyV{<>-sx,(W/< ={&so44 *@L A <P'!(aWޡ n'~I35|/>b#2^% s~Ӯ)H_Bi@qɑ?l ?̓ (U o07Oȗ6m fŌ4ldᶽ-uc=K10>vKcK} eוjyOkY_n(XǢ$+` `g CZ.qKphg"JM',ʭioHS-kՠ+l~%K/Aysuy ^c!~ȸsCt1H@obٕhHObQv5 *)o(Zgѷ>N yESU5>|M)ld7Inn2Ǔ/{}I>.Yjd=+ rӣ:JP hcJl5JV7C/ul?ifO};xxI zřazb=]>j jZǘ6aJ&^ëHHӜz3I _v2LՕ{xUyn'a| 9@zqBHk&W QPv1;NgMC|TڰѸIO5ob7 j^WF/4b" M~ P٣vWYpi$Dz%0'&Hs8_~6QAO5MfDm@:{}(pp#T,W8]RY?V1+;F#iЇ' ͜g~;H)^|<ݵ;W H1}5F1 ma\,APkۤe-lD*VTF%и1tFB5eN Cs`eG˞~#SKr{݌0K}# m]Z +߲؇6Ͷс֋Cb!|ʹRϠf_٘<ٸS+@h+MzTg( ) m=fa". &ʭE{2 vP1 o2b-axO0dL1 ^v|b$818` +Kqsv)sp/$D'xԏN.}: j2tE6ҁkl>nuW@Y_@mt,6DH_adHgku""{ceF2vH}L؁iN^_2w~ 4e1 vm3oڔ PR'bz\U# P2]ȗ^Uf;Ӱsgn yB~:O}q]9%`9>l 1!08˷Ϛ9vny F! |;*B%Q`;墧CO_ tqJP^ea^ |^ x02qp*8@` &δs|1JT@] Ě4[Lp'a [FW;87ntd>ؕHl*@ {*>R=L2A,_u2JWUyvs~>ׇ[kӤg# *NdS颧aZւkPb"=<@2Wb="uzwTb45"6lNw,"& Cdhw]I"G&-?p_lGNjdkm}7ܻ6F٬QzVʂ c压1'XꤧVl+ԗv=SHQs%|u(A*MI󁤣Q!{t#MdXnz2&B"\Gb] U]݅ղ/h'E^.F}ibFBf#L4)Nj I)0񋠩NJqb@D8QZkz<9C|zcc,]|b2+@%ɮ4ɊdOe V~7353px\w=hzK ωX4TI=Hŏ;0pu݋S k,B:ۛ|Ӝk '[07(LJUe>ht B?t#"oAwֱ0z\;.!-7$;Rc>䥬!\o*5鰸eņ/!ƪ$&{dDWWhڎ#*_B42 L$hUbr7H5N;:gg3nzDaE *!od%=VbnvNiyM%N-mt%!zڏ8IxWcB v&% ^7^ tF?t_.h7֟EϭGe 0{FG׳2Wڒbb$KN_tuX曋g>'4!<9(GrwPHc=lk۟kҭԈZNyz$v ki@Zt Tx0q媱2Ir9ܽ́?5/%Lg;6% Y-ūpǛ;Yk?_nŐX(ʅ.>IYe2.J-7d\Y`җ0o caԶH%A O$E[Cz-~5P=/ȳ$N հggA" L11oM-j jy܈"Vm(5x pSs" HNF`u+x Ԛ->?x8$T4 E3-ӠL^>ZYW:Y!]/-*G!F{wuaC&|ICw<0V'8:"kOaϟr,X<;P,$u>>Yr.^SqKf薜gl;~ԉiɊ50d#'5L; ]ӱ,?xC ͙N!hKn,&A!6yxƱIj?Y%'pI!UBGk֦l.#oiB;[ӆ$+ص'ǨC,zv-G=;gb; 5k11$Bc9pw Е_SB5d`}hIG-R ʃRg: 5\6]ȭ]۔#R ݦk~b΂*Z;v\42dMXIy>5,wk^-eT5nRl_5f^jw?e#oG4~#:{*3ı}ϷG4AR7b shV{fhEd_+A}Eг&n(9ɃQt0`/rAX7_W++Sĩ(yBL {CU\RVRPGNA\I=V`{'E7|)HEn17%09ݾtoJŌ3vQ`mQdk*Z3SEۅlzڵ\45XThUؖt'Roչ`ORvqM:_#3ϗh֙{>վ\C5l%"ho`MؕK0`8f(3,*\`xU&( M9\ԙAx{<bY`~cA)8Ӝg WH x-`I5MS76`xI⵼Ǿ#2-5yTz{F96bDRK" xjo F#l~\n+nK+Pask 7Dnǜ=?otA3"u~OX,9Xxˤ^8N7*eJ%zяvv#z#jwy83٠^Z7+#( ޾Ip)Xf{Ӝƒ[<I6M qrTј(P(Xil~86oIPX&wG.h;$>~f&3.R )ms$S.kUF^XCH6ê=qS}@w4Wظg/G  ؃ Iw\*kD!/:%6z`7!DJ0y$!H.E+o@+TN$a &P\(:nOS58VW|~fb qyQ$4mYԁTd7`oН1=M4 vgH06Y\ qmABy41pHE;@A/D"7+5ؘyYҸ׳;gֵ2E%DU 5I3oYKP-1rzĉMIo[y* _˽r"nɑq3Џ4iNpMߢ%ѯΙ;βh,DZejytr x%Mz3qu)ע,@"mDO5rsh,acӕlNϞ_ȸJ+[I ÃI Ewa &ʪ6*26yH+yĺ1MXMJq;X0suV®~}pՁeaiK|Hcъ+#S~&Ű'ۥ׼gu154Q0@_*A*+;׷leDP1da+LAp, <IMWI^|^Z˯5qsٿ{6Rq=˖10vCZ`-:vԶ!lj⣨AF#=%8Շt|vk7p9PGS/-#Nуb'RBe&H%狧6հ%%a8`{wa25zX/M 3?'kZ'n dUL!:k_sa7Ew*T4,\#e5MC0gLs\3,➟07b@0Z)(^:o]BAp nh'AgSӳ<_Ygl^.WЅV{p4#YpE/~a'g7é9<J]mlBe;1 E,A$܍)o=sXSxU A8Z8tsDZ39#ZjZyԑl3k.@E¼,ޒTMdGo.Ӥ|塪𧷰"ta1jM׭`uJiI=%4Ҕ^Gn 6z 4/ڝW~1<w,LKCJrz,&^34mR5,^j0E4O.It9PQhOi>rZ\lYZJHp F)?l:~vua k R zσ0go : /5uuWI?SG/Xv}eutRi I*F5C&kZf=^3j1$ˉѴ)sxg9IY%b\okuc86=|{tIΉ`nqdѳ0(R(o:JhY 7D\UZFmeujB%er§ߡl(ғQ<yͼv_.4Č]C\HH C梖X+яg%či Iqn#~쓈P]~5*Itd'wԐnSpѿvgtՠpszYőH5A? P h3MfNd:k ?mَGF毌5Pigصu[}d?HTӬg/w0E`⨦;%3GXkf)3d-L!z0*oo5ʎH;c%p͔^KЄ rЇLFx0+4jzn&_gN;Jԑ\U|~>ѬYxg:&+`Enp^É69>UID2:t_MY,&G[ɁS[l1va@!۸dWRƁN=!Nm |0]'6u.Gn̥\?(bhF3M~7 2~ePH>EV0Վ45}QQ!Jdi,ؔo3"]y(l;ƒ9eQ쵩1'LЛ"u'8ЮM"wܲZ~iO ׸hծC~9^=~טdlux=椐dբnrp= .@4i$vSӌoL!`5!&w|_E@rD 1.t@ 6w@%x⊔}POpΤJӡ&U!}6` .\~r514Ic>X~qjx T C;KJ uNp您Oxb_]u*&=chE\:V}=2C_- %h%;KoGS!܍A5x j!2Y-S*m+PDO/JEAbK')*K:$;4$W>uIߗ?i?Lm8nґ=@%$ٱ~^0<,<t!ܐs~WA<*=qUUoE4480(i,Y[w %n(yWJcl"oaT -mDĕ|K3L={w|)oePssuVw: el]aN&v9 BU we/G Z`:65P)WZN65tfƀOE23WNPX&QV vTQb&^J*B#v]s*N2 P' 8s$u D$+XyNCӐSID*D&Y+.JT3$%?,ז0(FG?[K:(oo{6bkga'BmU땟츼Se5+.ݼU{eAKLf e \ w^R9]uj,YS6"Η#r7[poBw=iӤM1IJ7ZKđN򝭸) W5'ܗmAPRVeJA` %({anycd%I*d'lN3 йHadLf` #dӛ,e4w˕+$ ;P9Y.eݤ2U$+?MqπAhXrKݐOafEɨd!yϒS$ߊ XI##Kݮ 'Pv}Gz1 2ֶd.ƣuM[Y|{i^PM{jg 87ƪD  WHc#ߎ2IL ̦Vhg;v9 )AGyg/ސKUփb\,e],Ntz8SxEq!eoQJXX=2 ]@ał0u^$(vPsk4aeAؤ-;=;'/֎w#& *bC8εcUw^@YQ)4l|R*4cE`q]V"fs&j:AwRdx|FP=߼y_3ӑ  i&R=aMV;OР8ryy^bgw1?[aalrս[cդWAWdmی9dC}\RCn[S#Yv1lt棹ʰi35bGUAc%ޔ(סXCF#+(e7`| ^zɼKlF Y&|(o7N0}"b8B,8b8;2}R=lב֘m_w4ɽ^]X!uT"(#p/[ɼ%jpK9Ƚ@8=?3=sa_#:L+pd-0ÓܤYGCn5+i^~udpZ[/kyponcvؤe 2ҡ´#+4aI=H TQ.~옴'f8$ow$+yʺ[T$H%])*Qt%WGAVԙ#a )Z#QzWoJC.i6_dZxsHdvm<+eeȒ=ycéƬ]y^,|4w~&-<0O4Z kiQkk/e=m]џ>/Fo ?J%:q 0NCJot*iWߛtba pU_ҕ_jV32hH)3lbeqi1b}̍gEpq0CV6:O7lnFؿu_} nE(6ٳeS*~mK`Q]Cy4$4#;76gDy}MˍDmMH͜gq*ookޅuC_v:An:kwfC>R*G20(8le*Q)rQap*:u,zѕ`$Rԅ߬*WE=j퉟 gS_b`;"f"ťd`_Eb^O L1$ď㷰/"2 2?ע0%!RMLܱ<;׹@WISքl\2^*p'!uifkD!5y&4;\.мx\_}q]L<_֤\*讀Ȭ~A7si={2&ipy}ڬ.:2uVYg%E 7/h_PnWY#81\Wk>@bV?nwͭ:c~qE@2I<ۄẸtdf۶etE%e;WKFU\I'u-W\\о0qltJ 7pYrĚt *z ;Oaנ&{*G[k5P.RH?)".&1Uz:(*{[Y@{dMKq&+ :!)7QPvU~fagkj+-!&Rakԍ WU;s7<03xxڪ/ Hչ#(x![e;x+[\ըoѢq\M ߰.Ci2z/{yߊ^(p(=h4?Uݣ~)YZ)hsfR93Dق aܽa{CjBkfK/#\-&,/JbiǤJ "f1bJnmRԵ:XެC//[1 63JnG\ŬN*Xz+6]fEP?;{?||}#u{\JCEc1'S>6mu[Wüm%eJǡfrjB|~>)h9wGz\k>_-)#5y%\ ѭB_ryj>\;*>-M^xMZY`A^YfRfrAQB(KP_W:V0CCZ2Oa8VO.o!5(Jkjbk_KE{abrJbBSMU t^K&$>2<37S dl>uƹub l]]IWUUӅ9E,{wBI<3iOjbd[ߔ s, ZA 6nEQŀM)QS 4J=>z^M}Yb:7uW 8 $l1j{s dJ kY߰K]ёЉ*ghI:/M`_]P/)=Af4f!5meר0&uaA ᗥI|)I:p3jӿ;|zSΓ FC\-F+y}S=}89+XF3Ŏ/3{?-5Ur]-$jyO0Dh*np7F7H?ƶ!tJ!.͋UX'@O]g՘@Nq*:bW= (6Lw63*6~2Yvlfa۔v -A?@B ){eIӦS)XB_a= I*0ED9 ݭmWOŜ(o[ sU̷\tQ5M|qdw/&OI¾UIT ,.Xgݝ-jAֈ|+2="s4g"~:oS&QsIe޸~ 7-хqa' c>MZӈ3/p:YYOH@ Rq֙@^XS niXוyj|0@x~K;0W\N#WVE~UR1:UqΜa)E6C_':Vlg{F8IjfĉΓ?^jlTsl ն -&gx7Cׅ8|cv ;hI]b W\=ѫs<JVKV|p;{L&ZU›mN[1%VN:?,%:jA+;Z 0.PtXP#{1!0%Y@g'z>=ȅXzs8ѪL)V@6Z0SqR%}}F`0*r'2k[P6fg#ʮL神)^rO/#Bn-(%˽ jx4[#/YVEF<69V̔OHۘF2؎gAܟCўY"=$8PMU9L[W*[i*&,yu)Uljhrv9-D\YK=D}7+5]0봱`m ^|.0z,T[{~,'/1)ER@܏y?Z] _ήݡ={:bH-obq!׿G8XUkڹ=Wn6:-0C1%ۤRn’NG0Hw66tLn YF *2LbGĔiŔIj"9tL2+v,l-yRW lQI  PT"[zKk9%j?S8[Eפa̱L/'#&,`HY['ԊJ8X5=!RuM#|Rz-<,!4ߤAjOEs2e"$js[E BH>,c2 #wJ%;>9RkEsneݏIx{f6|v&MjKUex2Ϛ2 44i^|ml,  jRGV^ HB*ٽh7RL/P;c+sߐ<$qV~q;U| Г3E Q;:gn5=n<{4xq36' !420fndS=x ._ [B ׺q eqh^顤f{\%xduNQxQDg%U8M]|ҳLz<-`^;LA9` eaY;d$_xn촭tƱyT^2dnj"㡳0M1UIeVs ~ĀFC|_c'1uhbe˝A,cƿ-T uyiFR"EKx~;I@@H ةUTKVn1˵V6<&}ƺgڎRRa xN0u 8"_;Y^{#?}{tͺnJLH ޏ00&K?_+R|lp #i4&)X{gb5 i1ԫd[ ~;b6, =.U8[25Di5\ h0Fg>M;ՍJaq*,ز^B7vז|*'p4K?o {D3p>xMHkXXJBvrHJ4N>26!'iIep m%LAQت,嘎IK%se/Ty 2qtcO YD4í{\ ղuX3,lhU{a A=9NƏp'̀@(b3pMfd+PvR@$Ȣ7lUd{mHGw8xŤ =rEn#.* 3^&cǝU]7O/n36>P> a޳ ii.{l$}Uqc'Ev.mV, ![V+@ފ ya%/wD֨6{x&JGp:rtm{S-`60Vt-ډWM53JT &H^s {ˈnV:mfk)yZB'DN:*̚.ʐ%MEb 5# T2|U]Cmzu Tװ7L]VRqӣ9kj[.//z/C- VLn1bHE` )v@T(޵_EƗX:j3g(;x mW91S}g,:L]$6 xZ*1JvD`P`Wۑg2O@=Nۛ9LTco]ld2-^?_weȩowہ[KzPN8r,5 %Dm3mnU],H_0Nzf@gPCɃMH 6a;((q];0%Hlr0h:[]/v 4>VQ?tI#ϧ`Y4r0$6?4"bԼSRJ:&$l sUVoqb%,I"EA!H>"򧧿:aru_%L~0bźܭ ȑ=*BTa7Q?f liQҁsėf^9S\5I@ NCp-qBҍJ~N~<ƌ $&e+ҧM ,V\N5/]upHDePw%htc` "(wYjs= C]1/BS`*TUOo˯.V;c훝 > ϱ?'FN؟-xrZiEaLBNvB7? 2 /-sUJhK Qdn4DT1f^G}^\*HYnsz& *a3R T>|X6%|HG=r- `7/ɟqјK13]a]r'd)f2w&''Ԇz''y[$̵OdU4yBۄ15_)~qʐO಺DD.IKbmc8ͳZm `K SV+OP%=b7S!]ΙյLd%Iw2댑˚~RPQZ'_N;,@RS~ڸw;8_DU(9xKGj4ruk Rdqu)v+,+}YB +4Y`ƽGر *bc&ֶ%B\N6IFNVyV St6 j?D d}sk$ɐK.cچ-\DuGndOtL\8G!My`}(9%X $dȎk O"xsZ-ȩ@Ա 2 Y膔l"Ze b:NW1^u@$K y58.ԏ~f ϭ<$ z0FBa>7i2U!UaK쮎XhK~)(8Gj^&#˭WHE9xqC)^ᡑ7lXsbZq̓"gq_$0V hgc5a`WIC.] &399K4y#9M]1:CUپ9ʂȋ~\ @|/X;bhhq^Z<ؙVהn6Zc@a][,I$*(e{t ޚ /GXzyr2nL}WM#l cm-ʜ![ɥu0lKD3C$<9y\oiӛD3w8Ӂ,Bd \e}bH0_l?+Q՚X5}Ҽ/8`$Iu6IPF3l3ll-XFB ǧF.n5]jRUѴTT:\I? z^5'm>K$ΰv]B/ľYvd4V\-Z6LTҌЊS0c‹Ƨm'X^ ˉ -n@(-_8㾳k^徨~r1}ª7a+\ny&!է*/ &Kޒ!vQ:-']o }}?|9B0\Ō GTX(#+q~B[UQ8J5=gqY\#0'nyJp>.Pc1"S x'. K^˹~`I%tQ5%׹qKOXVͶN6GI]C؉G#CU+ f/_zE_q6&2-u; gܪ D9 rёAJԆ8l\ìdgb!{+̳ *M,pJK{jcԧ#OTĐ6Ie[k[WpoRCp, yaTfs]2⪹J x'L5aK1e}C#K 4)- oL fG +Ϸy]9= sKЩzNdVX R.uNNMw"eE6nqaד}i(N'Qoc)Ȑ}3 ֽq{Qq+nb CjF{'Q\YgӋsi$g@ ǴM%{K*.c̝ZǦꦷ.7Xj?QhxkɳnՓYF_!wȥs8X!.^͐ $>seZ11^u` <0q?PC;#= 4Ŀ0Cg"P%PZ+/Jv<%^ K==GPV%Q7])Twfesdm3(KFjvR0 &![4s$E./H:tRX,kXٙK)UX5Go2Ab̖f3(=a I`&6`>ܑ|,9u}1t/>HFU[2:uAb鎍R,+h7pƖD1Q UC#G;٦LL= vY<:2Nn cW$o}$yJy51ǐZd`RJ3'#BLAŻev"$ˁU%H*o(nJ=hјriqwՑБi`f,U }.OC yٝ7y+=y#aƀ4si}$".et?:cDԤkd3Ga+v˥0H}Bp-k' dJF6OWn-jG_һ[t4]vx=!/Ecd0LsZFkq+_0};&@"wbQ  MWx %$g#' bv:nPeL^E]aِᅲ.,A9D!jT #nв3"7i*ޑ&'2:MW-mMEՙwHmI[IÅTW.OC+ 'R%KBm:$2>6]7rPX80`ӻ{@u8>u"$Uhz ūjT# NNoY"<"|a 9wޮM:U-tl+Ü)IAyon%"H a:VStҶ2iCpGi2G[";ab)!]; H辉s,?3򕘺d#]B 6;1)Vzm]\<Ў,xW+hku~ڃ~ or {h" "2F9CGRVsx+PTm2*GF2ؕ@G7 |9!׿HAWtG&$W}hvT(%c[YL_]5FjXﮩS@uH^`$7Y% C4Ԣ39znzt{ 6.D 0įqd;hYb.巄)3rjE!c}!0LbEpռR{P9kKI:ޱGk'2ڄnt e+ L9>om^Q2ӫNIxec :Y+*0N&i]!9 瓱:Phחa1!rݟ@u$Tmw[²/ሤ@~LO+ux`5F ~VLb)=[o>7ʔo|e`8G`RX`G*]1My$Xf&Ū{VsҖ`6>ȣ7As5"Oo7~RRPƟu6Bn|D8wƷ 8i2,U枾PGFh0چƓٍPQD$Ҿj`@:]'zȐ6r1Lʜ+SD7}g['u1*&߃2MCpw~7&|Z5a]Rl5m8@ASsIՠę #wC3 uA^mc;^KzPbWXj,0?8DV6t`8jzח}R.FkkExo=NjВju1X`A%PkǗh`>Ɂ0,R4xv|J<8Z~|t1U>+v}d``%͉YO4?TQ?c2?mG7saj}(m5sjf 0 Ԍ/6"ng9pG5V`y/mBq0ƿTeQDi6c_gӞ1/qeZJL#wGiBo9+LmZtf uPM֢0m+l;sbJ/(-jKҿPX :F- _6@]U(2ҥPV@XAXn9'zDH4'ܠq1k!~$atf%LJ-꒴ >,0Z}ߵ[7h D7e-.3ql6[BTDCRP0Y'KY'.Œ#}6խ>|6w':a-r%Gݨ֋l^G/Imo<*^S`˨{A%Px N]2k(w&m>U]42s٢t1HsؾDˍb&Jݿ掉~ۼk_ BU#u3y;[U03_@^E) +Ww333P†.;&+.OgI]ZX/A ]PG9;.t/0>}a+XWQM[}F@w.8Hi!kCNN8אu?@EsK5Envc{횭w@P`-[#&IՒ57 tmaAK(\h0aI2ѯ:=sfȜoxc>c GA\=+9^ee*F衑qm?`r| }jn , c;Rs&ݬRTJ.G BW(HPɠ^˭-OrCF_}a;a}0SΪ4[:qjg%_~=_8-+ ,'@_N\KcAUJ]6CF)adolVfWIz X$qOA֞PvxfzPL#}wnV6T\냍:lz+EVX.tϧ0H 6NΒA%^oM"%d ZYD71J;[2jNa \7 X*`M[ |ˤ'KAGIUSmT'@`^O9j-NkP?*y nTπ°MK9$"2%g!l}J']Ǎ(DX >Ȼ `hdRHlS9. `iSQfDǔzjZ+=Vos"ܗmf()}ڌyF(sB*{PLkR|y-1h`U s֯Oi%N$XtNz6E&ִEN7ːE&pJ :´WU>pz/j c~KQ\" 4z]:1Bf"b\`L[ܓ=Oo#¹4aMZ3Լm]Q [NuyR% m`$V2yz)E29@*`"-m(,puțI5G e5JuOM̭1Gh,?w} jY7sr:iL$H|D-㩣TO\AXÓ\p/fNݍZY=r(@YHJ8] IH"YuU[]M%U13wbcfE@:) >JCT0erԊ%0Gc*[V'Pн\YGR[Y4Q0:nY3[1/|8>~E}Ptf|z!ZH,2IJIQ_||E9cݞ MkfE rQħP5%n5^bx׮NF]{[R1}\  S*[OPm˗LڷVqъtb䝰"Ж RҔHj~ٲ-]9;ĭ EDoq(jM֪uy{ eec׏qH)Ьhz8f_U,6n*cJIg=a9.Ӗo"2в`^ R[6FYkm|[N?4B?2# 9'`( Pl*?B~ - 3ֶj}.Pc ]G+3fpz㎏|i̻9m`]tw ơnLkq3@wX=, 7e#Îh,SzI8V>z{;~"$Šѩ7pΒ(7/pņa`^"Ryewˆ;zT~MkPI{> |lӥ(S[ 4ܾ/*'"%al8/Vd<Ǽ )Dg|Z@dO2ݣ}Te(?.fnjW_sa$Ft_5C#CPHBV߲E}(ڽEX&H2!``f 尓,ҩPx< Ӳ7|uvdWlvQ#LRwH ?%Ls(Zl1shgxJ;MA2l:ʡmf@/aB7`;gV͵ Mo {<9$%;tb7:%nesF"g΂\n?g,V<ȹsU8p(4۶PnC =6HkPehgex5;2!KS>߷"0je(խ&: qO[O^IedY"#(DVb1SĠ&:jr7!_Q,.l\wĐ VPNR|'Oe̔ X#SnD> Q馃rȣ$y̕Zܽ@gח$ߤ ^yUW=g0,40CyAS.kh %럥&|.r,R~3)ӌwpY0]Fkɍ?F!Xm`嫈gD+|~.I{x fr\3hL׎þnr+y_)n Y)Ⱦ\Zeah(ՐoZϾr5fW.q-qُhu-=F̕O *vmBPD 0Eju66mu%"F Qpq&8^bUVsZ}VFyq4w6M7qRv̖RЁB RLfM檆K3Ȯ贐e\r?u[bqEJK5V[%P|܀Hw lWVzGӗΌ mRNu5~@f^-}G>\ Hq@[f$Fqv0|c(zl6lv`R ɛyyWcs='6` t f91d!Yjc;\3pUrqu}|b/)v˸).Ƙ-&g9TQ^ vIWLSޕ%q수<ծ KYw"@^VybpQDK>18sok(0g+c IyXV5;[U𤋮{;<2M\3'(F4zQVdVMgXTC7`g/ ~6xg8J%+PSu=a>3菁%Hmt)qH֓;qF1 3_Hc'ƪyx<JQn_Qklja> KuT ]ѳ#'X%du('ArheBO5|F0v2ĀmIHl(0oV /{U[I'/Ez?ӸD 6x|HsIW1H#;?{©qtVWwrwNZk)u{ZJRL BѬđu# E h\VxihZ:,)q@2 "18#CW01 ëy}5HJts1JN,\<8s/;ޜ<f:q Cd6]:$ Z(ҼR,i$Q_g!ίYhim,X%T4AKh<=*g_2]9&tJְÓ,DyR >-}yme+c[;R6GZY@E4#jK7^8RǍx>H87 irGj}Ƣ@ gWCg/͆;,Fnt;M[AxNCӒn"e(љH]G,3pjZl7Cx-E=T#H c`Mp`pצn=aE=@2(WOԯà1l=vX$~/3 tY̝4F3/n>M#k6F`3DLx4\kSq ?̨2F,}QŹ`t-;|"p)ꇠ~[ȃmo"&i(f*_oáӁ2Q~J_R.=ГaްSGq@ֺp=Ɛޱ8KX4xiBEWinX\3&s7[ʳBqIěD) 0kFA 8E>n;C$a]%V1Y! > Ԭybq*~敥Ε*WmE7{D$wὫ6sǒo!dxȗj/hoľ-g13dC{Wlj'_FݫhAL.Ϊ&K=wXbܻ?ө-xQiIgF/hkQvs~]7 ?#,T"Hٜ+`U蘅҅N[w{c_,1yxTv^"!p5k;Z@Ӈ8$J;F8>zezwqfSK,VSw TW'Gl9͆ ]ȼA?K>`e{9Y5~^|z8etZYPj/Ff8[~sMwZҒ?oГ WbkÁUR,!MH0B*qgR[smtnV¤ܟu!Gh@[RB} x4X_f1fۘn`Ced՜ &A%\c T:f< ܷ`*8$'?/9w%qrZ=zW'YqT~{dI" CJʗewh ZmvK߳_ (aǷlN}ŐrD_Lxyr,v )bouUnD0 4X(sꢍ3=>3K%"-+*;z|KbzcdK?ȭ{k\{tM "Yf)MtlXzvp < ʨyz1ڹ\%nO郝1WPa/ 3ؘ1s?bFU,.Y H>"R2 ʿ/} ~ѢdZc<ʹV^a:E.d|$Ҋqя( [;DTpF \[U1lh!mPh|Y#B!*esӮI &ȓ2PRU83t&@}@] E*mk,*ѵ }yō#綡)b%{{s?Ri/#ջ8Dc0d=gyChf.¢5A[ %MrrTq_` vaeukE%)TP=$A5 6Vt7VDD]_|?fZs%իP1\V*-gysK:(, =.Gբ۱k}~خ]NS6vD: 1`Ubiciȩq #MĶ y PٙK|[֊$)v˴+v2l) R Y_uC\  YZ