grub2-x86_64-efi-2.02-lp151.21.30.1<>,O_ʸ/=„ŕ#z!q>Rr.V zn%L̅岄nq}>)=|C^{!?ƛl/Hŭ *j[U,O*G#'# )-_ mKBb{N ocHTRCDxb 񽈺d 3|O"Cɔb3Aq%$v>@?d & \lp| 8    L  \Bd  ˭ (89ΐ:>uBuGvH~`IXYZ[\]x^bmcdefluv L_hlrCgrub2-x86_64-efi2.02lp151.21.30.1Bootloader with support for Linux, Multiboot and moreThe GRand Unified Bootloader (GRUB) is a highly configurable and customizable bootloader with modular architecture. It supports rich variety of kernel formats, file systems, computer architectures and hardware devices. This subpackage provides support for EFI systems._cloud133{+DopenSUSE Leap 15.1openSUSEGPL-3.0-or-laterhttp://bugs.opensuse.orgSystem/Boothttp://www.gnu.org/software/grub/linuxnoarch loader_type=`sed -n \ "/^[^#]*LOADER_TYPE=/{s@.*=\(.*\)@\1@;s@^[\"']@@;s@[\"']\\$@@;p;q}" \ /etc/sysconfig/bootloader \ 2>/dev/null || :` for bl in grub2-efi; do if test "x${bl}" == "x$loader_type"; then mkdir -p /run/update-bootloader/ touch /run/update-bootloader/reinit break fi done%x;IphI XY@KF0X{h" $x q pl pH qx `](H(Q2(O0<vh8 H[X` x @0pN8,8<h(( eh C tx x f>3Hh, ^ e1( @p(Nhb X]8(X` pۈˀc8H dC8@8  Hpx#o`90sBa @zh wOވԠ h5HAhӘh5X|`Y`b$Hp x ϰBPHhx{uXmp]p,0 P+ڨ@:`H'P)68($@j00""xj d H>(HgNM4&x h$Hx`h8~H` p@g&h8&0hH*t ^ d @Z XVaPxp8h(Xxh&H>hy hp `V `@P`]H-0hi|%@xH ;]hX@Ox>P U SXm PIxH T0 N@ GLp JoX x O px P)PD 8MHu Xfh 8l 081p( 5gP @@Vp90M 8]  (r" x g m xk(&tH(IPX<P hH!P (=`8L #H6,@x('0 =(p*h  `p ||Mr("'mPظ(xf@ t( dM&ߨ[ 2)A큤AA$A큤_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________3c8650ddc9353227c98744051bbac05865f9217c4e64ab1f843e2ca2d337952f207c5da802269733f7e69bfb38dddc35dc139747dc751dc9bb04c69d5befbb7de68371e3e4e8f3b17cba43d77eb41bc63aa10a04a17bbe9f4b438cfb2426e95eb92013c9ed3c322d43d44362ba08280c8ca945bade8180f2979a036ca25cf3cd872c4b08adfbb64bb6eb9ca12c4c28ba825eb7c9101d82ebdf80f55cfd55e221f1906b6604e49691479be3f8560e9028fb331ff208ea9accd0e49e537d058f625a52b89bec2c089feab132488e2f53af8c5c3e5609ada95f1d37cd62f1e78d83308982cbceec7716d149e3331ca0a34ef225359372f48c706278a7e9188d6a467e1be38d03362e917dad4c7c7066c25de537c64c94ed94622f29fd60a1179e4ee57a7adbbe8d2410c54c5310838c6503916f5cea33e1821c3824d65196420a78d232f5bb2806011f3165817c64541916064a6bf66e6e43c2c02a1e6a7119522feeb1aace8951504b2da2753a06fa7ac9dba91a72b983e223b56952dee5f90dcb1a4e5295d9df3b4345e1e57a39ed94ede0ae5d2c3374da74f3914dc29383231242df095386e81240bc01d1770c64a48779a317df2d22cd1cb73cc4d3e5f926bf20d44997c043fb0606bf4b4f7e41103d23461bf7545132437e389a0606095700ae045507dc03c3be595fc06969dceeb4363f916cead14cea2d4c5921a3bf39e710636188e861d34f0b73db8f200dd2f089fdb49d08f888272b5ce0100d0e1f703023467e58a0c0a91966550a94dca38e98a68384dea424412aeabd7c6a3303bfb2aae280ea6ed084563a6742ead812e50a1fed7ffcd54b31fb8b8750d593c899ab5c3731ab232d29049a431924aa1cf22b04288479ed44dbb26946df1cf891dcf90d162d9c4cabb2e27eb65d8a455e9f0a01dbea1e90fee82444201fac0a6853e7d23f9d61ce65d35cd848696768cc54bf38ce8c2cae24be06251da9215a09ac77bf25e9a877572dd78a97e2dd1544b3d287f6996d812490f71a8101f0cb5a8a46a49b0d1662899a6dc145aa0b5692a5749b830c1f69a69729f25aa168e5b3b0ce5efd5e15715d0d5e7877c78264474ec6ae7893b4e6150129e6281bfa51ad97b16a75ae083068f27e8e070cf1f47dd793c6b827308909d843aff7682bff43b52f1c1c3e6995b4d3bcdb893b809e19df8bc4532df5362f894d46f9bea73bb0de8005003ce6800161c349a40e52e03050e2816e3e4f70f5bbcdbb5aeff78c35e5a051287111a531671f964e799412b6b5bf404c7ecc7b59f73ec9c47d68fc9213af215e0465eb3491ac90b7d10ec73929a5cdf6bf41d61cd15e1e7b8bbd603eb67541864e4c79ddd7e2abe214d5f6c97904d9f0fb00f5743d2f88be1fd100d5d980097550be2f7e7f6694f342d365641c30fcfea11a8ba781308d717c789d69095b188f0630750722140559ceeb84236ecb9eba5f9a740aed320b83cf5b229d5126f06d46ae8003727a5a92a7f6168149d45b25990dea49cb74c3255b9f7bd3673b4b7055797b6e9be404923a59a04ae3c74cb31fb7c2dbc2bb5d3f65c103fa1604ef32e1df29744f61e6613798039640bf3ad76b81843093571955272dd7e08712d7888a6372723f8c44f0ef6388748a93ba78c9c57a594ba764b5e672999e947f7b53ad6423f8df86f715888adc1396e1a708c99a2c39c25d3c17e327badef0d5a09ad70b6e6e14b90d2958d2f1bcd7eca01cbf55d5e4e24fd21449296ace2b901d1351c9c279ba2d9afd0dc99a0b21bc2c90fd6fcd42258e8ef3fc9a5877ef4b4868f3181b2b0189f5cb92a9ff55c92419bdbf481ef44ecd06a5056d166049ab213faf3aad5afcd2273aabbae16bac35c6dac39d0ba5da52a7337f09de8582bf2ca7a6f73716326203b93b2cb1956e22695f191835e5188f6c8dd559fea5879fd693092bb54b4482a59c162c2c5e6924f0899dd0e71ee814076941b438a2a8a3bbf4df35ffd729e0d75506d76481d317287779cace8c21b1fc6834bb25aca830e6e1cfda29a19a0c27c2d31f24b1417d5fa9b59a12a12f85fca546608c322a3d7ea0754ff79f36625e37e33ee3bae96230eb647da8b859d0b75a1c04d5f95a1b22daa07c603cfb4a00ee2736559688fde3bd82a97f3fb161c3326482402c837f75d443e09c86500c2b766ac0830841072d3e01176420d32317ef9eadb40844bc361c3b5c332d273d3cf4e247fa1b07c8dbf69309a7c8c3b8ae4bf3cdbc8674c49635eaf6288cb5f9a9c5e32014d1cd0975e3bc64d1d76ce13404e3a9404b46edc5827de893dc901554afc20601fdd3603e64c53be45a77f84398ec8ebeb568e5b0d4fe05381d3d959424d4fa548a967355f258a917f7562d0913423102261c16b3bfe83c7a4875dc482c603de3e1f2f7d76fbab1557e5fba3c49effc758c73052fd0dba44e652a2a640dd7b28eb00f4ac85e70a165ad681c87ecaae19f7e24ea36518c9809c548a364891a01e57e0de2226768071ab9cb0e9bf7c3bfb6b4d5ec65cd701b30a97b243ad637fba0af26027f96264c21e61de76d83da8a2bb4b9fe09d61bf66d09103681ea0a30a898484686d60f18efbb4cde101b93af67879a886fe18217eb880f9430aaba09b0eb6bb336952ce96042883b72cf780ade52660fef4a4f02edcdbe4a40c2cf87bbe0b678c7e0e99037f98732afd75f34be872cee6b31a98662f2ce99eab264659dedd5bf74e5e2d1fcbef1ba2834b55f9c24af0aec6909f44329b6b8a908112211ffa16ef4f1214482a22548a2666be54f84b65501b3502c6b5f4afe9426d27ad75aed66cbf64b9e11cc1f0464c893907c7edf605e2e14bafdb7dba0f4da89872105d3771f5dc32a5f179444f5f742817d03ebfbbd7049e797a374964f15b4cf2f59046a9fd5e8c2533d2855b4f882bb1d33cda40d0e2cdf8de4d8e842f6fa4d516bf6dcfb7919a3bdcd8e284a22ac7cd4fae26157ecf4c5d29369dea2c31b4c0990967fb1aa06627ad889c69f4ada7984e757629e9cdca0d72dc6a3da8b4a0f623e6b2001b13401d72438721498fb7a6ea39778d1d9d2e4c3d1b0a344e8ad8d6a8a942a2e2977aeb61d5faca16c9ae8eae6d795b48964282319eaf2a0b908e54e869e75470fbc5a1783341d77b229faac24ce2c5d467d6a73ae90c7ec28e9286d6a269abfd014316261f82b224627d67e1be9293aaab5b505b4ec0e1351fea9448f5d02b72dc26c67326c22115abf7c27bb5addaf14d00abce8f20916d3c9b2144e278f6414c709bbe372cd44ac7b9538743cd401482016ce1215d321dcde327dc181d8e4465ef56eb6764f606413435a072f0f282a9704d4b4d8efaf556a94f69ed21156805eb813709d38d77c070ab8a2e41b766f38a94927fe9b7bc1e809f0363e778e14c601e800faea271a2e75d3fc43cb94c51bd2971669e0264d6af7e03bb6016bcf4ee33c42c048bde53109ef2087ddde0a21d46d575280e5f1bf95e2056af131a31e53df846ace7853970182d02593987242b7d6c7bc9df914d3f543ec269fbcd1927a91d0d455e2475882653bb3a930776a92c67126d25e3471292c17ceb10fb3a6a45173a3d1209c6689146fabcc3f250f040938f3ed88d043115f0dc15699efc84760d9fa61fb56426f44d9208ef4e5e8efd76998dfb58a735f451229a1e1e39fb2c2d2f5d2a3bbecc4a5ba03221bcc2d3dc159ae9f041cb13b82c46d3f1b1a7a8f54d914947fd370602e8feefeec0b85d12035ffc1c3fb7256b27c98e32f45f95e693c9b0effec15b55ab5ec142b650ee0b59720856982ee45df56d8bd088634c0e0eb455463d525d776fa4bab8008739dc388ed5e8c687d581775acd42b7882bcd1e5a4a80fc4fb4668e9c3b683fe237d0b26d38ca82090673315b5fe1e34596aad08fd572734dd32dcba4182c12659af6ed2f104602a7f68c76f229b57fa6e4db3d3026e5c372b391feae98d24be9266d04caf2a970c06168d49b1f4872d97e0b1ca665a636ee8cf5beba9108363d0d0eee78ecf18310fc524cae758a369f62a12deecd9deca3fc9d120f9db6a0922ccadee4cee0cc91cea329fcf9355038bd8c1b2812b3a93c4bb61dca3535de4c01874542cd41f3fb80c8f0728315b7f93daa3b8ff0805ddf4c741fb8009509f4e83b247487dc2d5f1e11491bb8d2ab0ac841730d6695778950dae92a034f91573c6dd74285d0fa08a05ddb10825b1830a00107623abf0b47c358cbc0666552473d437b1e07b0ab60b98bf957189ea840f5d42896651b6758be6b11a52d9001cf017d94646f3b9716c6808d6795c3029b31d1c04a71345ac79fecf42d8b75b658eba59cde76447ebcf9998d753b34b2364f04245d9be87c6785237836106a7bf3d384e4d2d2033f0b5591a7f219237f419bccfc50062a91818d66843224c4a195513ae6c28c0cdfcb1aa04cd33784651765c44c9b73dba7ec95ccdb3a06ef2e1b318d08709be4f702805113a7a1357daef147750630af6d2f999aa48fc6f7e2535523eff0d6d7e36618103cc26ff7f3787a1a8feeec57ef887f04556918341aaba811352f27bda219f8faf5d59d1569943263e66f88e12ac1661e3a2dedc2146a2f61e8a0ac3a73de645911c349d3a56c297e66658ab8e44e5f3f9e9bd57abad8229e5ca52d0ec5b8ea055f47e5d2fbbaa5d06bd44f5b0a8b7d2dfffb66bbda25f25b46e91b1a42fadaa48af0b795b1bae1cc0cf6abe77f4dc4a9c8d8d822cfdc607832809416b0e20145b62472320e95d172dd8f855af79cf02d3bae07a92185952a969c57b2b0ccd4b892bbcaca58b1207abbf1e4b1efe1c7ff7952bef42987cf60e67b741f2f94c8666db95e015e0118bacc0fa4c1f0172a27381f6b98c573ecb17aa7e4bead6401a76a52e1bf9190d88c9420488b4da7f5f1416b049970b5cca0eaf8bf7be2654a0e14cf8fb53a9c76dd743f1db3fd4ecf1f85af884bee50751b07c4f858e8343e6ec9f320b2b6b2b04e1de2bc04b7a6ff1d79d5a96c629fb29f369d3d8ba64972d040bbfc14ed6b96594f0ec8d1e19df1bcad9c1b0de4e443f2796abaf7fbf9a46874da56fb7390a8baf84e15f736cc8a3f4562972ebac0ac88972c785a0d432a672558a355990069c3927eec2d20bd5a4247e7f1f305e21eb51fec142fae31788a223aadcf7c710ed289ce102f964c2783f459b23114a39546aef53ebfa1c9b9ec113a1609ddc7013477a8b86b3f0212113fb6dd6468495e953e8f57c525ecf34c8ae9eeb96a385c8d0cc11668dad6ba51a2b6de73290232f80bd6132ee2cda262ba726d4d436d5ad4b6007760178da5eb0ea112df15de38ce9de867da959f5ca8b2f95b815007b016961aeea8a1164e6d16f85d60c3f544af44f6cd90a66dc66ff64429bb60717efbe62d20b4600df3066d63d73662a27b3ea6152d0361ae6e10e5d96cac8c9a7a54711dbced702e0f16047cb3de14191f26a50a6b7ee5934180cb2c9083c7d3b810c20aad68bab5049b1c85b5786854342b29eb3b1d1aa1742706d9abdfa686a87c2ad356c19249f3d9047f7e7a69ce72c2b53e523a789dfd212f402c21703964b0f2bc337b042a53b9632d5070e01ccfc53c1ef5782ec3a84ac606b1bbe87bcc5d645d820f0653ba8722e4ed30f0261424e9fff8be8302517138accd898867b563b0f6e6166c8d3c46c3ab25d9ad3af85f1b7ba17736f506052b78c305dcc0303e05d0215b683a566b78475c4ed2fcc20f358eba59a8aed20dab876cd7a7a40886c89962b8fa6dbd4f5f37acd2b02531480c4a705bfac509af1d7d53ed683b5626f69a516746228b0f98f5381235bbbdd663fa16b4379c9a70edd122b38baf541a62a9747ce0349c2354a68ab7458406ab851a760f620478c6554c21316d311e7434bbee0e5f1d99b3b461df5226edfd4b1657e547859bedf123702bc846fd0994e2b5e8564e24a093a1a6b4ea94cb68c4dd2a5d335ea23ebdbb2061f0b8b5987593e455a1cfbe5baf708cf2be00bca6c500c2ef1d3430a8d174bdd144009c229f7a8b323c1fb28877c6ad849e674290325ee0a73f1ab03b89f59568eaa2f8aacbe0b2cc76e705548172d8f7e719cb5106f8b3512397b8fc42097c558588c0eb9d7e699acee01ef26cb4a29abc6d227b4e7c7565ca737092963357243a3d7e018a3a27fb9a90a217a404529275ba98246ca175c697bc34f502dd905f7abe3d411d6952350e24f716d2a9d4b101d027335b175e6fe9293c545bb7677412934021ff06a9e9304312700bd86bb5e7eab495f0fdc4015081b94874644264939f43d6399c33f343b7b5aa8aa266962aef4b8b248ba035db9e315baa3f1a28a6fa4426a12f548990e561ae1d8d1949408f8c362998781b5f591211280cfe0b36d4284601f25baa58f420f5b20789680213cfac450a1b4878d50760358d77e3b11e21f2022549e1c93d1db57bd5d4e0646ef9a5f9c015e456f582089bbdfa954a9834dbe93b86b32600318ae5cb0214f8b914fda998f9450d014c2fbf51ab5c0cad7089d122b812dcccf2c81c89e73d40bab926f6799e8d761873671d560522bfafee6a409a67e405c9c40d16b0effa9e0c9ec3c7b7a1d783e1d9ef2487fe940416f47995046ecbdb99675040a152bb49a9ebdbafa76176587c121f31e4ea4a09b0f3efe5b958ba3962cc82e34a26fda27afe6e6f5995068b5bfc95f3bba44f67c7b60e406b6829b4fc340fdc570903254bb19c975aba2b3d0d1b67013bbab79d8f6608966f4fac73fe77d1377d24938efa587338560f687b8ea1f7078b906ee7ab24a8b027aa2d72a002334041fbdd18c6468099c1cb1a467a4717c5dd032f6ed2521aaf5db22e6f9fcb6a54db1b1cf05c3861a9699291313b97dc449fdedfa7b10754a34e810e1bc926f90aa0b41792735fe0e4221ddc8118ca8f04c53c9dd4c58a6e355d22e68cd371ea746344883e2f5cb1b1dff6d51d12937b51d537aad1059829164ae9ecc0220ef3f6ddd8a2519f5891d9502eb9109d142649ea12c8c642c7588d178be06ae33b4b3aafe3884b0da7bd5985d1ac2b37e6e74fa4199c122abb9195005f60b9ae1994e22409292943f841a2bca448a762adeaccd5bd9625454cbef1974d7c46587e2e80be1dc5f20a082d5475825e3c1bdb42033ed9c53b16100c92ce1025e12833e1d8ef73e012f5b84618b44864a559c88e12a53084b6040a5c973915710ea146fc1c6b7f78a593bad0c9818f3d874b9e26c343fa95da51156ebbff648fef8acea3d1d0693758eecd49121670d5f5c59ca08e711931db34953749efa63f6832ccf3222e4ea87ac29125a3221a69674f712cdaf6100cb311790bcc93bcc31d46ad10281778882473b6498f3e8373e21bfcee4f4cba847d32eb15e2800d589d2eaebb10fce79fc16daad2ab5ea71689742cbf61b448d5819c30bd0a97f9345d792007d3eaa1a612a58af8311b76b668446eecb71b4142a504593b2c2ed471a46f01c510068240627d434a0d0c5bb2583167b0a35ed507b26cf63992d12150c3fcfcbae4dc91eb00f7a5df21574dab0b49121c90551e20fac38bf3c4dbbf77b68ff2f7da1bc96de7a8be3110dce81b36015e897a2cf888db244e572e528bf1d722261eb40dec535518412455c0d659b55dd9b2cac70c9b1d9ec49bb0af105f37de2e0df6003d18a116d11958a941f53cf39ab2afd051e62d9b9b29cbe735e4d16b7e29ecc30efdaf63f7413c8a516120fdd57395fe7cd20679333515e0fa7fcaf1cda6df90e42adf78216e7d5fc97c52a3ffb5c7fc9b96411d3de4f8db3b3fd79828b0ad472895a0977525152d62fc3d68dca8bd52265e0be95fce76bc4481d7b7bed4e30370f5448af2a45980e3bad3c0aefc2c528fd087f0b018393c339b306ebf3eb255f7453681ebf6c90666270731fb485d7ffb2b5d75925972111df55d9c322905843580c0dc334750343b8e9f60f1dbf0ad4b444f74ce9a7a65a43dc5b03ab7dc723d223ac58dd95f53101c3d1adf421c71ec2ec4b9b739194acdbef885943e053670aa2399c77b9d5c41546aad022c7406c1b49fe3916f611f6a96aa56ce4f6885b78e75eabf5666b02701dc4e90efb17beb46ddd947d496fbd754087cb244392fec2ae191e6a59b15ee23239604853eca3806ba944283d543fc450bb21769a0d7eb171de033c981d29240d9d0cadf0fb32f9de8b1e7f39305893e1da55f617840642717e862fdc84a446a3e26400717cdfbc84a8856acd6f3d64d0c3e57d8ffd265667dc1875c02b1740d8b2c803e25b356275b4ba3720f4779db14577328dacc5db16cd5fcba4cf66cb84febc68754316931642460ddc06ae97b0ab4e15b1073fb895d2b1fc9844aaa5eb9495deb42ad8bef4e913584db57eab59c0fa639ef5f3df58181551f982a741260a17b65826a507a8629009fdec4efc3d50ed68d3ba3206d6cb67c403113a04e04a24b35e0519a9b08a1f95749bbb0f63ff8de870a17df03181e51e5b08f81ed46fe41d6c53ee037cf542eaafcd78cc21914e5d46d3cb236a8bb09a12b47d483049b3df879120f83fc47ed0d78a805eb3265c4d55fcdf9be43702c316ffa8be0ab7f9f70c778afc38da75bc3c0823daed67fdee72c0b38a86fb85ac661702b841e7c18fee09a91bcd96bc1ae14aae6710f82505b674c037f2cefe3cc7410c46211ebcde64add217284fcf71c0485dbbb48035bcc83768af047cca66af4d8e1dcc4e193835af27d997bd2ce071ab7c41a77cc66486146b60ff27877c8a0ddbc724806bce5aee187c0c5364d2fd3159169192c61a860988c70ec0f0cc25aefc7101ddbd3823da74988584439e61b6caf0ca51c37daf2a55f2362beee52897b00f418e5033a90ff075bb7c8b183c72319d3ce32ddca925c11fe50ff6dd58cbf99477a3301987f8351209cbd3318fffdc3332d83dc83698ef4b96cd1ab24f2497fb0ee049da1985ab19e8bee87559c56285ca4f667973b4ae5d7f87632d43c6ad6f41b0fbe31df73982a8e3c4a301086419298f883d70ed977be239a45acb5806b0b0a57935660180f05a09232fad24511c2a7e8bb2e3ec47680a9569c97bc37e4e491c6f35f69b23cc0f3fe9afd845156986beadb5cc1d29d05709f790eb2aa38a0e9d9be1407fc30353cd46530b0129325cb828076e8d338d7ff100efe3b8a07fb56ebc910a9750d130a54d4055860b522c2f1216ba21c74a5d3ed3b832a5b691fb09e871dfa476720af526c581572500a4f73bb3e787faa4645c35e6b5e652a88bb3c3a35810201cb5575f63773d5f3fd7fde2b418d64d8f5c5d74f37b913bf89225722321d9452c2a102b21dc5bb9730543754530f690c376980dce20c1babcc3212eabf4c96e2405bb7c2b273e035d4ac2a50b6f3e4b2bb8f2a8725bb88d3f971e3caf3c7e1940e27a736581a8a0abc03d3b025566c28032f7c5723d0651fb5afa69fc4eadf45748d8dba60a9918d4993e3d06d4cb378e324b8f39e23c207d8a1a0cddbb8be4e6c38a88595be8748d1687d9e23ca427caef5280b7b4f9217fe557cedbd85bcab58f125b220091d70ae05c25e4c74831c0eb05639d366aa915865c7a86fa94bbd6d4358a713ab2c95f7f861690b837bda7f5be81bc0de7683ed53e571ce717ce6c961d1ba191cce51b9ef646da939fbc1a9fbdef3f7453efa710490cf7df0318bdf7bd9d387daf1dd6011b9f46245848c675ecf9962af80424405d4f7df1046627f7f14f6bfe04aa7780fa12825306923035755d38051f80f6e0a04dc7cb0e09685e71544edfdf00efcce244145f8b48cf917424156aa3d0f7b2634cf8b9e4f6000a3683e18c1e22176c2baed6c78b66c24ef9ae72ad2de4d12fe41107f21e6dc95b9302ee216647d0edfd7f76af98c1c79a6a2f5bcb8195c3486a87ce4f21b10857d68730c6d8226bf98372a29fa2ccb30256328e5fba97c87687050a5d1e43312b581acc4d41076f77d7e891315d8b7857a775323411f1b35d3f7f2045d27f844efe6fe5e402e05ebba3b51c301bbcb1164924e713125b5b0cfee6a62b325ce9c20c6a1e66020d7fe8ee7ad46fe21a35705e6ee3b2e5b213da511a28831ce46c623221281c4797218bbf2432bc57c24600a6b42766cfaad974dc23c8bca82416040cacda45fe22af7147d514e29ccd1a2bc712feb5d02e33efa1ca367a033e87de9f5d476c2b5fb729df50fd04eed388f7abc9b64776be5fc9fcb48630281b659eb183125478e257156345a263497ef689a0a0dfeeca79c70a5caaee1f53cc7890f1bcea4df2e3c3491a832600bfa23e5c7e197687fbb830bf8e3f30dc0efa2a3d1aea3a81f1ccc375b43736acb90b49d37d81364bcb11df5e358ad0dd725420d88f0f7e13d93d6fb7111755dc78e2dcd5252262063cabae1bf23f2c2c0fd3d96be5d23ce0af08ddc125122cf0c476890945d16d2ad18b73eaa8989ddeae8800ecfc3638deb740826f94f5e440a984ab49539e5d74e6038beb5c50da68840a0b484b1c78308ae41c4f878457877d0ccc97694ccf6dd92c2e63d1bf6991af9a98f2f93b46a2bc6eb02ac30b3963b37b1a0cd6af7c92bbccd07ec4c17ae7f4daecfb405229ef2e97b8318f93bda9282b445bc3be0fea9b5afdc7620f1f305678974c944c648768f57323f886f887310b3e14dd0fc74f06a8aaa42736a14fc562373d727455d1f26965c93455af86be409f20560aa8c01819a495208b91dbb121512cd9bdb2753b3d8bb012347ca596601f88e9b21a766fd873f08d528189248c61374d5c5a7ac9809f41551211a7df3d3ae3d4b751edf074e497cc9e21fb6f0ad30525d2984d5ca4aa4639a557db061b44668043c9eec5189fadff1eb9f6c98b75b4fb134a7b08c217926b6f49d9d7468a87774bc4e1248e286b279e6b0daf961afb8fe387a478b8464b2590be39a6f9aa0b63dc530b87cb3f930725da54cbe7c67e4ead67219c12e4228d2fb90ce4a704fc4582a378934fa41172eb4b8e32bb2dcb2d704942a0a5ea0672c8bd022d3d12de59bbc7caba29aa5629eb1115ac8c7f79243ddd43a1f7fe6c6642c2fb5a9d71e2f37cbd4a884d9d811d4954caa6c74bf365924419a32fdf6031f866b227d61e31a4d194d99b68c31419da06f6b162ece6c9e9210d74da73182d3b76b5d8fae6e2ced1965cdf630b30986a4545eb08d7b786c834d5afb07a8fd97a48b133dee9d48e741decc8197b9c07c0f21c4100387a8dc8e5d94ca25aa054d4a038d44cea67f7b0dfbbab397462e0c3f03edcc447a353e2d56ac0d5feb183052df0d82cdb78f1be2b7dacd27109be6f1c9f6fb80fbce1a08f8ae89220569c2b2c8b0ad9e54f8431d65f1a4f672f6a185f037996304582237c1d8d952a723be56196cf216fb6b41e43fef9c655374eb7066587045ad8a28734b0078bc3eff9699dc18d2096e4ac2ddc2105d25e28e6c73cd4db3af3d0cbec10245cc2e4aa37de825fe59db7093fbb72385e5b473baabb14e4de7d45954a8ac0a9191500aae2becd6796a4cd959174e5b9fa01ea6d71dcf90bc85fe5bca925bc56153424df53c41ffab643341e36ebccb3240d945c35ca3c7273d9ba97d785527c9c89ca03e65bda41d38a7f2593c9b79479fe74e29e3d977c35b0873d76f4d6f38472bd42c91005467bc15e88936737aa4293f2d909a0095db647d6a77062fd237dc625264f56c2b062ee72574dcddfb8270832925973945197554f9e21c99cc6642af5aa6148fc6f980db6bfc39107702b46303a4bfdc4e7118ea94d215d903e57a4d08a1e70f015cf7f86daeab0827ff068b5bd1ec8026de529a07794058fcaafe3dfae01d76382797ab16269c33793a326ce29e30053172075267038d1d43df6748ce96e1958b6fa45bf6b5c9a7722dd3a6ea8d7d56e6a132998d64713ebfe604ffe33000ca3068cde009ee1cf8364b573e67601430fdf10836451c05e466eeef97a53b50fe6a79c59c967282e36551d19522c2194953247c708dbe4c88a4551209de003661ae9db7e66113c66cd0470cae29229de2ffbd19774abfe35e90111468ec58af0e8ebcde0845d0060f08be45cf4abe7256dbe4106e49d1e59d521f3441ab7107e335f0f69109b07d78161e2ebe41a8934215e97a8ebf652f0fead8b289dd547026aa538275b80d74aaa2db4dc034d96ddaa1b90aa0682a68cc48ca8827b7aec755f930ffc99f75bd27210dc3fb7dcb28a68ec46de4689435f8cb1f3c58652fdb4eb8ff9e70e7246fb232183f37ff9c689ecaa14e02d4e606116a2f8acf6a075dbb6c5453efb0c56d2f50b56520f18f26baf2678ff0ffdb077e6e9338bacaf56487a7c6d8d4cc480979edaf4a0148235cc0b86f92a0e95a32f2ec5890ef040cc548009a9436a2e239c5a51dc2ddd5fcdda165ae4b5905988ef7061d0b651a555118544530ba23198fd1dee2c374f5552e8ea1c32989f5cb326e861fb2d48a460d12db2363c90281ade0b3f35807d90a56710842f61ecbb08cfb91e250fe1f3a3f6bd6f2a29aacd69ae0540d78ebc6a3de752a5e42949401189ae6827d4f8035e72e80486eb927fcf309f5874d1c67c37888f56425225d876d50cfaa5543c1e79d2244b362af292f695f29b8971f8060de1c7b4c74288eefc7820d7d1d0429652120b54b9b3c07d5c3e04a147cc8a6950cdb460be7845bc34c16fe3d670646531d25aca9f757a134cf70b97ba38593a765f11e012540bdc47731307d4633957ab690f5619ff40fc3ba5b8ea875e76a381d695a9181cee307a78c3afeecb5de3685a48b897db96ac4d54bfcada66661297d07fa610b68fb36262a9ec9d8cf1b6a3f6529cc924b25b46d41123a894016b1da6606ff4e4315a89743b95fee62f9a8f98e0b481263a875f43c08c77055bc2f5d117f5c092aad9b0cfe70d314b1ace81f24c182504a1bafc3cdd4f5fa6dd5ad4185460dbccbfe06576e2b04785a370dd65b8b60cc9109eb05fcfea6db86c9a23c97fbfd3a4ce1aef08aa24d9ab25071e32664c9a252ef222b67cc949a7b931c93b1841ae199e5360595ab86222b98e7dee9d0c9c4b509d8096458aedf7c88516f83e45b1249c57c463910a264e45cfa4ba0dec2f5366b369eca0d40287d49f1ca20816f556990710362b3b0b4ef3c287bd58086077459d331a5dc1c22358e11b85e081d499a631d269fc8985c7e4c66dc1e5ebb95e96b3887d0ecb7f6802fbd56972f6709d482e65926de21199e3e96535977bd94f817f96b600e3d7dfdc744624e7fe21414ec67c9dfa912d553059a4fd149997c8ad9e231449d231a80ac58169f852be5620414fbf695a865865c744c6d9867572271be70c65c8bfa07569d426dcbfe326ffd3e6d1529720a004b011b97baf66123d2caf22493f623bf8ad689f37dfd4c4a1536cfd7648963a32169977420ee4152302ea1ab1183af332f0532d3830f9a864b25786eab179f0726f6a1c63e661a1321c426164958507f8871a33a1d902d49e0ad930ad8627f8eb013d2945602d2a41dbb207e9f5b7d4b214bd8d19857d5b64b69a0571969ef6a98c5e95e1a4c163dac689ed5a7eeb5c020fcf1804115f09b83bbb437c69cba382f9fa28ebe2043c7576321c996373a4444025833977efa73ca23e09fbf83a162bde64ef0ff8a6e5d91251d9f40f1ebeecb6f535d4c54a8d776a5d49c913f7de81162300924e15629f5abb3a5b9b35c1d488ad4f005f64db67ebe05d82cd035816e586d50739947d96eb3ac459a61d7f0027ef168f1a4e58109a84676963a9b14fc829259263f6202cd5494c07fdb0c5f8da524fc02270512889b89fa3fb1d07560ebbc6e70e5b2625bf092198c8154295faf377ffa7b968a0b6d480168e28dbcfa7bc9c162a7ad284571a45b1eaa2cb6df245ba3ab6bba91ddd9c016963fb788cb6293b693bb6c432abb7f33bd50203a58996b6ac197acfe5603e95052b0b018dcd6cc264a262c6ffe4a53c0195632bcfcd94992aa6079b97142b93b17bd3d8f625cd5fec04c0505fe06232fa2714880a0fa7f65635895e4e48e449d3951600e6d4b68b269eed431c01e58806d3d761173d44943ff09152afd7a96209ab5db8435d8659f421aad69f5d2f0b78f5eb29b29e03a149c707822289de71a32af745d84348ac4ca432374fe457ce2dbdf528b79631543c70927e26da72772ac031cafd5a6583c9a2f1caa69b32c4cf523fe98c2d80235db35bf6fdd944e424963c11e9f0ff8f954d79f2d6526971daeea769016d9ecf7144f69246ac1eeee5a0fc98f4ec5f9b4020c6924d2f51451aba8487cf5b6024ed585144503979165b60cac184242a92dc49db37d8200dea7d0aecbc0ae9dc6aed2d63206b2ffa390d41b81cb5d8bd8e7a30fda33f4d4618b4832a32f330d23823fe8cb2ca25c65a9da0b6025e7ee0bbd3e131a0622f1f17e8618c2d5eab7ba1f56d31392d0fb15af2b0ddaf76f468d0c802e9e9f5a948b0049e109c47ebf1ea838561cf45ab95f202a648193aff0a7e5d1152a01b45c0eef3c45549be1ac85126d011ff309a930aa23d5cee3a13c3dbc012a494f96cafc5ebd08dccb98492e337980ed2a072642adf10817fa0813ba791d9d9a559eaea880a6d328c9f0e19fa3fce9823ba96922c221df9aa869d0fca5382167651ccd7b2a2eaeb054cb1911e71a8eb3c5d3948748a83d1af2e76d1d9e6852879ad34d40a0cd5b74706fe68d72c98aa400b4ea3474e31f9788ed717592c292ac64634a54018d1e99e4106e6967459aad43ec9f2c23e8888b2a64a2a23077a6d56c26f004ecf496c4b4ff018102b28dcf865cbb3eddee5331dc4b0e40f28586aa7e9c091c9ad10005ff26b96424b03eb72a1f1a525d477b30a4b4e6a7c341a52a6d0e98281348b81d73da5847b6f07b78c91978aad3dda22415e4b2a98a94550298f5a4d426335d0a40f14d6ce75d83ce2582eba4247ad1264ad1dd53f7de3565500839c82bf95926b45490b6a204ee343f1918505e133a97195003ca1518df36f6600a7215a70202b2c9f7ebfc4289acaa9e3b31a85dd3b4cac23196050328667c39f965629acd4db76043975afd30db7819e673027b39705a59085acd9f604feeb6e62fbe49fb071329169baea1233616f58a474c439a1a8a0fed679850d055559a2c6d1f7f8bf2701da4b8f1bdd4a9f5e2d65117d747e1f3a65e7218f3c265422a6945a3dcf7daf7969a4e893b30baa76b079498fa0f8b1e3e3e394efdbc2f5e941bb5264e4e0e4eedc0e1054fb8567e759c556064db93e6a8c70ffbca90b87adc0d694270dad0c932efae245283f6e5ea0a719e9cf544e21cc12130f2930bbea3248754bd9f9a6fe437a344bc847247936374f55276027a7542d1c8127a500798f3a27265271aa8fed057980d5989f5761919097055963018dc285bd958557ca7a303f91fa07d0e38191484cdf9a2788f301c18f7b152205fed5eb4c8e4bae1fc3e69bb1d3369c8adebb127a42a063b83cd37d1e818bc88190edd0822e3fd1edbdef3040fb57c43caaab2d6a773d7b42bfc64eda187001451e029b3f8b4738b0b2f8bad91db7cb5b78aec4b8330e9069a69cfbb73ceda25a404873e98c6ec09d83a96d44dc09adbcf5b2198a15289e8ae4edbe7a9977aee625fa77c249d3df8481f5ee360dea01399a738ff0f5db9119a8700a00e58d4f9e167257aeb901068a25e2f477ea66956cd7999ebca820100f86710785bec1329c192f1bab6fe455f1526ace541cff66ec1dc0e2c637149a752c9677aa6f24ef019c4bb138ac296a940b31382afd63a9de7debff16e605d4581ef2b1a796133f41016d7f8ae20fd4edd48388fb038f7b367f2f4ae3a74b7a8b1d95b3c563d9c74db97d955c52a891eee1f2c467444046d8df841fa5a66b83c850a3b8416d94832fc598494da21d53d6baba2eff62fe19d7cd87201a13e573c004ff79cffcb55fbd589dba86772afbd7b6c5225acbb9166071eada028126ef49c8b41afdf6d9fec992f794c8a22f9a91b52216cfe820f719561f99d824ef58be9b5344e819697e6375b3d05735ab91dd11c407ce787ee257bbbdbe0f66facc1ed26784ced5e4a343099798905a38a762188434555b340a8a19d991743acdb13dd9b2f7a1fdc2f0b7e371f29890efaa1f3720c76c76543a646abb581a0bbd8c77025d563290ca7e647e6ccbc9bd447f7e7b0c6d9ef96a5ce0ef098ec7c6793788fe482c832b9d7951e4249232901773a805c0408baf32676ee8f8a8fb85103c9535f048004f060257da036edbde6b3f76a31e660d8cf5c1e2e6b6cb18ed5447b5140e612f83a10eae8fc7ce8bea0d1957698efdebe24f91eff6c790289b5638f48983e169171d90bb586fb431ca41bbaa332d723b9f1642f20ee702870d03f037043f2f5d3198ac63b8f1543b44dca7bb85a3d5f84d20723a27c1442b861be44fbf58a4525eefe2ccbb2b5f7ceb21e8be6de6036ef0dc8a908e4cc248ef1d8aab87172e722d8c5bad9e137fd43994e0fe5fd000fb1869ee0234f3dc32cf7e70f3eb9f91e022c2483e06bfa0754f26daa719e0fd7eb585eebd14230f4567efd069b17d31d941d5ff1e2798f69521dfc185e198dbd6c31081fb1b8aee32b410b7d6d28b0ac65550852564c98e089064746a6023b01ce1e70bf62e18f2d00ead936c655172fecb37019c684d6360f5aed6544f7201a4d31de42d3bbdd0b7df6fd66446dee1f82de55c4e99d31cdc0f036c842dfd9281e643b2f5e4323817c4a59b75479b31856a07bd2b1450cdf525da469059a6254aea3375fa51344f09eb740e1580b2dd4b7844b2e3131df80b91472c70295ee2258b0380f4d0b3760cc42f7ec42cb36e8208d9d1ee29879136c8bdbf1db1d8bec3728b59f7f7811afcd2873d65bf582adc394b6e17cab5714b495fb2673fc5d2f159357c567e17e798a8f765d95a7db6305b3f37adfd2567cc40bb9cdba0e3319a49c7b08af530730ae18a8571be68901d5476cea20585b4c2c078e01b5ecc6b3cc3ecdeaf0a5d49754f4accba33eb5bcccf4ddb42deec337145cf86ff771f13763ad92629e23602f6ebe7a5ad67709647240eb145d556fb4d286ef71fb7cc4f5ba2d0cedd7ae9eaa4b7fc68fdc028639ff6dce9b7a10c2826764dec22e88ef4d01cfb146b66aab370ddfeb17688411294bde63063aeae3d759007cd3cbde8b00f013aef3023b8da1e260becc8b994e3aee901c5b4000554566589af7ef2d113c799955991629d5874cc21b4e680b78c7a2e98b0031b28c737a4b084cf86210da135ca9227322282e6082e310b397f5050113d14d3edb89f46594dfedae4d873691d89d9f0516b8419059dd10ddf4ab29bf190fcb7f31ef83c434e6507a2bb1ea6c117d356d05abd5bcf2957d2ff65d2fefdb572a5290d50d0517b6eeff224bdb78371dff64de78e7326eba684bc9dbba03395a61ed721984a3def66572baf513907498c0c5024309062c69fdc4cf14bca8eeca7ad4a40e592502b48c956ab08628cbde0abc0487bc296c8362943cbaead0c67c6ee6e686b0fb6d55157c8f15ed08e655a68f7dd306fd4da46aec40aeb80298a158a17fcc23bc4613502414342812b702dfb84baac70a80a52f26cfda334c6a66349c41227967f9bdb1e38b9a689114c5b4d70f4092e438f3eabe6dbf9f90d5ff87fb76398a7d4b346f64bfc53b9462d441373847a97306f16f8ce088e5a646a88421f934e6ddc4b2138eb3e8008f9a8b11b57acea90b7664bf9a27f59f1fdc228b547a79e1eceec8ffb78e5bbd5d1a08ecde1e943a1d88343e41d111204d1fe5687a6d1441baf6bca183b718a691166ce8b90ca66deb035885a33d92c94e34ee09b61daaba02f1a99fe5cf012f1d3f91c52a9065bd60b4dc796903d1f44c751e1486d82a9784a3bc5ad395225a621567e0e48a08a24f5fb735f8a5fbb812780e380d778016a5dd06f86e1c26c016bf0ee4b644d9da2220ed14854b9892b656fb4b4a25024abb21dc6a1282d879b6074a2da56db6fd206bf5a9d09ff6e72992a806eaae6a81746575bf899252db4b5eb2edd33b0ffbd7cbb5b1e76c8d7d1d8b49cc22d3c85b8f48978ca2b06b91d49db9e469f9dfe98e91dfbbd9640aaa23c696913f88b113f252a471a759d7b3237d701c7c8303e2c4bc3f4e053bef41d590a45e53d20056cf65178916ee4d69982f085bb9a8b515937ec635c2ea5c5b42513420dfcae1fa6caa265b92e67e5a80da4f80449f249d5872aebd8c1ae77d9852b31f078a992315f9986320b01528c5c5f17e4846719cf21bce397850ce34b7139ae98457d6c5c27c91181413d67b836b1fc55ae0cf229b55043f33d77b39209604a1986ac1dd40d76a58ad0e409dbd9c3438aeeab41781b6a29d3f971cadb60048d45aea464c51a190b281c768e57a0ed2629f1f10baedb653d6223c3b28cddee2efc9352b66718c9fc213e073c8376d15c6fae89469d7f85e5b5d8d253cf450bf7857dad51a667abc12f5faff4a9d8df43095ce34374c0bae1fd7d998f16679066fdd40b250f94a2ddb87a5b82014363e8bdfb15d40e5962c487df9c093d2147efa767894844a0dad2eb992072eb4c60f4dbc63b19486291689c5a0c89aafca33977b7ff3f5e3278ee6135754ea22618efa12bcce58ecad5a6f9fabfcd79d9deae0500f1b58875622bea8295979450731bb6e916afc2a091f836729f723e9c29731b8ebd74b75901c445c007f012431be71d28a0d282e3c61c821ca2093ea8b44f529b16fbf9c3a165d275d387e2e258438b2a6b916f923f47eb479cf6333f2a4e9bfa5e633ba8106f1572b1fe3e758404db2cdfb48c071151af979914f49523f5813a3922cc2b87662a0c5389c363ee5d780456fd76c9daab6afecf4380a9896b23932e6bbf7e7ac8dda7f336c15d45d596f695846b46729fa72be65aaf63494219506b563daa2490ff9cf62d56046ea2d7a47fdbc4bb1eb0c22c8952062e82044b4b74b51c682945451e571251c7ee87bfbcf5da9da0decb7f139b50054d12cdb3057958b0fe6cded2770f201ce60204c81c1d5bd187e5a961ce008bb83313aa415ba15a820b5ca61a432074fa01cf94458991d1153b9a572fe408d7ea5228db3080524abb3fd38b97e3827264ead0022ab85df72a5be34f8c6e154b57eda63105de62a8e080e7451df319eab3e5861acc03fadff8a65d56a48fdfa08f84acf29cfbf4a92080053eb38df8b7f0d0130e45de1191245db85f01069d0955a9f23dae2bb801a2a7649b167d2cfd462c07de06e28b0c155908613745f993db0063205f4a45c2be7982fbfc07dea2e8e5fcce9bc6010c0564d5899527bd10be373f0b038e9c5ec575555f2c5bfe0578dcba73daa129ef267961db792449e66b8bcc90dfa5e5734920f5595d7534ff58adfbb4bc4a089e2b1d84bf3a509c8e365983b0d9b6b919186ea2ab618543436813cbc267557a12d8ad013fbc5f98b3c27a6291be0855babab30366141825750fd0299eccadcd618d997b562b4dfd2235a57ec00ef152fdbbe1f73175889abbffd68138050998df02764dce7807503f15f23ddfd584edc0ff8418a6c9a0cbf36a833e0e0663eacfde24cab70c943b5c460c7cd7273c3df1e3940a6af1cf689794f305000f5273177899025fe38162101901b6162607d7ad25f7090269aee7dbe9e0ba00f139992265f91ee25e89785d9ac7fa653ee4a9f6940e4af238b122f980ade83dffe0f23e93e7919023572fafdd93a5cc167df48fa59e6ea4d1522441769174b79161899e5cbb91d958a1c22a2ffecb0f042f4e8e9940aad471ca4cc385c009a62aa48f7a483dfb63f1894cfe57429975c825c1c0ad022040acfbec1ab7764c772602390bbecbb6d039aae609294abd384128a3fbe694fad6be3826991c0bf77cc50d38588b02721f63a3bd8dc4690667aa370e6540ced6fa6b145d31c177577dff55948b0f3273235bfe957b59d07a92214a6bf0a46addcd92db7c2e83936f11dbe6e268b9643b76aeebf6c4c8ab4304de12e1ba4dc003f2ccbe750a8d90675597becbc7ba94def3254c42d90e89e3a28426a9ce01f4b36a62435df8f40e5713e09368ac6b6e5056c6766f66ee4dfff6ff010e3f7871369a8e46f888c52f36baf9b62d60bc8d06426a314aad5a0ff86a4362a91c2512a1df9c065f58fc7e3995289c129e4f9f774c1e32e2f39ae33c0f5aa30768f26fb2b6f55d3e9f87ac1bf25db164fe425d82a66ee42a2b144e26b519b6fb1437de754d36025f0df82046a6d7dc672640685e9c703e684c2f6593923cb9f9d611c473d314e950aeff028c5c9edc5497602ee645b43f7305ae8d84127ca12033fc681040d25b68c3f38405729ecb9d0687ebca3f1977e119a764ad79a36fc91116715195d9a50bd2f94aba2eb1a876d660d5aa0c80dc800f9707b819351e85ac51354c71bb6b7db73d8e4d394071853fb11a2374f1d0e31e6b5f9a46a31047f8ad6dd1b16c746b98cabac2b37636ced66298d8c27d11c3ec7df1797acb960b63f3dfa0bf0f1401ed0cc1a6f1b09b4c122ff4b62257592ef2b83f24d066f41115fec2a588af249737c9839c792cf63dadc8ccc510e0433f08f0e461a8c02209f4ba0026bfff1e5914738fefed528d4733233ea5b71c0051e18f727fb6ff8ed02876ce828a728f470787ed0ebb6626c76415bc362ab660abe37ea1a12d31a3340400fd388ea6fcb2f00e7842b2404931fbf72a190704ebfee4f27d47ac04e9a6db3863c35c5a7c27f06c9c66c2aae357853805814b59a7bd8776c93bec7d2786e069c875c247deee37c7ed832aad4813266ff421bef5e38ebf397f7edcf3ecfab6b0d9e9f9f5ab57c3b049941751349415d5573f349e34f1a9751953d9f23479ecc8c2c72ff9a9b5e819f4d9769b8915e6442e97847d13cf09297ffbc51c079c43a512cafd94ef833b87e4e61295620c1fc53c336f15a9434f50a49aeaec05cb1b7c450daf40db62d81f806f4b563c4e1bf9287382e4d8208172b15243b6b4fce9e94234c79373c35721d4b297b94fad52748ae2da9c99cff3be5af78b1905d93e9e1d1039c69dcc7b19db5caa1b590d19eda2a5b0567fe6fafbdb76e13a8a1f11ddd56c5f60114b123995a4c47d22fbb43cf9ec4e14c3ad18b9960adad18917769ea07405a8d2fcc22a328e00f9f067262e1ecb24be0aaf94a55d661c9ee60b59d4766df986e3253e3fc50dbfaaa95933f79d7f92af1947714f95a992c4200baed122dcd7185a279322eef7e2d4a51104a2f3633e52a8b12d648989f364e6f9609e7d2867d76dc67fa3c4efe9df52f35f3da51a0714c743606fa6891d0791a7961b2c27f14273350227992b7d6e58cbd6323efed3841db62a95ee77fb33434bdb051c648c19ee5cd85a56fa49c652a2885c647fd8a08384dc592f4d8584f47813498bec37cfc77a0ebf6fa5a169cd7c5b40d422a04bfe8714f4ebcfc72f44ac1246faa405f25daa962aef0eb26231948c6d6454a22eed5d100f0eebb1d0bc67c032548b04076a4ac29e89f5e71dde72052da0b34f3bd7158db6d6bd7c29a0ae997d2acf2f760ca3707d28da66fe45d2bd95ac0bb9d0b831ab6c1203c1825d4b983234cb19cf03bcf41098ef3efef1a725c2403f7125a9313cef908af39cade196563012c82e420d7f06b302efdb5c0afa68ca034a1a3377bdf87ef74cd747e705258c38c34a592b88b4b66a47a7ca506543c205d0a0d42c4067901b34e149cfc0fb839555081c69b586b764e46b918e574bfa63d058472fd2a4a11f34f277bdc63b6cbd50b3206bc4e291632e0b44de245e7b5834678d425e89155b4bd0cd425da7b00cebf9e82d905792acf2ca86fc91dbdcf1816c68d33f6c67d038db65e03c123ada5d8d058635cc49c97895719330e7911873617a440f250ff5e9825cc2366ae86c85bea2e0f0245a961029121d4643b1380633a73201aa422062225c5d3279c9b5131b54ac3eee0a4babfe9a475614fe6ee2f3c9c9e939a8480095c6ab48355fb90f0a1cf7c8023c7e0fb0078305b587bfa5082113033213168ac2db2d84fd38147124e3e9f2019195bd14a04b8db5df5273c842a12edb9e8757f4e98e3e5fe7fa9d19f63ad107b6cf7768a958e23f85b26469382579a4c40a8ef6a6b07d48d6baf6f5dd46036999e06d2b65813ad1c91a5fb8d6d4dd206744b654561655d708f8eced2e7962e346ee410ce63e51582383bbf60b5ee2ce08014d1a73d79a1e377552188051ac6d681cfc9d40ffa55e388a0eb4a92416041435ce3d0edf05564db8b35e1e5f21f0874caf25e310fc70214f8d86fcb861aa9aaeb995be57de40775e8220deac3cc313e81472ff9b5387c126a508604114f586cd999d7f923bd16134546adf2d5b7461a32bad6f6a0335dfc546b0d2d99fa4aad6346d907b8ad479f0d224f89ebb162a0a78d27c39fd64eaa9e3f7e8f75e7300089c05c34b394d5cb31948d127e5e68dd45b450b2d17a9c23efe74e0e74f8348798583ab74c47cc3692842839089641d9e687be60fc5109b32979ac81baa1f3aa43937aa4a81aac0872d0989d2f92d706b2babfb807c0218114763cc1c5d91feeaea0773d15a113aa853e76c97f6c4e452634e8f83bf46f5fd3de4f99f618f580af36bc45c2a10b8b5861a2080da986c0323843cdbd9e0f44e318b73741fe06370bac8a6a2227956e6c1cb6ecd65ac9172e9004bb3a72152e569f908b8a85d49b543d34e17dc99cbdbd6d5046fa30217029ebfddc0075d3f0ebc4ab6fb6250a87c6da9a8a1a535d38efd8438b462742ffd7cbc784c3a72a379d2f8c67719d728c3ab119a9ab797ace6982cad5b8c150b337f3e0b80c9605a74d2e6c36b0c5e49fca1a63ded1cbebab1763117d7e57913dddc04f6aebb1897783374d0865a0727e2d1b28a0ac76e7c984edfde19aa5cfff1b2bdd8c18500bb1720481729f94ac92cf40a74d2bed22cbe95699e13278cd2e222c38ce4f42090d566c401b11d3918963b94129d62f10af263980e79ee0ddbbea97d16d8da4cfc79a61399154240064e2494722ea62ae235773849c7be13d9823c7d3e766ed92542e3c593a9c44b8111f8410e1d8f9c9a1880060206d88901ac2fdb64785fced3fc1bedc18d21f89af727cf3c818ce788b524f793bc66c64eca89368709a9b9e941d683e96efc1ce11151067b154d6097645ed5f0a22963068deb506ad8b1b0d92a1bb98462d88c6b96815f6841792467dcdb158b150c97c1eb9b65a39409350214a5a19ea6f2b442938a9fbe1d0b15ec169927ba11c12f97fa3a2611aad4e2355b6ebcd75131938196b845e3414363d5d31e5dcbf90d4e3d9152b28cc9924d46426826053fa35456f32c2a1b2396f97f1fb68316022d050088755c27eff2aa3022ceb4311f0a614c9e2110467cedcf3c8f5af368aa379c854d7b8f90f6372f2e8135a35788d416a7fe1188269700828d7c5c5355901ef47b6e7209dda4e4799298025893bf016bf1a025da311b5b48a956ecf1d922248806a9542434ad6ca64f3a6d5690c5ce31f9890f49a62dd5ae93eb7a6968b9a3e4b49bb544a4557d83b085ff681d5d68f6497488efdbb1432d0992a0a38c53fe7eb94dba12a6c495033bb5bec746a7ecc3254e1840e84bd0008b08d25d7e933b43e986caa4c304d269ebde7ec0911f5224abfa1eabece789c7cb3a64cceeca7d7b44c2640317b2e2a035cffb977195d628f4cfa2178c81b274b169a4496e4b931adc51a878632631e3a1a3e2745d975cc73c458617222f13819c209db97cb43ca1465e7a350fbe98d0d2c31b29e2e11cc5ec5428a18505cee54536bc21ac8af8df82cb7c0c7f5b1ba624211eb4f0e2adac325315d786e616e920bfa248a8a3ed6f058cc2e4c99aab53375e74ca96bb4f3150838a2cd222bb038724bd8a../../share/grub2/x86_64-efi/grub.efi../../grub2/x86_64-efi/grub.efirootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootgrub2-2.02-lp151.21.30.1.src.rpmgrub2-efigrub2-x86_64-efi      /bin/sh/bin/shefibootmgrefibootmgrgrub2grub2perl-Bootloaderrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.022.023.0.4-14.6.0-14.0-15.2-14.14.1__t@_@_m_?@_;_5+@^^x^oj@^9\]@]]0_@]@\ޢ@\ޢ@\\\mA@\b@\N\J@\J@\I\HW@\@[@[@[[@[t[Q@[-[~[l,[j@[h8@[W[L[D[<[3|@[*A[#@[@Z@ZK@ZZJ@Z̧@Z@Z&ZZkZZ@Z@Zz@ZyZxG@Zg#Z*~ZOZ ZZNYeYA@YX@YY@YYYn@Yu@Y[@Y0YR@Y@X׭@Xg@X@XX~@XO@XZXXXX@XBX@XYXpXX@X|Xv@XlXfL@X=X @W@WiWWF@W@WWW@Wq@Wi,@WPW>@W=W'A@W!@WV@VՄ@VՄ@V@VT@VVvV$@VrVqR@VhVetVa@VV@VLh@V5V3[V2 @V#V @VV@UU@Uc@U@UUzUt2@Uq@Un@U]U[%UPUOH@U@U.RU/@UTTT[@T T@T@TT@T5TLTy@TeTR(@TR(@Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang Michael Chang bwiedemann@suse.comrw@suse.commchang@suse.commchang@suse.comrw@suse.comrw@suse.commchang mchang mchang@suse.commchang@suse.comGuillaume GARDET Jan Engelhardt mchang@suse.commchang@suse.comrw@suse.commchang@suse.commchang@suse.commchang@suse.comglin@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comdimstar@opensuse.orgjosef.moellers@suse.commchang@suse.commchang@suse.comjbohac@suse.czjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comjosef.moellers@suse.comkukuk@suse.deThomas.Blume@suse.comidonmez@suse.commchang@suse.commchang@suse.comjdelvare@suse.demchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.commchang@suse.comiforster@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.demchang@suse.commchang@suse.commchang@suse.commchang@suse.comolaf@aepfle.dejmatejek@suse.commsuchanek@suse.commchang@suse.commlatimer@suse.commlatimer@suse.comagraf@suse.commchang@suse.commchang@suse.comrw@suse.combwiedemann@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commsuchanek@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.comagraf@suse.comschwab@linux-m68k.orgmatwey.kornilov@gmail.commchang@suse.commchang@suse.comsor.alexei@meowr.rumchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commatz@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comro@suse.demchang@suse.comarvidjaar@gmail.comjengelh@inai.deagraf@suse.comolaf@aepfle.deagraf@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.comagraf@suse.comagraf@suse.commchang@suse.comdvaleev@suse.commchang@suse.comarvidjaar@gmail.comolaf@aepfle.dearvidjaar@gmail.comarvidjaar@gmail.comolaf@aepfle.deolaf@aepfle.demchang@suse.comarvidjaar@gmail.comarvidjaar@gmail.commchang@suse.commchang@suse.comeich@suse.commchang@suse.commchang@suse.comdmueller@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comagraf@suse.commchang@suse.comarvidjaar@gmail.commchang@suse.comarvidjaar@gmail.comdmueller@suse.commchang@suse.commchang@suse.comschwab@suse.demchang@suse.comarvidjaar@gmail.commchang@suse.commchang@suse.commchang@suse.commpluskal@suse.comschwab@suse.deschwab@suse.deschwab@suse.deagraf@suse.comLed Led jdelvare@suse.demchang@suse.com- Fix boot failure in blocklist installation (bsc#1178278) * Modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix grub2-install error with "failed to get canonical path of `/boot/grub2/i386-pc'." (bsc#1177957) * modified 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Fix https boot interrupted by unrecognised network address error message (bsc#1172952) * modified 0001-add-support-for-UEFI-network-protocols.patch- Improve the error handling when grub2-install fails with short mbr gap (bsc#1176062) * 0001-Warn-if-MBR-gap-is-small-and-user-uses-advanced-modu.patch * 0002-grub-install-Avoid-incompleted-install-on-i386-pc.patch- Add fibre channel device's ofpath support to grub-ofpathname and search hint to speed up root device discovery (bsc#1172745) * 0001-ieee1275-powerpc-implements-fibre-channel-discovery-.patch * 0002-ieee1275-powerpc-enables-device-mapper-discovery.patch- Fix for CVE-2020-15705 (bsc#1174421) * 0001-linuxefi-fail-kernel-validation-without-shim-protoco.patch- Make grub-calloc inline to avoid symbol not found error as the system may not use updated grub to boot the system (bsc#1174782) (bsc#1175060) (bsc#1175036) * 0001-kern-mm.c-Make-grub_calloc-inline.patch- Fix for CVE-2020-10713 (bsc#1168994) * 0001-yylex-Make-lexer-fatal-errors-actually-be-fatal.patch - Fix for CVE-2020-14308 CVE-2020-14309, CVE-2020-14310, CVE-2020-14311 (bsc#1173812) * 0002-safemath-Add-some-arithmetic-primitives-that-check-f.patch * 0003-calloc-Make-sure-we-always-have-an-overflow-checking.patch * 0004-calloc-Use-calloc-at-most-places.patch * 0005-malloc-Use-overflow-checking-primitives-where-we-do-.patch * 0006-iso9660-Don-t-leak-memory-on-realloc-failures.patch * 0007-font-Do-not-load-more-than-one-NAME-section.patch - Fix CVE-2020-15706 (bsc#1174463) * 0008-script-Remove-unused-fields-from-grub_script_functio.patch * 0009-script-Avoid-a-use-after-free-when-redefining-a-func.patch - Fix CVE-2020-15707 (bsc#1174570) * 0010-linux-Fix-integer-overflows-in-initrd-size-handling.patch - Use overflow checking primitives where the arithmetic expression for buffer allocations may include unvalidated data - Use grub_calloc for overflow check and return NULL when it would occur * 0001-add-support-for-UEFI-network-protocols.patch * 0003-bootp-New-net_bootp6-command.patch * grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * grub2-btrfs-09-get-default-subvolume.patch * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch * grub2-grubenv-in-btrfs-header.patch- Skip zfcpdump kernel from the grub boot menu (bsc#1166513) * grub2-s390x-skip-zfcpdump-image.patch- Backport to support searching for specific config files for netboot (bsc#1166409) * 0001-normal-Move-common-datetime-functions-out-of-the-nor.patch * 0002-kern-Add-X-option-to-printf-functions.patch * 0003-normal-main-Search-for-specific-config-files-for-net.patch * 0004-datetime-Enable-the-datetime-module-for-the-emu-plat.patch- From Stefan Seyfried : Fix grub2-install fails with "not a directory" error (boo#1161641, bsc#1162403) * grub2-install-fix-not-a-directory-error.patch- Fix grub2.sleep to load old kernel after hibernation (boo#1154783)- Consistently find btrfs snapshots on s390x. (bsc#1136970) * grub2-s390x-04-grub2-install.patch- Revert grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch until merged by upstream (bsc#1134287, bsc#1139345, LTC#177836, LTC#174229).- Avoid high resolution when trying to keep current mode (bsc#1133842) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch - Make GRUB_SAVEDEFAULT working with btrfs (bsc#1128592) * grub2-grubenv-in-btrfs-header.patch- Check/refresh zipl-kernel before hibernate on s390x. (bsc#940457) (Getting rid of hardcoded 'vmlinuz', which failed on PPC as well.) * grub2-systemd-sleep.sh- Try to refresh zipl-kernel on failed kexec. (bsc#1127293) * grub2-s390x-04-grub2-install.patch - Fully support "previous" zipl-kernel, with 'mem=1G' being available on dedicated entries. (bsc#928131) * grub2-s390x-09-improve-zipl-setup.patch - Refresh * grub2-zipl-setup-fix-btrfs-multipledev.patch- Use %doc for older products for compatibility, or may end up with unsuccessful build result * grub2.spec- Revert grub2-ieee1275-open-raw-mode.patch for regression of crashing lvm on multipath SAN (bsc#1113702) * deleted grub2-ieee1275-open-raw-mode.patch - Add exception handling to FCP lun enumeration (bsc#1113702) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix LOADER_TYPE parsing in grub2-once (boo#1122569)- Create compatibility sym-link of grub.xen in the old location to which old VM definition is pointing (bsc#1123942)- Add patch to fix ARM boot, when kernel become too big: * grub2-move-initrd-upper.patch (boo#1123350)- Replace old $RPM_* shell vars.- Support long menu entry by scrolling its text left and right through the key stroke ctrl+l and ctrl+r (FATE#325760) * grub2-gfxmenu-support-scrolling-menu-entry-s-text.patch- Improved hiDPI device support (FATE#326680) * grub2-video-limit-the-resolution-for-fixed-bimap-font.patch- Build platform-packages 'noarch' and move to '/usr/share/efi' for SUSE Manager. (FATE#326960) * grub2-efi-xen-chainload.patch (bsc#1122563) * grub2-efi-xen-removable.patch (refresh)- Support for UEFI Secure Boot on AArch64 (FATE#326541) * 0001-efi-refactor-grub_efi_allocate_pages.patch * 0002-Remove-grub_efi_allocate_pages.patch * 0003-arm64-efi-move-EFI_PAGE-definitions-to-efi-memory.h.patch * 0004-efi-Add-central-copy-of-grub_efi_find_mmap_size.patch * 0005-efi-Add-grub_efi_get_ram_base-function-for-arm64.patch * 0006-Add-support-for-EFI-handover-on-ARM64.patch- Change default tsc calibration method to pmtimer on EFI (bsc#1114754) * 0001-tsc-Change-default-tsc-calibration-method-to-pmtimer.patch- ieee1275: Fix double free in CAS reboot (bsc#1111955) * grub2-ppc64-cas-fix-double-free.patch- Support NVDIMM device names (bsc#1110073) * grub2-getroot-support-nvdimm.patch- Translate caret back to space as the initrd stanza could use space to delimit multiple files loaded (bsc#1101942) * grub2-util-30_os-prober-multiple-initrd.patch- ieee1275: implement FCP methods for WWPN and LUNs (bsc#1093145) * grub2-ieee1275-FCP-methods-for-WWPN-and-LUNs.patch- Fix broken network interface with random address and same name (bsc#1084508) * 0001-ofnet-Initialize-structs-in-bootpath-parser.patch- Fix outputting invalid btrfs subvol path on non btrfs filesystem due to bogus return code handling. (bsc#1106381) * modified grub2-btrfs-10-config-directory.patch- Fix overflow in sector count calculation (bsc#1105163) * grub2-msdos-fix-overflow.patch- Downgrade libburnia-tools to suggest as minimal system can't afford pulling in tcl/tk and half of the x11 stack (bsc#1102515) * modified grub2.spec- Add grub2-binutils2.31.patch: x86-64: Treat R_X86_64_PLT32 as R_X86_64_PC32. Starting from binutils commit bd7ab16b x86-64 assembler generates R_X86_64_PLT32, instead of R_X86_64_PC32, for 32-bit PC-relative branches. Grub2 should treat R_X86_64_PLT32 as R_X86_64_PC32.- The grubxenarch packages are now architecture-independent. [bsc#953297, grub2.spec, grub2-rpmlintrc]- Fix config_directory on btrfs to follow path scheme (bsc#1063443) * grub2-btrfs-10-config-directory.patch - Fix grub2-install --root-directory does not work for /boot/grub2/ on separate btrfs subvolume (boo#1098420) * grub2-btrfs-06-subvol-mount.patch - Fix setparams doesn't work as expected from boot-last-label NVRAM var, after inital CAS reboot on ieee1275 (bsc#1088830) * grub2-ppc64-cas-new-scope.patch- Fix install on xfs error (bsc#1101283) * 0001-xfs-Accept-filesystem-with-sparse-inodes.patch- grub2.spec: change %config to %config(noreplace) Don't overwrite user changes to config files on upgrades.- Marked %{_sysconfdir}/grub.d/40_custom as (noreplace) [bsc#1079332, grub2.spec]- Replace "GRUB_DISABLE_LINUX_RECOVERY" by "GRUB_DISABLE_RECOVERY" in /etc/default/grub and remove test from s390x install section in upec file. [bsc#1042433, grub.default, grub2.spec]- Added "# needssslcertforbuild", which got lost somewhere, to spec file [grub2.spec]- Replace confusing menu on btrfs "snapper rollback" by help text. [bsc#1027588, grub2-btrfs-help-on-snapper-rollback.patch]- Use %license instead of %doc [bsc#1082318]- grub2-emu on s390 keep network during kexec boot (bsc#1089493) * grub2-s390x-10-keep-network-at-kexec.patch- Add grub2-freetype-pkgconfig.patch to fix build with new freetype use pkgconfig to find Freetype libraries.- Fallback to raw mode if Open Firmware returns invalid ihandler (bsc#1071559) * grub2-ieee1275-open-raw-mode.patch- Fix error of essential directory not found on UEFI Xen host (bsc#1085842) * add grub2-efi-xen-removable.patch * rediff grub2-suse-remove-linux-root-param.patch- Fix corruption of "grub2-install --help" and grub2-install manual page (bsc#1086670) * unix-exec-avoid-atexit-handlers-when-child-exits.patch- Fix Nvidia GPU in legacy I/O slot 2 disappears during system startup (bsc#1082914) * 0001-Fix-PCIe-LER-when-GRUB2-accesses-non-enabled-MMIO-da.patch- Fix packed-not-aligned error on GCC 8 (bsc#1084632) * 0001-Fix-packed-not-aligned-error-on-GCC-8.patch- Fix incorrect netmask on ppc64 (bsc#1085419) * grub2-Fix-incorrect-netmask-on-ppc64.patch- Fix UEFI HTTPS Boot from ISO installation image (bsc#1076132) * 0001-add-support-for-UEFI-network-protocols.patch- fix wrong command output when default subvolume is toplevel tree with id 5 (bsc#1078775) * grub2-btrfs-09-get-default-subvolume.patch - insert mdraid modules to support software RAID (bsc#1078775) * grub2-xen-pv-firmware.cfg- Rename grub2-btrfs-workaround-grub2-once.patch to grub2-grubenv-in-btrfs-header.patch - Store GRUB environment variable health_checker_flag in Btrfs header- Fix incorrect check preventing the script from running (bsc#1078481) * 80_suse_btrfs_snapshot- Fix disappeared snapshot menu entry (bsc#1078481) * 80_suse_btrfs_snapshot- Fix unquoted string error and add some more checks (bsc#1079330) * grub2-check-default.sh- The %prep section applies patches, the %build section builds. Remove mixup of patching and building from %prep for quilt setup Related to bsc#1065703- Check if default entry need to be corrected for updated distributor version and/or use fallback entry if default kernel entry removed (bsc#1065349) * grub2-check-default.sh * grub2-mkconfig-default-entry-correction.patch - Fix grub2-mkconfig warning when disk is LVM PV (bsc#1071239) * grub2-getroot-scan-disk-pv.patch- Filter out autofs and securityfs from /proc/self/mountinfo to speed up nfsroot test in large number of autofs mounts (bsc#1069094) * modified grub2-pass-corret-root-for-nfsroot.patch- Fix http(s) boot security review (bsc#1058090) * 0002-AUDIT-0-http-boot-tracker-bug.patch- 0001-add-support-for-UEFI-network-protocols.patch: * Workaround http data access in firmware * Fix DNS device path parsing for efinet device * Relaxed UEFI Protocol requirement * Support Intel OPA (Omni-Path Architecture) PXE Boot (bsc#1015589)- grub2-xen-pv-firmware.cfg: remove linemode=1 from cmdline for SUSE installer. openQA expects ncurses interface. (bsc#1066919)- use python3 for autogen.sh (fate#323526)- Do not check that PReP partition does not contain an ELF during installation (bsc#1065738). * grub2-install-remove-useless-check-PReP-partition-is-empty.patch- Build diskboot_tpm.img as separate image to diskboot.img to prevent failure in booting on some bogus firmware. To use the TPM image you have to use suse-enable-tpm option of grub2-install (bsc#1052401) * 0013-tpm-i386-pc-diskboot-img.patch- Use /boot//loader/linux to determine if install media is SUSE instead of /contents file (bsc#1054453)- Use the pvops-enabled default kernel if the traditional xen pv kernel and initrd are not found (bsc#1054453)- Fix reboot in UEFI environments (bsc#1047331) * Add grub2-efi-Move-grub_reboot-into-kernel.patch * Refresh grub2-efi-Free-malloc-regions-on-exit.patch- Add preliminary patch for UEFI HTTPS and related network protocol support (fate#320130) * 0001-add-support-for-UEFI-network-protocols.patch- grub2-s390x-04-grub2-install.patch : remove arybase dependency in grub2-zipl-setup by not referencing to $[ (bsc#1055280)- Fix minor oversights in and the exit value of the grub2-install helper on s390x. (bsc#1055343, fate#323298) * grub2-s390x-09-improve-zipl-setup.patch- Make grub2.info build reproducible (boo#1047218)- add grub2-fix-build-with-flex-2.6.4.patch - fix build with flex 2.6.4+ that removed explicit (void) cast from fprintf call in yy_fatal_error.- Support LVM physical volume created without metadatacopies (bsc#1027526) * grub2-diskfilter-support-pv-without-metadatacopies.patch - Fix page fault exception when grub loads with Nvidia cards (bsc#1038533) * grub2-efi-uga-64bit-fb.patch - Require 'kexec-tools' for System z. (bsc#944358) * modified grub2.spec- grub2-xen-pv-firmware.cfg: insmod lvm module as it's not auto-loaded to support booting from lvm volume (bsc#1004324) - Grub not working correctly with xen and btrfs snapshots (bsc#1026511) * Add grub2-btrfs-09-get-default-subvolume.patch * grub2-xen-pv-firmware.cfg : search path in default subvolume- new upstream version 2.02 * rediff - use-grub2-as-a-package-name.patch * drop upstream patches - grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch - grub2-add-FALLTHROUGH-annotations.patch - update translations- update grub2-btrfs-workaround-grub2-once.patch to also store saved_entry in additional environment block (boo#1031025)- fix building with GCC (bsc#1030247) * add grub2-fix-uninitialized-variable-in-btrfs-with-GCC7.patch * grub2-add-FALLTHROUGH-annotations.patch- Fix out of memory error on lvm detection (bsc#1016536) (bsc#1027401) * grub2-lvm-allocate-metadata-buffer-from-raw-contents.patch - Fix boot failure if /boot is separate btrfs partition (bsc#1023160) * grub2-btrfs-06-subvol-mount.patch- 0004-tpm-Rework-linux-command.patch : Fix out of bound memory copy (bsc#1029187)- new upstream version 2.02~rc2 * rediff - use-grub2-as-a-package-name.patch - grub2-linguas.sh-no-rsync.patch * drop upstream patches - 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch- TPM Support (FATE#315831) * 0001-tpm-Core-TPM-support.patch * 0002-tpm-Measure-kernel-initrd.patch * 0003-tpm-Add-BIOS-boot-measurement.patch * 0004-tpm-Rework-linux-command.patch * 0005-tpm-Rework-linux16-command.patch * 0006-tpm-Measure-kernel-and-initrd-on-BIOS-systems.patch * 0007-tpm-Measure-the-kernel-commandline.patch * 0008-tpm-Measure-commands.patch * 0009-tpm-Measure-multiboot-images-and-modules.patch * 0010-tpm-Fix-boot-when-there-s-no-TPM.patch * 0011-tpm-Fix-build-error.patch * 0012-tpm-Build-tpm-as-module.patch - grub2.spec : Add grub-tpm.efi for Secure Boot- Fix invalid Xen EFI config files if xen_args include GRUB2 quoting (bsc#900418) (bsc#951748) * grub2-efi-xen-cfg-unquote.patch - Fix linuxefi erroneously initialize linux's boot_params with non-zero values. (bsc#1025563) * grub2-linuxefi-fix-boot-params.patch - Removed grub2-fix-multi-device-root-kernel-argument.patch as it has regression on how GRUB_DISABLE_LINUX_UUID=true interpreted (bsc#1015138)- Fix for openQA UEFI USB Boot failure with upstream patch (bsc#1026344) * added 0001-efi-strip-off-final-NULL-from-File-Path-in-grub_efi_.patch * removed 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- Temporary fix for openQA UEFI USB Boot failure (bsc#1026344) * 0001-Revert-efi-properly-terminate-filepath-with-NULL-in-.patch- grub2.spec: fix s390x file list.- require efibootmgr in efi package (boo#1025520)- Merge changes from SLE12 - add grub2-emu-4-all.patch * Build 'grub2-emu' wherever possible, to allow a better implementation of that feature. - add grub2-s390x-06-loadparm.patch, - add grub2-commands-introduce-read_file-subcommand.patch: * allow s390x to telecontrol grub2. (bsc#891946, bsc#892852) - add grub2-s390x-06-loadparm.patch: * ignore case and fix transliteration of parameter. (bsc#891946) - add grub2-s390x-07-add-image-param-for-zipl-setup.patch * Add --image switch to force zipl update to specific kernel (bsc#928131) - add grub2-s390x-08-workaround-part-to-disk.patch * Ignore partition tables on s390x. (bsc#935127) - add grub2-efi-chainload-harder.patch: * allow XEN to be chain-loaded despite firmware flaws. (bnc#887793) * Do not use shim lock protocol for reading pe header, it won't be available when secure boot disabled (bsc#943380) * Make firmware flaw condition be more precisely detected and add debug message for the case * Check msdos header to find PE file header (bsc#954126) - grub2-s390x-04-grub2-install.patch: * streamline boot to grub menu. (bsc#898198) * Force '/usr' to read-only before calling kexec. (bsc#932951) - grub2-once: * add '--enum' option to enumerate boot-entries in a way actually understood by 'grub2'. (bsc#892852, bsc#892811) * Examine variables from grub environment in 'grub2-once'. (fate#319632)- new upstream version 2.02~rc1 * rediff - use-grub2-as-a-package-name.patch - grub2-s390x-04-grub2-install.patch - grub2-accept-empty-module.patch - grub2-btrfs-04-grub2-install.patch - grub2-btrfs-06-subvol-mount.patch * drop upstream patches - 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch - 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch - 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - 0001-Fix-fwpath-in-efi-netboot.patch - 0001-arm64-Move-firmware-fdt-search-into-global-function.patch - 0002-arm-efi-Use-fdt-from-firmware-when-available.patch - grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch - 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch - 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch - 0001-xen-make-xen-loader-callable-multiple-times.patch - 0002-xen-avoid-memleaks-on-error.patch - 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch - 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch - 0005-xen-synchronize-xen-header.patch - 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch - 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch - 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch - 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch - 0010-xen-modify-page-table-construction.patch - 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch * add - fix-grub2-use-stat-instead-of-udevadm-for-partition-lookup-with-new-glibc.patch fix compilation with new glibc- Fix build error on glibc-2.25 * 0001-build-Use-AC_HEADER_MAJOR-to-find-device-macros.patch * 0002-configure-fix-check-for-sys-sysmacros.h-under-glibc-.patch - Fix fwpath in efi netboot (fate#321993) (bsc#1022294) * 0001-Fix-fwpath-in-efi-netboot.patch- grub2-systemd-sleep.sh: Fix prematurely abort by commands error return code and skip the offending menu entry (bsc#1022880)- Add support for BLT only EFI GOP adapters (FATE#322332) * grub2-efi-gop-add-blt.patch- info-dir-entry.patch: Update info dir entry to follow renaming to grub2- Add serial module to efi image. Serial terminal is still useful even with EFI Secure Boot- Support %posttrans with marcos provided by update-bootloader-rpm-macros package (bsc#997317)- Remove outdated README.openSUSE (bsc#907693)- 20_memtest86+: avoid adding memtest86+ to the list with UEFI booting.- Fix new line character in distributor (bsc#1007212) * modified grub2-default-distributor.patch- From Juergen Gross : grub-xen: support booting huge pv-domains (bsc#1004398) (bsc#899465) * 0001-xen-make-xen-loader-callable-multiple-times.patch * 0002-xen-avoid-memleaks-on-error.patch * 0003-xen-reduce-number-of-global-variables-in-xen-loader.patch * 0004-xen-add-elfnote.h-to-avoid-using-numbers-instead-of-.patch * 0005-xen-synchronize-xen-header.patch * 0006-xen-factor-out-p2m-list-allocation-into-separate-fun.patch * 0007-xen-factor-out-allocation-of-special-pages-into-sepa.patch * 0008-xen-factor-out-allocation-of-page-tables-into-separa.patch * 0009-xen-add-capability-to-load-initrd-outside-of-initial.patch * 0010-xen-modify-page-table-construction.patch * 0011-xen-add-capability-to-load-p2m-list-outside-of-kerne.patch- add support for netboot on arm64-efi platforms (bsc#998097) * grub2-arm64-mknetdir-add-suport-for-arm64-efi.patch- use $PRETTY_NAME instead of $NAME $VERSION for $GRUB_DISTRIBUTOR in openSUSE Tumbleweed (bsc#995549) * modified grub2-default-distributor.patch - grub2.spec: add http module to grub.efi (fate#320129)- binutils 2.27 creates empty modules without a symtab. Add patch grub2-accept-empty-module.patch to not reject them.- since version 1.7 cryptsetup defaults to SHA256 for LUKS - include gcry_sha256 in signed EFI image- Workaround default entry in snapshot menu (bsc#956046) * grub2-btrfs-08-workaround-snapshot-menu-default-entry.patch - grub2.spec: Add true command to grub.efi (bsc#993274)- grub.default: Empty GRUB_CMDLINE_LINUX_DEFAULT, the value will be fully taken from YaST settings. (bsc#989803)- Add patches from Roberto Sassu - Fix grub2-10_linux-avoid-multi-device-root-kernel-argument.patch, device path is not tested if GRUB_DISABLE_LINUX_UUID="true" - added grub2-fix-multi-device-root-kernel-argument.patch (bsc#960776) - grub2-zipl-setup: avoid multi-device root= kernel argument * added grub2-zipl-setup-fix-btrfs-multipledev.patch (bsc#960776) - Add SUSE_REMOVE_LINUX_ROOT_PARAM configuration option to /etc/default/grub, to remove root= and rootflags= from the kernel command line in /boot/grub2/grub.cfg and /boot/zipl/config - added grub2-suse-remove-linux-root-param.patch (bsc#962585)- Support HTTP Boot IPv4 and IPv6 (fate#320129) * 0001-misc-fix-invalid-character-recongition-in-strto-l.patch * 0002-net-read-bracketed-ipv6-addrs-and-port-numbers.patch * 0003-bootp-New-net_bootp6-command.patch * 0004-efinet-UEFI-IPv6-PXE-support.patch * 0005-grub.texi-Add-net_bootp6-doument.patch * 0006-bootp-Add-processing-DHCPACK-packet-from-HTTP-Boot.patch * 0007-efinet-Setting-network-from-UEFI-device-path.patch * 0008-efinet-Setting-DNS-server-from-UEFI-protocol.patch - Fix heap corruption after dns lookup * 0001-dns-fix-buffer-overflow-for-data-addresses-in-recv_h.patch- fix filelist for s390x- Fix grub2-editenv error on encrypted lvm installation (bsc#981621) * modified grub2-btrfs-workaround-grub2-once.patch - Add missing closing bracket in 'grub2-snapper-plugin.sh'. - Fix snapshot booting on s390x (bsc#955115) * modified grub2-snapper-plugin.sh - Fallback to old subvol name scheme to support old snapshot config (bsc#953538) * added grub2-btrfs-07-subvol-fallback.patch- update grub2-once with patch from Björn Voigt - skip comments in /etc/sysconfig/bootloader (boo#963610)- Make sure all systemd unit files are passed to %service_ macros.- Add patch to free memory on exit in efi environments (bsc#980739) * grub2-efi-Free-malloc-regions-on-exit.patch- Remove xen-devel from BuildRequires required headers are included in grub-2.0.2- Add support for "t" hotkey to switch to text mode (bsc#976836) * added grub2-SUSE-Add-the-t-hotkey.patch - Add support for hidden menu entries (bsc#976836) * added grub2-Add-hidden-menu-entries.patch- Correct show user defined comments in menu for snapshots (bsc#956698) * modified grub2-snapper-plugin.sh- Fix GRUB_DISABLE_LINUX_UUID to be ignore and also fallback kernel device won't be used if fs uuid not detected (bsc#971867) * added 0001-10_linux-Fix-grouping-of-tests-for-GRUB_DEVICE.patch * added 0002-20_linux_xen-fix-test-for-GRUB_DEVICE.patch- new upstream version 2.02~beta3 * highlights of user visible changes not yet present in openSUSE package - arm-uboot now generates position independent self relocating image, so single binary should run on all supported systems - loader for Xen on aarch64. grub-mkconfig support was not in time for beta3 yet. - improved ZFS support (extensible_dataset, large_blocks, embedded_data, hole_birth features) - support for IPv6 Router Advertisements - support for persistent memory (we do not overwrite it and pass correct information to OS) - try to display more specific icons for os-prober generated menu entries - grub-install detects EFI bit size and selects correct platform (x86_64-efi or i386-efi) independent of OS bit size; needs kernel 4.0 or higher. - LVM RAID1 support - xnu loader fixes which should make OS X menu entry generated by os-prober work again - key modifiers (Ctrl-X etc) should work on EFI too - ... and lot of fixes over entire tree * rediff - rename-grub-info-file-to-grub2.patch - use-grub2-as-a-package-name.patch - grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch - grub2-fix-menu-in-xen-host-server.patch - grub2-efi-HP-workaround.patch - grub2-secureboot-chainloader.patch - grub2-s390x-02-kexec-module-added-to-emu.patch - grub2-s390x-04-grub2-install.patch - grub2-s390x-05-grub2-mkconfig.patch - grub2-efi-xen-chainload.patch - grub2-mkconfig-aarch64.patch - grub2-btrfs-04-grub2-install.patch - grub2-ppc64-cas-reboot-support.patch - 0002-Add-Virtual-LAN-support.patch * fix grub2-secureboot-add-linuxefi.patch - use grub_memset and grub_memcpy instead of memset and memcpy (caused errors due to compiler warning) * drop upstream patches - 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch - 0001-look-for-DejaVu-also-in-usr-share-fonts-truetype.patch - 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch - 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch - 0003-efinet-open-Simple-Network-Protocol-exclusively.patch - 0001-efinet-Check-for-immediate-completition.patch - 0001-efinet-enable-hardware-filters-when-opening-interfac.patch - grub2-xen-legacy-config-device-name.patch - grub2-getroot-support-NVMe-device-names.patch - grub2-netboot-hang.patch - grub2-btrfs-fix-incorrect-address-reference.patch - aarch64-reloc.patch - grub2-glibc-2.20.patch (related code dropped upstream) - grub2-Initialized-initrd_ctx-so-we-don-t-free-a-random-poi.patch - grub2-btrfs-fix-get_root-key-comparison-failures-due-to-en.patch - grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch - grub2-ppc64-qemu.patch - grub2-xfs-Add-helper-for-inode-size.patch - grub2-xfs-Fix-termination-loop-for-directory-iteration.patch - grub2-xfs-Convert-inode-numbers-to-cpu-endianity-immediate.patch - grub2-xfs-V5-filesystem-format-support.patch - 0001-Add-bootargs-parser-for-open-firmware.patch - grub2-arm64-set-correct-length.patch - grub2-arm64-setjmp-Add-missing-license-macro.patch - grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch - 0001-unix-password-Fix-file-descriptor-leak.patch - 0002-linux-getroot-fix-descriptor-leak.patch - 0003-util-grub-mount-fix-descriptor-leak.patch - 0004-linux-ofpath-fix-descriptor-leak.patch - 0005-grub-fstest-fix-descriptor-leak.patch - ppc64le.patch - libgcc-prereq.patch - libgcc.patch - 0001-Fix-security-issue-when-reading-username-and-passwor.patch - 0001-menu-fix-line-count-calculation-for-long-lines.patch - grub2-arm64-Reduce-timer-event-frequency-by-10.patch - 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch - 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch - 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch - 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch - 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch - 0005-i386-fix-TSC-calibration-using-PIT.patch - biendian.patch - ppc64_opt.patch * drop workarounds for gdb_grub and grub.chrp, they are now installed under fixed name * do not patch docs/Makefile.in, it is regenerated anyway- Make mkconfig search for zImage on arm * grub2-mkconfig-arm.patch- Add support to directly pass an EFI FDT table to a kernel on 32bit arm * 0001-arm64-Move-firmware-fdt-search-into-global-function.patch * 0002-arm-efi-Use-fdt-from-firmware-when-available.patch- Add config option to set efi xen loader command line option (bsc#957383) * added grub2-efi-xen-cmdline.patch- Drop ppc64le patches. Build stage1 as BE for Power Droped patches: - grub2-ppc64le-01-Add-Little-Endian-support-for-Power64-to-the-build.patch - grub2-ppc64le-02-Build-grub-as-O1-until-we-add-savegpr-and-restgpr-ro.patch - grub2-ppc64le-03-disable-creation-of-vsx-and-altivec-instructions.patch - grub2-ppc64le-04-powerpc64-LE-s-linker-knows-how-to-handle-the-undefi.patch - grub2-ppc64le-05-grub-install-can-now-recognize-and-install-a-LE-grub.patch - grub2-ppc64le-06-set-the-ABI-version-to-0x02-in-the-e_flag-of-the-PPC.patch - grub2-ppc64le-07-Add-IEEE1275_ADDR-helper.patch - grub2-ppc64le-08-Fix-some-more-warnings-when-casting.patch - grub2-ppc64le-09-Add-powerpc64-types.patch - grub2-ppc64le-10-powerpc64-is-not-necessarily-BigEndian-anymore.patch - grub2-ppc64le-11-Fix-warnings-when-building-powerpc-linux-loader-64bi.patch - grub2-ppc64le-12-GRUB_ELF_R_PPC_-processing-is-applicable-only-for-32.patch - grub2-ppc64le-13-Fix-powerpc-setjmp-longjmp-64bit-issues.patch - grub2-ppc64le-14-Add-powerpc64-ieee1275-trampoline.patch - grub2-ppc64le-15-Add-64bit-support-to-powerpc-startup-code.patch - grub2-ppc64le-16-Add-grub_dl_find_section_addr.patch - grub2-ppc64le-17-Add-ppc64-relocations.patch - grub2-ppc64le-18-ppc64-doesn-t-need-libgcc-routines.patch - grub2-ppc64le-19-Use-FUNC_START-FUNC_END-for-powerpc-function-definit.patch - grub2-ppc64le-20-.TOC.-symbol-is-special-in-ppc64le-.-It-maps-to-the-.patch - grub2-ppc64le-21-the-.toc-section-in-powerpc64le-modules-are-sometime.patch - grub2-ppc64le-22-all-parameter-to-firmware-calls-should-to-be-BigEndi.patch - grub2-ppc64le-fix-64bit-trampoline-in-dyn-linker.patch - grub2-ppc64le-timeout.patch - grub2-ppc64-build-ppc64-32bit.patch - Added patches: - biendian.patch - grub2-ppc64-cas-reboot-support.patch - libgcc-prereq.patch - libgcc.patch - ppc64_opt.patch - ppc64le.patch- Backport upstream patches for HyperV gen2 TSC timer calbration without RTC (bsc#904647) * added 0001-grub-core-kern-i386-tsc.c-calibrate_tsc-Ensure-that.patch * added 0002-i386-tsc-Fix-unused-function-warning-on-xen.patch * added 0003-acpi-do-not-skip-BIOS-scan-if-EBDA-length-is-zero.patch * added 0004-tsc-Use-alternative-delay-sources-whenever-appropria.patch * added 0005-i386-fix-TSC-calibration-using-PIT.patch- Add 0001-menu-fix-line-count-calculation-for-long-lines.patch (bsc#943585)- grub2-xen-pv-firmware.cfg: fix hd boot (boo#926795)- Add 0001-Fix-security-issue-when-reading-username-and-passwor.patch Fix for CVE-2015-8370 [boo#956631]- Update grub2-efi-xen-chainload.patch - fix copying of Linux kernel and initrd to ESP (boo#958193)- Rename grub2-xen.cfg to grub2-xen-pv-firmware.cfg (boo#926795)- grub2-xen.cfg: to handle grub1 menu.lst in PV guest (boo#926795)- Expand list of grub.cfg search path in PV Xen guest for systems installed to btrfs snapshot. (bsc#946148) (bsc#952539) * modified grub2-xen.cfg - drop grub2-fix-Grub2-with-SUSE-Xen-package-install.patch (bsc#774666)- Add 0001-unix-do-not-close-stdin-in-grub_passwd_get.patch Fix reading password by grub2-mkpasswd-pbdk2 without controlling tty, e.g. when called from Xfce menu (boo#954519)- Modify grub2-linguas.sh-no-rsync.patch to re-enable en@quot catalog (boo#953022). Other autogenerated catalogs still fail to build due to missing C.UTF-8 locale.- Allow to execute menuentry unrestricted as default (fate#318574) * added grub2-menu-unrestricted.patch- Add missing quoting for linuxefi (bsc#951962) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refreshed grub2-secureboot-provide-linuxefi-config.patch- Include custom.cfg into the files scanned by grub2-once. Allows to chose manually added entries as well (FATE#319632).- Upstream patches for fixing file descriptor leakage (bsc#943784) * added 0001-unix-password-Fix-file-descriptor-leak.patch * added 0002-linux-getroot-fix-descriptor-leak.patch * added 0003-util-grub-mount-fix-descriptor-leak.patch * added 0004-linux-ofpath-fix-descriptor-leak.patch * added 0005-grub-fstest-fix-descriptor-leak.patch- Do not force ro option in linuxefi patch (bsc#948555) * modified grub2-secureboot-use-linuxefi-on-uefi.patch * refrehed grub2-secureboot-provide-linuxefi-config.patch- add 0001-efinet-Check-for-immediate-completition.patch, 0001-efinet-enable-hardware-filters-when-opening-interfac.patch, grub2-arm64-efinet-handle-get_status-on-buggy-firmware-properly.patch (bsc#947203)- Set default GRUB_DISTRIBUTOR from /etc/os-release if it is empty or not set by user (bsc#942519) * added grub2-default-distributor.patch * modified grub.default- add systemd-sleep-plugin subpackage (bsc#941758) - evaluate the menu entry's title string by printf * modified grub2-once * added grub2-systemd-sleep.sh- fix for 'rollback' hint (bsc#901487) * modified grub2-btrfs-05-grub2-mkconfig.patch:- Replace 12.1 with 12 SP1 for the list of snapshots (bsc#934252) * modified grub2-snapper-plugin.sh- Fix btrfs subvol detection on BigEndian systems (bsc#933541) * modified grub2-btrfs-06-subvol-mount.patch - Fix grub2-mkrelpath outputs wrong path on BigEndian system * added grub2-getroot-fix-get-btrfs-fs-prefix-big-endian.patch- If we have a post entry and the description field is empty, we should use the "Pre" number and add that description to the post entry. (fate#317972) - Show user defined comments in grub2 menu for snapshots (fate#318101) * modified grub2-snapper-plugin.sh- add 0001-grub-core-kern-efi-efi.c-Ensure-that-the-result-star.patch make sure firmware path starts with '/' (boo#902982)- Fix btrfs patch on BigEndian systems (bsc#933541) * modified grub2-btrfs-01-add-ability-to-boot-from-subvolumes.patch * modified grub2-btrfs-06-subvol-mount.patch- Fix license for setjmp module * added grub2-arm64-setjmp-Add-missing-license-macro.patch- Fix install into snapper controlled btrfs subvolume and can't load grub modules from separate subvolume (fate#318392) * added grub2-btrfs-06-subvol-mount.patch * grub2-snapper-plugin.sh: use absolute subvol name- also Recommends mtools for grub2-mkrescue (used to create EFI boot image) in addition to libburnia-tools.- Support booting opensuse installer as PV DomU (boo#926795) * added grub2-xen.cfg for tracking default pvgrub2 xen configs rather than generating it from spec file * grub2-xen.cfg: from Olaf Hering - replace grub2-efinet-reopen-SNP-protocol-for-exclusive-use-by-grub.patch with upstream version: * 0001-efidisk-move-device-path-helpers-in-core-for-efinet.patch * 0002-efinet-skip-virtual-IPv4-and-IPv6-devices-when-enume.patch * 0003-efinet-open-Simple-Network-Protocol-exclusively.patch Fixes EFI network boot in some QEMU configurations.- fix grub2-mkconfig-aarch64.patch: fix arch detection broken by malformed patch rediffing- Cleanup patch not applied * remove grub2-enable-theme-for-terminal-window.patch * grub2.rpmlintrc: remove addFilter("patch-not-applied")- Merge changes from SLE12 - Do not pass root= when root is on nfs (bnc#894374) * modified grub2-pass-corret-root-for-nfsroot.patch * modified grub2-secureboot-provide-linuxefi-config.patch * modified grub2-secureboot-use-linuxefi-on-uefi.patch - Fix xen pvops kernel not appear on menu (bnc#895286) * modified grub2-fix-menu-in-xen-host-server.patch - Workaround grub2-once (bnc#892358) * added grub2-btrfs-workaround-grub2-once.patch * added grub2-once.service * modified grub2-once - Fix busy-loop and hang while network booting (bnc#870613) * added grub2-netboot-hang.patch - Add warning in grubenv file about editing it directly (bnc#887008) * added grub2-editenv-add-warning-message.patch - Fix broken graphics with efifb on QEMU/KVM and nomodeset (bnc#884558) * added grub2-efi-disable-video-cirrus-and-bochus.patch - Disable video support on Power (bnc#877142) * added grub2-ppc64le-disable-video.patch - Track occupied memory so it can be released on exit (bnc#885026) * added grub2-ppc64le-memory-map.patch - Fix grub.xen config searching path on boot partition (bnc#884828) - Add linux16 and initrd16 to grub.xen (bnc#884830) * added grub2-xen-linux16.patch - VLAN tag support (fate#315753) * added 0001-Add-bootargs-parser-for-open-firmware.patch * added 0002-Add-Virtual-LAN-support.patch - Use chainloader to boot xen.efi under UEFI (bnc#871857) * added grub2-efi-xen-chainload.patch - Use device part of chainloader target, if present (bnc#871857) * added grub2-efi-chainloader-root.patch - Create only hypervisor pointed by /boot/xen.gz symlink (bnc#877040) * modified grub2-fix-Grub2-with-SUSE-Xen-package-install.patch - Fix xen and native entries differ in grub.cfg (bnc#872014) * modified grub2-linux.patch - Fix install error on ddf md device (bnc#872360) * added grub2-getroot-treat-mdadm-ddf-as-simple-device.patch - Fix booting from NVMe device (bnc#873132) * added grub2-getroot-support-NVMe-device-names.patch - Document peculiarities of s390 terminals * added README.ibm3215 - Grub2 for System z (fate#314213) * added grub2-s390x-02-kexec-module-added-to-emu.patch * added grub2-s390x-03-output-7-bit-ascii.patch * added grub2-s390x-04-grub2-install.patch * added grub2-s390x-05-grub2-mkconfig.patch- grub2-arm64-set-correct-length.patch: arm64: set correct length of device path end entry- grub2-efi-HP-workaround.patch: * try to read config from all-uppercase prefix as last resort. (bnc#872503) (boo#902982)- add luks, gcry_rijndael, gcry_sha1 to signed EFI image to support LUKS partition in default setup (boo#917427)- enable i386-xen (boo#891043)- Downgrade os-prober dependency to Recommends (boo#898610)- grub2-snapper-plugin.sh: cleanup grub-snapshot.cfg not referring to any snapshot (boo#909359)- Require efibootmgr also on i586- Require efibootmgr also on aarch64- grub2-snapper-plugin.sh: fix use of printf without format string; fix quoting- grub2-arm64-Reduce-timer-event-frequency-by-10.patch: fix periodic timer on arm64- enable 32bit arm targets for uboot and efi- Replace 'echo -e' command in grub2-snapper-plugin.sh script to 'printf' command. '-e' option of 'echo' command may be unsupported in some POSIX-complete shells.- fix bashism in post script- grub2.spec: Fix conditional construct which wasn't supported by older versions of rpmbuild (caused error message "parseExpressionBoolean returns -1".)- fix errors when boot is btrfs with Windows partition scheme. The first partition is created on cylinder boundary that can't offer enough room for core.img and also the installation has to be in logical paritition which made MBR the only location to install. (bnc#841247) * add grub2-setup-try-fs-embed-if-mbr-gap-too-small.patch/bin/shgrub2-efi  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     2.02-lp151.21.30.12.02-lp151.21.30.12.02-lp151.21.30.1efiDEPRECATEDgrub.efiefix86_64grub.dergrub.efix86_64-efiacpi.modacpi.moduleadler32.modadler32.moduleaffs.modaffs.moduleafs.modafs.moduleahci.modahci.moduleall_video.modall_video.moduleaout.modaout.moduleappleldr.modappleldr.modulearchelp.modarchelp.moduleat_keyboard.modat_keyboard.moduleata.modata.modulebacktrace.modbacktrace.modulebfs.modbfs.modulebitmap.modbitmap.modulebitmap_scale.modbitmap_scale.moduleblocklist.modblocklist.moduleboot.modboot.modulebsd.modbsd.modulebswap_test.modbswap_test.modulebtrfs.modbtrfs.modulebufio.modbufio.modulecat.modcat.modulecbfs.modcbfs.modulecbls.modcbls.modulecbmemc.modcbmemc.modulecbtable.modcbtable.modulecbtime.modcbtime.modulechain.modchain.modulecmdline_cat_test.modcmdline_cat_test.modulecmp.modcmp.modulecmp_test.modcmp_test.modulecommand.lstconfigfile.modconfigfile.modulecpio.modcpio.modulecpio_be.modcpio_be.modulecpuid.modcpuid.modulecrc64.modcrc64.modulecrypto.lstcrypto.modcrypto.modulecryptodisk.modcryptodisk.modulecs5536.modcs5536.modulectz_test.modctz_test.moduledate.moddate.moduledatehook.moddatehook.moduledatetime.moddatetime.moduledisk.moddisk.modulediskfilter.moddiskfilter.modulediv.moddiv.modulediv_test.moddiv_test.moduledm_nv.moddm_nv.moduleecho.modecho.moduleefi_gop.modefi_gop.moduleefi_netfs.modefi_netfs.moduleefi_uga.modefi_uga.moduleefifwsetup.modefifwsetup.moduleefinet.modefinet.moduleehci.modehci.moduleelf.modelf.moduleeval.modeval.moduleexfat.modexfat.moduleexfctest.modexfctest.moduleext2.modext2.moduleextcmd.modextcmd.modulefat.modfat.modulefile.modfile.modulefixvideo.modfixvideo.modulefont.modfont.modulefs.lstfshelp.modfshelp.modulefunctional_test.modfunctional_test.modulegcry_arcfour.modgcry_arcfour.modulegcry_blowfish.modgcry_blowfish.modulegcry_camellia.modgcry_camellia.modulegcry_cast5.modgcry_cast5.modulegcry_crc.modgcry_crc.modulegcry_des.modgcry_des.modulegcry_dsa.modgcry_dsa.modulegcry_idea.modgcry_idea.modulegcry_md4.modgcry_md4.modulegcry_md5.modgcry_md5.modulegcry_rfc2268.modgcry_rfc2268.modulegcry_rijndael.modgcry_rijndael.modulegcry_rmd160.modgcry_rmd160.modulegcry_rsa.modgcry_rsa.modulegcry_seed.modgcry_seed.modulegcry_serpent.modgcry_serpent.modulegcry_sha1.modgcry_sha1.modulegcry_sha256.modgcry_sha256.modulegcry_sha512.modgcry_sha512.modulegcry_tiger.modgcry_tiger.modulegcry_twofish.modgcry_twofish.modulegcry_whirlpool.modgcry_whirlpool.modulegdb_grubgeli.modgeli.modulegettext.modgettext.modulegfxmenu.modgfxmenu.modulegfxterm.modgfxterm.modulegfxterm_background.modgfxterm_background.modulegfxterm_menu.modgfxterm_menu.modulegmodule.plgptsync.modgptsync.modulegrub-tpm.efigrub.efigzio.modgzio.modulehalt.modhalt.modulehashsum.modhashsum.modulehdparm.modhdparm.modulehello.modhello.modulehelp.modhelp.modulehexdump.modhexdump.modulehfs.modhfs.modulehfsplus.modhfsplus.modulehfspluscomp.modhfspluscomp.modulehttp.modhttp.moduleiorw.modiorw.moduleiso9660.modiso9660.modulejfs.modjfs.modulejpeg.modjpeg.modulekernel.execkernel.imgkeylayouts.modkeylayouts.modulekeystatus.modkeystatus.moduleldm.modldm.modulelegacy_password_test.modlegacy_password_test.modulelegacycfg.modlegacycfg.modulelinux.modlinux.modulelinux16.modlinux16.modulelinuxefi.modlinuxefi.moduleloadbios.modloadbios.moduleloadenv.modloadenv.moduleloopback.modloopback.modulels.modls.modulelsacpi.modlsacpi.modulelsefi.modlsefi.modulelsefimmap.modlsefimmap.modulelsefisystab.modlsefisystab.modulelsmmap.modlsmmap.modulelspci.modlspci.modulelssal.modlssal.moduleluks.modluks.modulelvm.modlvm.modulelzopio.modlzopio.modulemacbless.modmacbless.modulemacho.modmacho.modulemdraid09.modmdraid09.modulemdraid09_be.modmdraid09_be.modulemdraid1x.modmdraid1x.modulememdisk.modmemdisk.modulememrw.modmemrw.moduleminicmd.modminicmd.moduleminix.modminix.moduleminix2.modminix2.moduleminix2_be.modminix2_be.moduleminix3.modminix3.moduleminix3_be.modminix3_be.moduleminix_be.modminix_be.modulemmap.modmmap.modulemoddep.lstmodinfo.shmorse.modmorse.modulempi.modmpi.modulemsdospart.modmsdospart.modulemul_test.modmul_test.modulemultiboot.modmultiboot.modulemultiboot2.modmultiboot2.modulenativedisk.modnativedisk.modulenet.modnet.modulenewc.modnewc.modulenilfs2.modnilfs2.modulenormal.modnormal.modulentfs.modntfs.modulentfscomp.modntfscomp.moduleodc.mododc.moduleoffsetio.modoffsetio.moduleohci.modohci.modulepart_acorn.modpart_acorn.modulepart_amiga.modpart_amiga.modulepart_apple.modpart_apple.modulepart_bsd.modpart_bsd.modulepart_dfly.modpart_dfly.modulepart_dvh.modpart_dvh.modulepart_gpt.modpart_gpt.modulepart_msdos.modpart_msdos.modulepart_plan.modpart_plan.modulepart_sun.modpart_sun.modulepart_sunpc.modpart_sunpc.modulepartmap.lstparttool.lstparttool.modparttool.modulepassword.modpassword.modulepassword_pbkdf2.modpassword_pbkdf2.modulepata.modpata.modulepbkdf2.modpbkdf2.modulepbkdf2_test.modpbkdf2_test.modulepcidump.modpcidump.moduleplay.modplay.modulepng.modpng.modulepriority_queue.modpriority_queue.moduleprobe.modprobe.moduleprocfs.modprocfs.moduleprogress.modprogress.moduleraid5rec.modraid5rec.moduleraid6rec.modraid6rec.modulerandom.modrandom.moduleread.modread.modulereboot.modreboot.moduleregexp.modregexp.modulereiserfs.modreiserfs.modulerelocator.modrelocator.moduleromfs.modromfs.modulescsi.modscsi.modulesearch.modsearch.modulesearch_fs_file.modsearch_fs_file.modulesearch_fs_uuid.modsearch_fs_uuid.modulesearch_label.modsearch_label.moduleserial.modserial.modulesetjmp.modsetjmp.modulesetjmp_test.modsetjmp_test.modulesetpci.modsetpci.modulesfs.modsfs.moduleshift_test.modshift_test.modulesignature_test.modsignature_test.modulesleep.modsleep.modulesleep_test.modsleep_test.modulespkmodem.modspkmodem.modulesquash4.modsquash4.modulesyslinuxcfg.modsyslinuxcfg.moduletar.modtar.moduleterminal.lstterminal.modterminal.moduleterminfo.modterminfo.moduletest.modtest.moduletest_blockarg.modtest_blockarg.moduletestload.modtestload.moduletestspeed.modtestspeed.moduletftp.modtftp.moduletga.modtga.moduletime.modtime.moduletpm.modtpm.moduletr.modtr.moduletrig.modtrig.moduletrue.modtrue.moduleudf.modudf.moduleufs1.modufs1.moduleufs1_be.modufs1_be.moduleufs2.modufs2.moduleuhci.moduhci.moduleusb.modusb.moduleusb_keyboard.modusb_keyboard.moduleusbms.modusbms.moduleusbserial_common.modusbserial_common.moduleusbserial_ftdi.modusbserial_ftdi.moduleusbserial_pl2303.modusbserial_pl2303.moduleusbserial_usbdebug.modusbserial_usbdebug.moduleusbtest.modusbtest.moduleverify.modverify.modulevideo.lstvideo.modvideo.modulevideo_colors.modvideo_colors.modulevideo_fb.modvideo_fb.modulevideoinfo.modvideoinfo.modulevideotest.modvideotest.modulevideotest_checksum.modvideotest_checksum.modulexfs.modxfs.modulexnu.modxnu.modulexnu_uuid.modxnu_uuid.modulexnu_uuid_test.modxnu_uuid_test.modulexzio.modxzio.modulezfs.modzfs.modulezfscrypt.modzfscrypt.modulezfsinfo.modzfsinfo.module/usr/lib64//usr/lib64/efi//usr/share//usr/share/efi//usr/share/efi/x86_64//usr/share/grub2//usr/share/grub2/x86_64-efi/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:14958/openSUSE_Leap_15.1_Update/8ac73786c2e083ced776d69a9d0d7363-grub2.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), with debug_info, not strippedELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), 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-8db12447389b5ff6d0133d675ba5b064379c961e316973cecd986ebcd8f34ed91?7zXZ !t/n]"k%!EC !A/dIl]1ob2d/yɖ$nDܫ& ogjiwokaF@"PM7Q0`I%7ϥo|/ŽB.!cd[10Sܶs)EQeaMrH /:jJzd-vQKtE%7*cF񒙏^dt#g^q%(dv[bOBq&ҁh;/g.1hT/@.k+քF!aK"*I#J+5i6 ;5y]-$5V {91#b5rE2vA%UƴzWgY / Ąs)ڦWIG$zȵy)zP?dd̢uˌM̬ͯM?wRHOCBiށțM;qwl){)QE%It&D/)/|jB[6B/~] (_H\`Gc!8 DGP*}R6 _-=;8u#OpVINsF!!MMV,d)c9aIOPe Oo=X×8"؜K叁Kh5Ym f#^$Yt`|íZq'QJv'EږzFN^exP@L *}}@AbX ?N5#~qd1v_|eiŨ #Qn R iZt"'[>т;a_p gX7XJLQ鉦Tp~͇6)*֍r>o &fW A{+tYR l t x&ĈNb秝E:P6u+67 $;&%cvO-#a@H:09&v-";=%yeݟ͞/.@1唩!=S~/s굃ӥWt0P#I\b t3q9mD\.:ޙQȿkُWV0L)Rj_fiʊѤ!\Gy(d;q異]Oi(>Q5* y|6mhuK,b;SG3G`ǁY(lJum"vA*!_ ;3^ ^ W&W=/Bݵi& K\J6QLOrKN2m.fWvb:?IÚh&|aqS+cd3Wv KFb*0GGi]sNEO@:\WD!+.. xg[r%@Z:wRa.};[9;lMHx7rn}JrKEї)tP?ʏPǯ: K0@r#P}\ޑtZ$ɲŹ4t ɗ记eV;ݨtF|:3 W36b&a!!՞Ҩ7 kMF]p逺LpQ71I njөk5J7H" yQXo6)j]ܯكҒfY}x/=H&[С a- ]d5aj~ f}.Y Jg2A<}u~70ZJbp&!qOc@Fm:wj$WoU^AC;ӔƼ_X<[B1eǞoMGf Z5 eg˘U U]=d{[QY-FE}_>lצ <.ĝs ?c"ў=ʧ(_UEbp.#M +`X7W&vڊIuʡߖ&{vbj?Y,?d ]jz!CFMQ%c0B{+R"w < }'a,UhP+g/YT b鶗aINa Zs fv%ñl( ΐ qlH.!]-/,o{dl1}(AP?uQk>Rǯ`雡D}Te*[Fo+?ԨuAOJ ^y_Y"8 j==GSklr]$|tнH4qkSP\CpS>1Z/@;S.)wU rr-g})k N/`!֕Þ)B}q8רhIӬbGU>+SX7qh%M>,ng Di=eW$5+uOpe^5&e,ω3?cP{]Ŋ⦗p]oc2ÛꙊ<=譔vws`Rz"9-|B7T1Yo24w$ +}ݪ(6V]q4 Luzuo[_O> B֝gy$DtSfz eCcoS^wdğPtENa({gajj+LJSJ1AȊͅ,.!;Kzw,g)Ɛ RUV̴nء0LyڕjD쐷sgdqeBT0Feamm8x#H`5,e &KbK[.i?[ !cINUq*OgUrE hH) Yǂ[<)نO0#Gf2D> ]^nzeam(ޮ&쬩.n$"sGcL7"Wwj_։Zsbٺ:6bjkaqa"eK7?YZ߸oPNg\tиZ}wsR~—m^υW9[^vG{2Q,AAߐJwiI *4a:5,tҩR|HV AyE>$J0Kͤ/\K]pqnx#pxLB_k[tZkđ3d?E5q}`*tUG;'5>DrBs#wg9IU[t.l5̓!JܻQ1z z 2$5>GfCCOA!NN8g:IP*S\#Hi->8:)~;AnOhԠ5} }QqP 6:/^&AV"B G 2q_{r7:tfV#_IY.z,(oQ\7OzTE*!~~0F>!5:+Uq&)^<=9vuG{aش mh쓮AP `[w_y ,4+ihD ;׆ "];\'@x_G1:olN+VHT*h#]x5]{8ɢ^ŏ'LQt$NxDK" pAԡ^uh5sS|G#|jL1t)\ͿyrGEBji|]I`=lpxB JS=sް?f5PM@ 2%ȭ"4.t&)D~iK!gK4 D]$k9Wi퉄HMVp @l3gĊ_.,?H`j'%ހ\9: WpURPK1j`($4՝`G)%1>11#rNJ88 L(e]hGngkadǩ)i s7Mv_P>rEL&V>);8 Bzy%NYN$kNv~8kQuck!1 ~˹";'%4rsJOuRf㷺y' X Rwyy<;)?@bR4<ٴ{m,pb'j˷%˺xYcVxftN᠐7 jWSJ F6ZvX=S`)NrTOA AW+E:*,Ѳ 3t2zZ0TJ38UӆYo{)kb0ɵ}nJ|Qa[qڼ0ac3)ϋ#e{)..Ȧ  Q~Yx7/ $]Ѫ0*%:0>m(֪ydQ,FLWPnúrYLtgo"ESUe`LgCj>9jC{qrFB F+@ `FT}l 1 Z {rEw^W_CjGƬD]Ґv[_-:o؉ߗKգXMݞqUHk2g( "H/ 5#lAa"t}pw5^UXlUqﴺQ/KJK/;f軿SUλ钬@ݥ` cO͓eF@0hཪLr !Kً;ngw8|,ն`eN)7c;0u=I lI3]Ӥ+v:1N D!zDz‹]lM +ϠtS u [R䩙@>; ŮO2ӻUU%菪\@ҧ)5{bA+ЅWٹ|{Ri+ XKYˊ(P@لOM.:&]}>}$|g[+R.΃ר[BuuO"םz@?ZO'VʅsI{FRK$H)Qg^ֆٝdbsuDz9qK I/.KAuaH}Lt'DޏV<6+}\ah9Tę 4R %Aߑ1jx7c+/ pĕ#0S1&#m~) '5 zj%$,'dE C%Kԗ~\uC'BUZQF V,)S5hv%73Bcu@y9ñJ~8S85ST0H-熥uhD(^[zA3`cO'WӃ  q{sUxȖg3LhkNM}E7j4g$:P-Bw겠I: ٴv5 ! N"7~9ɦ|c<]nw^29`[n޸N-T@lMӀ{QuFIJI,c>ekOV hՆCEޠ]HA]%EԼ5O)J,MxT#j >=(V\ȍ1Q%˧r[nn%LbT RoRS:ka"{ӛhOp kV_y]+2hvFj>нH:76 iq\~ktϿ5=FlY$fve2Yt8ګ&22EBdvwKnQJ']]U,c2~Σ $܌𞌦RQ,ъ뮋\ ?ᮥ@MW_0-4 qiŒf-I?B!(Up*$wE8?837{+x&Ļ.]:*մb\97bI"F:5Ry]#VuttY:Jyv=M>LA]Tby$GҳI!5b0ޑd1U-NRH]V՟w0WJWyTYNXԞ%,9;;QX]6sgKTϡ'x1s5͂X7%m i]M#}E^ARS4w˲H3A|@+*_ߍPKO\񋐸s`/o&PQg]tzֈlL甥 DP矙LK( q % KԿ$CXO倶ˑx R ]l**@*C<3d4&z,LV5Ǖ'B_QO G)Y+Yɀ&Z~٠7wrkG9(0~:kk#]4ԥ[9I$~_BEE,&8Аb!W!y͒0gjYwSiFgd$ ,uϺx.vizVpt!(s 1dE֕V72bYQ)m@1E!‚׊ڗ% m.?V=/3C1;+Iqpux*$Ǵ+3ʳDػ8+Wg馂VAnf>mĊA09=9&.~k#㗁V$5eN@<}6 OٙڐmAVqd&pQ6mN6XqJq:?p:8Ӳ/_u;ӫPbb){Г zqoyeݒf9xaix;%^:=_1oʯCrXGrG]9=6DfMtG XEꜬW!6֧+%2VPr6Fy".u{6d5kB$Svt%5 voAca e׺M1+2uNC֪\:O4PX˞Ɋ~ /y|v ]8^@e-AQ&.PH._2^)s3'IC@Sb0h\lMb%-?eG߅ ffr8AՓ4CDSʿvԡk}ӯ{߿ 3G4sW(B^h~4w؁g>:D030+`l%"aQ/(': "&$v=VveF &A Yo'>%u WZ9m[u {7C-Ac+#*<.,\"nD$;nbl+3$S@kŃQY'f*ida iO$cߤU&ђ4}'I.yHɟgC]K% =4u),;"LaORVPEkLkl/9$mߌL@vkW-Dn4/k[c┻(΃pPM=ͥzXP(xیoWp*lj/mX'aTBuP)qFĤ1`79gǬ qm`ko"Ktδs ]/'..,y f?̔idXm:o ZPd: tLx :vQ q*'H ؙŹ|&º2ȕnkBmq^OYׅ<vc`# H3m+֝pNy;"\[$[Ϊ/VA{QퟸЂch<ٱr~9sw bKGBKC"-J߷lA삫tm_/IZ/T05r~m Gƅ5*lg i!O5WX7-UJ9#aPr̃FSq! =^*̱Js#Z br+vta.p8 lr1b])bs[@P^(pu^0bK[2soC,}GߌAƾDD@]5߯Jt7ֲzs=q~+PޭsmcL&ƍ67ø5{?s@,1vZ$#N^@ߤbu{gvwEፒPЬcN<~baC`٨t 2<.ËL sXygmV>!NrƯ=!>'F*|_ Ü 눒"l$6Fn0ٿM.JuR]hFM?MU"xP*|Z9]=[\6)Wb̅b6)d^5 JWdO['_8L#\ɻi"PrPTob5"S-*{ JAžǂLxr&Fw\z{oxA<2BCF|7lKac[2- \2=eFgF!cw44=jݒqubiIHjd[Ëg}S艔Bڪó~ Q$"8iM{ c+^]:o8akх[k^,mBvMz)"cbS^ :HyQAbT^"1A욽MV\sX:2rB|dYk@TF]p9Dkk1(V@`׍P7 ed\P@ݴ3)W@ LqrP'Gu7V[w:qXl/LXP^eH\b;E0ʔh{E"Nʉ? 9~y/ X3KH2KK\DB@Uv|QWwkF*$,% Eyk! `,_tYNf' U1 EdFڭd&ٔISr[?rHbN` R-Fa`CV@40T`ہ6qeD|nMy'NP'o)a]$1%2^ᷡ(~UAt"jY;8zlW~ cgX6:RC~؄`x|q]J[rzVZ?И;7 Ѵq̱;e^ $>1w1Aa[=Y.' I<҇DȊuoc  %չ_/ufR }9 ` EWF^;8u*d5oF{;*`,*gӉ?9c3ա66Sܪ{A^;OJcRꔨ9Ss&Ґ /5̢yFBsÌ(Z \kF=r~q HIVh`YoL\uD<}L ( R51PWnxw9{ώyMѺ+y@ ?(@;Ű9-Y`Ұʼ\OlגFDC`tCGI+F\2kT%~,H" <)\;#-p%{>#2FD/h} %񀥶Vxju22l㨬lOq$—t+,e3F]^R6BdFmǨ'uXOVu{'\OT_wbKn5a<β4Z㤍'Łn:lrKdG@t#K-+'&1v'ܘI5wH'qgX67( Spsx'1 eoܗ ^" ޻y ,1%feMwy&@p VvXa9{2:.FPu$Cψo]K_LZ;l n ZJ8s܆.;3r2a׎[V=ZDA0(xI]aGNfOαK;dr((<w !lt2yqVm79gNtϚ`3 KC5X6RO 8e2q)ꏷK46)ށRo,Ԡ=(ּ8{Pۘ^ jP7Ony8v)d Bo>ӛx .=ŨPK b2=ݢyFl mv0_{A,ӕ9ŸrGp.;i-_R8^ 0) aPBs4ꇙ'Cb G:&ZN8GKP@Ұ(KX{^|2͹M*tqD@Ò#DƂ=O5™g'n~wbBĶdvte*m*|8\ܡyebL\HsXj ;kT >hς@EmPTYTXO+w9S"gV"NthZPܼl 3bB\K0!$vuFѷր_&P+pp-6?s1)|suL0=/jyXa(kߊØYϸ麒4V9Mm@Bu[?z\E y J vPB 1!A??!8,0?%708aDaE(kaiF PKG]] :p$26DŽV:}*] buSb˷f:: OpYpàDCeV3ޮ1NmbC$ϹvMB<{L?a4 xnO?'(/f!vNc_@!8CߝfuS@WwVzs2xhBAOMFВ,[točrd*TGD]С-; H} }A 6g_;Υi3^-td28C]FdU= mK@f6< miٙR7WN˃bzsv\ݭDYp:95 xv(4: fCm]Jb:vN(>S(|~ӋOrѹ6U'i2GLڪ0bHL:{Wᓜ$( So\(twBa^NN-G>C::nF C|#mjLA3XMD4Z(1}c#04LO|#f)c*CGWb9떞2"u-)/쾠ؙΨF+Z+GL@5 I(v$iZ9PM=`K/EןVi4%<9Oq$bٿ++Afw؀rcAIJ<ְR9*]8ΜӪ^W@{RA@R2O;b8,DЫFl4K Q)v!uωQU "yRMOc ӥUh:})BwڰX:*6c3mtٮl4kELӧ?ڒn혫։FԴ5!8GbqlG$E('pr"U:兹6IP])FK%?I\qʨ,FDb01ps ;N0 !w㉅vV3$&vV[v퇙)&gLխЭ0U4,Sa ä*R v3e4B)f_Li3U܎¯cL) [cgp{P?yCu~i#hxdX& 3}bV^AyC`{QGztQMPW"CL`|qA:_Lץ07UiYeKAt,ЪV*<`GB4ctg ,85"/\W-8\8:NO1l@vޱ*@/y/x00V+?k2↨LJUD䳰E< G< ^W sύ.b Y'[MT)^OC;AiUf .QF" >GBYO.dwepħpغe,d/I 8P r*+r_t^x3@8"1MnރuXwyPUczLg/* nrC:ti"Y?tq"vBqT1{8FMrIsdQetIe)_sa|NTTQk?PAP{=_h6EPhh{[7MNG3<7|$?b*U}2N<_GXT1@:\<(cDҿ xHSQey&XY.; &K ˪cCYGIa^մz# JM8<R;ٮ$Hv䯑$APm\/IkOxz2_:3%>㌶7Tql+L^~U>rYM%5]if#'SH9U/=.&'O '4Ux:,^M*4:o,flVv?Q5c,%e5#  8 67 ULLk|ZeAfJ"bY:dJ'xi)'υ;L^c|Ս`uE&Kmd1Z0p|Zg/찶oY#W, Z"Kh"Kxkt^m w:,"P%ꊕzkL%;}}niR-1Js#D(kc'Mm(f|dnôCs_xUEHqzPSnݮk|C=ϯ%!ۯ9I®`i9~wmtH3v^՚e2YѰIK:M4~~(p: &:tCgRt$9J\v΍7'JɄMZl̽"sY21|T(' MAd󲕜wtn$f$Oeс{5Dɛяj@5M2g5ڳX Z"j^xnY۴0f229Ȁx ,8h5CtMxCL9;A) W\d5%yZ?!$>ܟ$?tHiDᚬ@fXiPgn+,&QJiӐn/:`dU4xLJBGk`8 AN;VFAeJI gہA.ו&U"Nkk %zNjG6Y=x*v=SA0D<0LE)ѯt/@ [ S3RoG $u`|/كJK\H+B 1T{. A/,Q0\}nLR9^4>+9zOtd6](JKC:-tHnl E{ Ӱ*x@vml fׁ4@>Ses&xǎ$"Vn*π& e^f (&ŮWHN<ܟ.QVF6qחy".84d#b'Ÿl `0FtAۉKek.ڒa]6B1\&l|wG8؛ڌZ\Yt|7']qn$hbLS{`4YXٿ#t,f(V̢3'Ae~:n>GDfkȨt> !Pgqw]ӓ^֦YSɲ^?[(Աr><(sh+8UdPvl]/ =B Lwa ^FNZvLG~ l&4-rn8V 9i &r.c;8FeJ<9uxTAIw| s^RY"]rkǨ}M{Y+'- 9ز>@ˬjwhE-BlR;#+XH)ꝎnۆH]<=9x#Y 礏>~o4ەX,ZkLσwNsnMu27qnғ`|tF¬B1$m]ۂaӑʈVpHyX)?iu8Mdؔ1)1hz'RFylh }"U'/z&n;B 5TµGq 5̞[ '|zx7gL'1:0گ٘ =)nZO}'}!{ڞnPw;.q,E 뒝RvS[JyBYL%(\N^xYz 7fᩙ!c ҼLF5X&Bn1V#R[\wslq gpK9֦=t+hxr<Ǿ jBbm a[I0-Uk!==T!ȧooednۯ#3y&ʢ  /b\g 2 d "X뛵ORČg(kVs#Q+Z6M1ci: {ImRl]FK"G]н[! itk&u&1,?(\|"]Z`VQ~`dJ㑔K>FV>\n8+4,gE!EXFmzcvцw_? ^G?3HY3 g1]jߥ5u@6R\ݒoFr{T@F*zAFR$j;%gG\aM \xDpMIkɤ7mCk 8?=El7nnHMW&?pʎjagjlQavy\$btb]Խa :aUIR |$\$eYFI%yj4Nj|[n=bEM_c1q]BZטu ʻk^@=43|OvW48Dx9ZY9u^+&'H6SEk!S/eMM xI*_sAx~f˗0w^-`9nY`!:Q>]}ȥMAtwzؕ)>FmE*dq5D9^,nOP<*s@k/qH Ս3$dkk[~U?&K4{簵20*, Rd=6/%6'z^ 5}yZi\B$sI7-C0v*G-t5rA8~ljM8-g%EnjA58u[mfZN~{gpի/qVi4zU"Ƌk38:r5M,K*ȟ9"kaa_ 54Sw>b8b|Avz9p<-!S36P|>غS‡B\ mºѳ Fe=w& W31XWZ(ӓH$*%*NF0Ѷ=kHtX1z* py7ߢZMA`vm/b%1yyŞJ:Y Cы\Sh/*x߳0zw6WBb(P'ipto:q-3Qk6"V4JYeJS>z`ۇh1f1LkSfsRpc)jURƓR+Vv@w6M]Bc1  ' T($ҠNeGY1Էqڡ$9/ߓ:x˵f}LQC@E^Ih,)- jd#7.,_䧃H\" NMB|ݍ:WR+xF, (Oǣ,NBvK̴#@S Bxb.uh̳hs/uһqy?liЙ#0+`n-cJ{ǛV{Gmn_#A`q"0.:ȏP/iʔa+p aͽ*MT9:a{5-UJ8tU'{{>Q=8Z_eAFb>? >@ZWA$$Q&Rk:WQo!,akTPT[AH)C@`şԎm@KO!)3Qt_8Š P5q8Cyn-!F '.[ Ł1oy*V@oYdl !U=Qcð^Hn3f^gM!(z2ꠌfU8iY9fĠ=ёbή4;8@krRV@d&::dI[м8d߾3WHl#(Vx&Rn Sh0zfU_O<3 !S ⊁^rnLZ)U秜6 ^& 5xG'-+T*v Ք{-A{U 5̱3Ŀ, ZI[AZ-z}"M'6L:0)r-0\ 7fyYωh^`['d8lVC Nowφa%ƕV̽!hOewC|B fT0P2|A.=Hٹ3CBNRgo cS=O%՚JR=ek]t069dmyNi+! #J2kx"ʼ"FA.fiQ5ScCZqz2ZPer+fqEg,ɫUѤ5V3{REbL!1e"BcxǠOp9m?}L`[ؔQc25!#j >нKht)crҎS|8ᚢ U!JltF}̪zRJAXy|d?_h&MyFIؽHA[쏗)rz:dFK&}\=~UB;ǕH˵3"@, E8&>۝-9,=czVP_p=lJA[=S`&͸@, ʛNcj\Lf' O+ #o'>دf:r4㞍R0/Zl:i΂) kڵXY>Ѐw$1Oe&ahNAK }nt _"K'һ!b۩ܒ;jm5fNXzʫ}7!HJ}3B@ZֳNȬ8T?ܔbixPwlsZs,uu߸.)G  D_$/*}弔"708;6a1SQ _+CG+TR {RQ+G8 HwӿcZDqH2&Y" he6mI W?Tɗ@pN b錒GP>R=4iMRM#pMe.v@y\nʃqY*'X&İ xī _O1z0Ģ3+;4|KZpAM!{s",!1 ɰ'%%M +5HۙƒAAB[8)ȶJ@M63AX _?y|F][cvk.0p m}ClFѧ*{z׮r1E׍// d(USefۻW%Y lqmDxX#i@{$,-B#e>qUlv0`ɣwY5m*C cȭ)"ke* ,EF}rZUr;ƣ҆Zw ]K<|`]' +2]E͕ w& w]ߕ>=]Z?΄sQI=qANϑ*bsLYN5*qoȤ|͆Ƥ `TnAAdCfKM>#rr$p|8J}O]ݒSyG@{Y$C5(8pvTĿXXSHlif4NʓsQJJ Dfn^!xO --2ؔ.i_׿^ez{-\pt'z]>nPp(x0; toMb5au ehu|{*x)ڱtH o0iz]rdTW^5xcz=/ ݂|j,J*P-;sRE $ ]kJ+uy_i^Bwt8"|OUu7eh|j[-=)t l{ZP'Ѡ QOsA_ىhÀ5jSMٓf.w8|<["WSas1뭑owv '5.V`zh@ $):1'm#OX5de[* 0Lg/wB\7EGO) e TN*;\q{g⩿.7{aa{.Yl(u *xTiH|7ŀNG.ӓ@6mqեt<\sHtdwǢ _sfN2*!艉Ko(utl;Nq/L(jQsXRegv0(F;>@{ʰ.`|Tt@﻽*-zAS8 UU}B[f\޺]C 1^<p+wbZza< wrnھ? 5@k=p 20o&yaG6?2nt%o7^g!Ƭy|V?o%oaIXѰ{L>D=a u(EEZ@<+ ~˻%p۪?L1O_)w[SYAU,.7BZ4;& s2:yoF?3}ؗdD{;TȌ\Y %}DSG #~O!h3W-w#ǮJ{{Lb;R:xpB(>r+#Ak^lgFV_|: RoQ#B( um&Uǜ3a3&~SHSq )L'Ft휼K j~SW?%vg#(v}Jn>լbSalddM@h0XzWAiͦ'i~sݾJPEI^xv~]E"8-}#:TU:w]TU> y݈՝q8LsK޲Zzm pM ݔڅ=gTECTOjT)(C 7esرxUJ{`,эfGq1M}P^u{Ϡ$#oz_V@h9|R*b︺(3p7IaajVbL%iHo'G 5=?ڇRy{bja>dxTnS^[ޢ3WQcȽr<ڌd7~wFv-`{!fјe畻4aؔ[|U ,ZPcJP/@0*O{w(X?Yޢqy#+Xdd_nk2dqOI"Ģ3ݰ.eM$βnN'$̱ɓ%$:rJo{?1߳ x}x)߃ꩺZ9-tCU].GAkTh\4L;d;Pb&XaA:=[oۀi^(O'9vI;ض|ϼzBn؃:+8W'#[uL߲=>;5+r'sFIz%Fg!iM)'}Xyne+T-(Ȁ'Rb:waBaBG-Pq#5&;„7ǐk j.=7ghȪ2S^.+Q~vsG!cWep:5E`[nb8;7ub[\تC’) .[DA뼦HkǠ,Hq'҈g`U93P|E!9'UT?V_2z\Ij o{1@gRY2h~Xid6lyBȏ(mt}k=e5'BO-<]8nݹ"8aTaL/LGzp$C98@ ԍC+><*7 s@/!Bd±gA39 x倁=WtOK>fh4A!߈:.ZPv\=ťR2-dԞ3OIz1]bE&\N0!j0h.WxzV }B=k?/W3HJϪPmx9GKXL-')06,GjKvF|55~;:bp|sD1'-WX}۠ "+č:Cߵ$5CQqX3Po7DӠ9ftA04Xª|~ 顜=Zy[sjXiP{,Ik6ZIq@`TÒ }ۤ{h(q(HhK/}NI(I4~ąܓG!D'{0q+Kfaˤ}Se׺?&/QYR=꯶fGB;*9gId#UyH/Ύ8B([ ߩBe!|,o dNԯ ?CMPU` i;o:ÒdiD.,i%؅y0C`X@*NhnE>nc7. ?B[\#q@'.sƃW}yE'.3nya==)qM g+A#Bm}Ûd.*nb pMyڈ#[@5ڮt%{n7 tn&5]T+KPjQqG~;Շ PĀY ;|ҙo%{X b̀Xdd_{=sRZG)K6s$>AhȚCs'E_sehWزYPL%YNpC.O %UЍ.˺OT3 [^2➢mMT-<؍ KKR'7x)lA<^3xYmt*~щF D$Q>ŰcSCh!jۛ7I C3h$yG<Ѻv }K u/AfȖwtE (^ (Rg 2{9a^kU8 n7Nz#9<1Z2y^.o+ >(,9J_|y/+5 * V}4}gK80QOy!$˴qG8Vu6cynt83|r{O/|E˗~C(WGK,rat0bIJeHƘ}l]!"qiդ Nj2eQ,!LTp$%؉Y74?،oovU'+l.LȆYEIyVc Ƿj-&0M-JdCO`W'uJAעuQS_`@^p]_Cy3պ 3:+VWgh%~aѼ@xϕe`d,P4/}xvaɠ#$>>Ix ιg*5lC- lܭ _0N\+(z(b0J FXFmCZ6@z;H/ѳwխɨC X+!,_a6Ks)b9"\_ }Zyᷔ+aᖙQH.*q5gj2j{D; :FͷZnTHzx.t<;L>AULعt^yP43:f?.cdUi)-f 1e D(c ̖\!IYx<0gu>: 7{S1󯼞[1HFRv8+=2w?:?fczM}Z} t+m 捌bTl;a'i0U(f7) Vb@ IfHa7 X:l$Ru:Oa%콊4"OM/.O}l !:*ΆeQ*tee>/FZUϸrb-}'4Ҧ: KIjIqV-1yB@n}3z3 r93c!Psw[ _Ӈ:)cHV<:m /% }֢3~a D'miI :ѽ>l3>h mN S7vw=yېp)b9$LgEf{:Y.p%%kE.?do#cgm (V{1Ϝ_MyE&#ٺ8!}:l9TgxۋJE.}yvPY{P '=_1=5;ryN!+2DTxQ9P~-MS]_m% L*='ׂ\P$ Y[BB}  >ouӭ$~o/.pJ 9qϵ0Y^@Mo44xT~L*t~_0h >asXPPYK^Pe_@NW7߿@J>6+)&3 wc!Y_CuT@w?(iKy,reX;_OxgEn\K,(F-xs4qzZSq6^R|YmzSTϐިDۺW̱_^oC ̠@"v#zK6A]d(]@Gv'"vE td 9? 'ϖ7I;F Y r`8 %W/cSGסZyQ'| Pd$7)b{=66[;!Fxek :G%8>3v&&&\Fj (xc@Kz$oVE@tB \K :&gBSүF *KE=Zu'0 D<שLϱGJ1,:Pq{ pUȓa3+OM>TC90G bP-d4xOZPM쐞fOxeV О$3[P7Cƌ8eT\hJ#EUhd;tO3vFѝ x5) ĩgS-T]) [cr`U|1L]wP4 4wmzCoxvֈWp߇պN'-ǒEx<wmBѻѪC܆MM!D٫]A$΀~xN/\;W vPb~ҺO* ) X~Oh+LuSݳSo@`J5U4/feGgŀS(]jr`:8C$>P9zjv~٪:,7&62_7PH1 (9 %&35~RIZPƹЕn`p<~o)吪g\f<-Z:55N)/by@Gv֘CI+(4@-depE-(1j>pşDEI {e\4n@Q=Ԍ]Ɇi C)Y]R%ݕv5 Y dέ/8μ =L"s=ӱv(:WZZdf!-v`L%Y1SXGiwoֲ):^^+@<6sM#3` 5cm%H>Di5v@u{O= Zb:X7KbI 9u:Nz]nY #?k wbРn@`]{GblɞiFdGZz#gF i(DpGE=6ؚ6•A[8k)ߴ;$[7~MTfW*tsArk~pji2,Kz[XmsLDE3q9QN_!tp8t|;A=p=CHT]կ!OBmZ'mGp+DgR(6'5GpEz*AoLsed^|;:fZHrv2PP7m2oI"i&tBdtp'۸#JS =-:iGel ~#<'ӆR674~0w9䟲OoSyd׸h6yɕkrl!(__{D_!bs|'TٹXS-,9^“sNRҤ Ԥ+Β"egJf%Y̑,I,`E0@T23=D ij6 %aF̫o:{rcDDҽyFҤ|]JTVzT">_ oc:>bOC=">?N@ EM|xA1 {HyPT%.lr_?WIgJ{BdN+M H,OȀ6T)o3k$T' 僈Uz$~JX7U 2v=%ftUp&WN˦ pg oz:MqRrV匥DS i tTkybauE/FˎH@*PG& k#ҹIǛ4NG$iyvW{M QL1$ Y+{9x^\NF|[K)kZ15m7!^ wwvc4BZrl ʘ6~{5WHURu7TҋZ/0UAWAl@t`ݓT,N&8gg*N?x`9rp3qcwh !"7^f|D[VDN$lDf54fsxk0NdmE[L#A/HpǛm˴5d55/NNaGk@nRmˍ97:fdbc]mﴱuIX|\B>f|M^ Q6tj qoL ME*nv8\u]M~3Ȇ=Xt -+G>W҃Gur/8\Ȫɰ,xÓ?eYYd*\D>{HJɫ10u7l|9 0p9gbD?m).as~n- OtkLGIe3jQj@'&SV4:e9unby!8I,O8}nj`8afof-J??U| .45h6BV5^ɛ;Ѹf.4S`6iVP.wwE;lr,[mÆ` YZ