dpdk-examples-18.11.9-lp151.3.8.1<>,܉_s,/=„ / 7- n}x57V}x$ tЯXXoa!M/7îìXloXxBRr9 Jڕh_'ELyfo?15͕F4,%qHǜ%1l:?X.zrXj<?d $ T ->NT\    $ J 0F(8<9<:<GDHL$ISXUYU\U]]x^sObcKdefluv+Cdpdk-examples18.11.9lp151.3.8.1Data Plane Development Kit example applicationsExample applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding._s,obs-arm-8PopenSUSE Leap 15.1openSUSEBSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttp://bugs.opensuse.orgSystem/Librarieshttp://dpdk.orglinuxaarch64   ` ( @   X   X    @H  `  A   P     yN]CQ2A 'CR5O`5Yf&2C:@ .|Pw N st0da;c2E  R     } L%3.]1v -o:o1;'=y/-k7FPR.on>T8#$3h= ~NZ I^H>cژ5Ug7O z, ) tF *dTGi`C3S"P:D/s o+C 2hQ01N9C/}#G?1&}(i_]0 $<; G3FwfCMEM K$Kz+3@p0%!`])d )CY,?/fC#w"5$ pdq# '-BD /( ;*55x2E./f!0X~ ( Ka LC(GA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤_s6_s6_s7_s6_s7_s6_s7_s6_s7_s6_s7_s6_s6_s7_s7_s6_s7_s7_s7_s6_s7_s6_s7_s7_s6_s6_s7_s6_s6_s7_s6_s6_s7_s7_s6_s7_s7_s6_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_st_7y_st_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s1_7y_7y_7y_s1_7y_7y_7y389a32933f3c78eae82187bbb75c41e8456066d09fc3f9e53084f564b080a15341828e4bb0a81aa4ad99c5a4a66cb4502fcc64aeb4c4b8440d2f6e3934143a7ac185acd7e0a8abe37551f0e2097dd00ca4b36bc91e18b51167e5ce886fe97b50092c2e99d166c3f44e0e411ff36a2e18d0a554ccf6383ff6edca1b99d8eae51f1f5671c24fa3e190a700292b9b05c615a28cc86661579755626f39df8ffe7889f7fbd9781f1f2afc19b24fbfe450ab03b0a87544ba545f78b49c511822aa559bc2bd61e9161666ad0afc7c4d57d75070d53c64e7665deb4c3e5e2c0286fc59e3caac8c145a2711389a727b3be13d77b8150734a193a16692a7b959d991bf301d2156ecf2a2777310d79830d9704b5cc7a49a7af90cdc78c7ed3bdb04e4c4ba6403816f93a81179de21eef06f8e48b7ee9c2c1fea5437c338dba00dfc31cd4c91ea7c959829d1ec60ba622206d0e95c775e6d718f1c76d240b5d6d264dac9f5e1d20e158d13dc69ff1c3f54cfe46ce5aefd561d60a8120f3aaa7cada1d133de9344a31b7e8704ef175c2f8c21a0eea2b51031ff1e0dab339ad16d4f081af54baa131cbd1a3b5b3a459fc0e98fb12aaa24426c88e9278d655a5a0c243f1f0d4ddf0adf21c230addb49a1d9464e44caf8967d6774899abd103c10fb016db5417aad00db0f5be8eac4cbbc1a24276f2469887b4a69baf979732888832c5b974094a98df0cb18ad793f6330651cd5784aacc27c197e0e78e616baea55e0f9bfa09c0fb934a27f34df1583848756c142e0cc70d75bfc6a198ded447f995371389b58a604ae2f0ec5194741288efd379de040c65895ac7e678c08da3c041e4f38a51062e7f22357d0ed24941b6e6b80dffdf0ba3b631859784a3332d7e78d1b629c8085a6508577885a57657c929aa69baeb70c810b86b228b946ea9c7568143c71ce888b4600b8c8d17ae40e6565782098dc74a79bb07ffa3109075aee2e6855630e9c277878bf37e6376846213d3571a2e4168a2275712ab4be82d834243f69b9a37ba33a4741dc072c15cd15deb079f45c15ece07dc2ee4412e8377c600f9e7885e8324c08e6b9a8738f54ca1f5375f45f880013a7aec6f39e845190beff8578bc468a5b3069874b9d56c807ebfe0fa87d578742c90d969b18226b55257829660096bc00d5156525ad0170ce1f6868f81ec3471a60980e4ef1ededeb8fe95c679e83593ccc07f9490f5f1e0895b790eac743bdff9e768bd3dff30a8e4402ca2ab81121cbbc9b070e55e04183aa2c12f2ff66dd8ae29a8dd5ff308da42ab0baa95b5118fbf51040834277e2c3138c81bda8d5bc3e376890493f679673457804b8a2463cc0bda0b2815b66c54f65b6ab73667346a10190e51d2f3b9dacb390680eb05a8a269a633c205c211cf41481db347b7f70832c7c58b49ac1c4c681d10471b5b8f030de0f63aa3c07176eafb913c5e8cf5f279381a05fb757a8e7f628a5f50953e955fcd0ab0879a4e77c4d450e3a7f85b868472b2045e5acba85d66c3bdd4a4fac9c2fa9a0dc6eb8addad44ad27749d780349cd20cea6ca6ff41bee620969620d5d9154c1db87ba1ae12a55763e4be98bf88a56207773ff1db8dffd88c8dfbd34578f8266422bec627a4e5a8370fe2e10e6419cd162271b01c20384bfd18635ed77178ae8068eda5b30a051ca8a3cfefa6460afdfdaa230c40face8e4d4da2379898e68dc8159075b19d26b5796a83e228dbb2026235bc1b843ef64e3271c54796732e6572209a6a1374045dfb1f5ad2a03525dea514bf6dbdf7aa1583f26662b0ffd6050f903ceec9f12f66ceacd6af91521fd368b938e4172306102f95fd426ca1100707e73075694af91ffe35b1a2b9ffd03fc1028572dfd5f1ba03eb2875a90cb9902c187b771e835e8f1d1745ff12d0601fe8cec89b8718e9c36b1297da72b5ddf3fc5c954f49d36576f76f23d9a90596edd5fb84620e2168ae0b66a11f401481022be0cf1400b4558ebce6366eaab6faacc5b2433e50a59487ff0b1f514ebb250803d16ff1505a730ccb778492abd4d7a111499a4877a4567fbc5d3b0f776e497c571c4ee68ebb9ad658456f8adbd9e190702a3b8c08c3feec257b3b3049f29d03f21ccb372f1b2ed1286ec81f492a686444b53e4693d3ba3dd2cf7878c910efbef36df3c1bf49ec5467902b7205b4848ff932acfc60a5d5de353d061d4a31602665bd02a3f05c34dedba518cfde397d7a64b06a6e3ed6751785d15b7b3ce01d7715edf0f828d79f568bc0314aaa44217c68a41ad198121c2a97d956b861dfbb515dcce1d1c8f491adf013b7a23d62618b800910b98b7637a7f03cbe2ebbab7e81b58ea848a5fbbc74b81053530006147b691d812fe20fcfc0e98fc9184b8705d73359d0531f54bbe6bbc6af2a9f4e80c1fff496226ce699eebf3c025003be30fedafad281e9ded716b403a3d98adfc9afa922d32da406650f7c87137163d89e4c7393964276338a14f2073f040daf1419900185b6bfbeba44d2c64750b867078d2f424f3ff748a9c17beabfdb7acc624d927630ba688624a19d03e25f7f7230856c932613c16ac1abd6e5f4693cbd5fc6258277fd001562653b39164161de67dbcf1b23e229b9864bd4d2cd83d0badd3deaa2c283d18ee417ffde6632cc88972954080bca1b8dcb2d503b738d311f3de4d7b42bc3e7e6ea22c249781a0b892d753d126a7e82d1b629c4cfeba19b279580a274ed56c7ef1c665023e8762e9a72c4e35929eb388270ebfbec6af8809ab4ad62f966cb6b35d9a0db63b8ff7a6d6c9ffe145dca146e22ea01146a9341268bfb2aaf4eca4cfffdf64e1d2ca05eb4408643bfc430fcccf14d778ecc39a29ae53bc70ae80f685a8971b15bb3f0729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a11705a48517c75a724bf98da009e624e6f2ba61f829bb719777c415c6093702ea40ce5f473c6884bde4ad5b136a3770d0a54e7eb6d8adfda10037f544e2d6c092637f7fd7b818dfd9fff6757fae37d49aa8d8ae6bd8f4df38e8a5d6d40cad65a88f88bc16131c3c762a4fa0ae63b70c54058f8c48356d32df24377b12bd4a523d52292a4dbbb09f55b414ac95408b8775b5e58c20210bf02378e9f7dd771bbd0adf84e65fba44014b68587a97ee211c586d3f2c86b147ad955ca13519341dc99d48af22d2d0171fa2f5e80dc851edc9b19e75da2f57de8c935180c0d65784bc86fdddcd333556aecbf01ab1c3316fb2f05821c27a996bffa377bf39f63116554ede1a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e28d4a595cc8b9321d801e9b27960229b4bbc466c505d38007892bc2706f3434f28b4d9b201c03d34ac71115aff39a495afd14c2de214ab5437fba16224df4c6e25c5644c14d5873922d69b07ebba98cbfdd37980e7f3d10982d585f84500bc09ec4d5120c5baa6de73a6bbe59b1ba5652b8ca88948829daa717e2d6c201a075ef67ded82220e9b7732ab93c0a3cfd8ef2faca87d31d8d902969bc891b3c139dd15c07e75f02b46c9ce01912452109ed516bf90722c7f63e04b3fcdcb9d2428aad66cb12802d253b2dc961aae3be969dc8d8c8580aba5c63ab0f9ee0d379600346830d5ea05653a096becd7eb90cc4f7c21913043399f4de8ca13b56c1e6ad363752ed09d1004e08ab9f7f872d5572730fe2fbe73fedf2127abd4fbb09f697b75b28030a7af34cf74d75439cfddadc0f21fafa5fae69e4e1267c56ebd6662fb4a3ee784eb89a1b30a07616e65a6c88553ffee691ab63f71ef246455be662c651f132c990f4b27cc433282d66d70cb364d46cd5909bea90db3eac0e8acee70b568c5a068c2dc0b491ea5f3d36abc78bf7b997d1f197553e0ced9d32370e97ffef5901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bc20d636c804aef706dfc000c0ac2b28ed7f92fb2be046ed349effd0e91742ebebda4c09c6a11ea7d7a0c759f0ae6b7bfadc9179ed3a508eb855311ab89affc51d4a12edd2b9c75942d451bf07acaba856f8c5824f393614c965ec4be2b67d467fc6d4aebcf76a12698fa55055fa87541f11ee85c9819bb9fb0c1b4a8a9e753e0fcb2808cee33447b1ea1d3db697830d24d39c81a621a4f01cf736e100084132bb83541b2e2b5738faf3107c708ba7b22819d40a5ae50dfea6767d8e1901c3f24003206fb7abf0560c8a2a24cefed46f38ffa3d3b494ff74920ad85ceb58b8153a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e945f894d189b282e0b9b8416844101f6dcb9ccac3749a65500f1fa4038b6b318ef6f20d5baf3003348a8e78804e5d034e99219ca31f179151b9a2164349cea83095521cc1ec49e48bf17d94e776deabfa4418e6611489e50849e3305a4861ddcd2e252806bb2b52082ca33501c2fd8fa5d61af21930655731086bb840df65bd1b19121324bf4acac7b9d7cff94b3c9190c623f6f1d12d604a299e84b021d3106e23809fd8f7c53bd6e6b35c5a1cf467e28723b96cae687703bfba9ea80843cd9a871980e3df7f1872e93fad4fab99b705d70ffa494a1d68334f8a77116c98071af415f01cec8dd98736a2a3ce4d9279b14c908d19800c932a85f8a0c7c0d9f9a6f05bcf0bd576bcea73bf0117eadd1c99dc437447226aa36d574331f2101738a6d5d05751e5ea55fff128a257675fd5f46708b590757fbfa369b447269e7c6e31c5ba533d8024c3d292393dec38594548c784c24c54de8532da5452649b83917c4aeda9a03207239e2b46d0c94d5470eb5ea2f278423fe9cfbd8c6a6e9f8a0aefeb32d6e62f0df2a1cb19563e2c959ce4c5831454fce83dd7d815bf50d8cd64b2b28753bbc859e1638b8bb94817c58c52e1693140455bbc3f4381f4171234cba6f04e9e9aa0c16395aaf82cb91ca65bea3ef74a07210b9b7008a061dc5ae20a1780ae77f9dbd95c4978655db9b216dd15ab9d2793972abfb547fd26117d9123a9e4f8d251e2ba02d8a2534edd76c15f6fe2ae3c383c55f074276b813b1e1714e51e124f53e647d5b18588bcd1fc1922fe51b4f8b4ced445c185dcf55141a33ed38a93a3ed520e2ed7b7fd7d02fdc602bc6dab4ccd6f288de5f4cacf8a27e07cbd3436dffd7364a609ec4af546d4a994e7315193c5b3d4a5f626b4ce3c1c248e79a9dff8761138911c9325223a21664cf2c430883fa259e4966487d2cbdc8d7617e14c00a3eb8ab61db274e42cad0846cc4639fbd794d93c70fbe16b2af3ce605d5baaa7c72d517722cc83364ee1f2d23891a8347192af526ad716e8e278c604a3f538265aee853e4c49e179d2e14e9284fd4152714a56d4f99bf75805aa3e9eb58681a6455155f04c9d5afb513dcab8081e92d4c1d9dca5bcaccd8c4afbc4b11beb6c9011bcb6a3c94ec23e7f5924cac8c51446a0cd2e15526082c7021fa3bedac7fc2d85d85b38b1ffad094026cb0a998b178fa09d5b9a615c6626b9ff93cf86f57f238510a33691b0afcb0fddddc59710ddf4d7a991dbc3100d816e65c1ffc76b3bd1575fe3999292404a90c5db90eddb4c993cb591e43195ded1e4343861b15b9aef6599a17bbdd56164a2e1237d4ebb206a4ecc67bc66ca5715597f8f147c43aee8f18191b526bebb58adf5c137704bf4e127d036a0d4f51b6b6f8eb3552583889d87cb0d00ea2cd22f85da5c466b520f7359098957080f7d749ef86abfdeccbf264b4b670d005e52ff5b4ea584cd0eef78de3e9381abfee5a8b42f2711b2500fb526304c438031cd93aabad2d470d16b580ac45a3544c4082a931a8bf63825c7e68d79559ecdf35853bf96d9505a3b8e40f2a7deecd1e30f01c1815f57686dd4be74638e9a34757ebd4a36867f79a29c9cb4400b8e08c6004e070c01ab213c6fe196d92c46980d2d4cb9cbfff0f36af5842ca4812f16fa402dd27545582aab9f488e364d84c7e705862e2f3e9fb88a686e8c953720d110aeec334d6fe9efb48597ff6557b8b6367b0bda3ee7090d566d8e640741e093ae8e095bd97a2e3061ee7b2847d38f51e6f306a71239bb9f241c9fc2e86565a489686339af537b402fd83225d9abd957b9947928a3f451870bd2339acf8d0baccc55232b418f705b9fb88233dcd2dc51f34bd7aa6cc7d8ebb562c9dcf195af367d9688c9ba7248c465d73f14bf4513004fedf2177fdbb184ffe9dd247e222d8f8599ea4c01d1cc1a1866dd16b00c8b497b593f35dc49e44a05b658435084d9a7cd4e715d1289e85ea7d518e5cbabdcd391cc0fbd68a9bfcb3717f926bbef09566fcf722b757f9198292d4bde1c732798549c517c0a2a92b65b6226553c1f8d4d9f55b5aaa6d4d8484f65c7d478908f53e00833d716c3068e3c991b1c3271d1a6575cb3ed5a4a20d86e7de362b55259190cac2d191c5cafe6444cafc3fcebb97d401aee72cffd23f9c148ecc68ab5eeaef08842f326b4e61e10cbe6ac747bfeff2e2aba7e8cb2a00ee84e21bca7333a60e44f9fc1b87c5dbef50f438be7522e8f28f1ce25dd28c6e9f08be8a593bbe046979f2f6e989350c5471844b951c9d9d2f1d95f31081e616de113a398bf39c89ced5c3e73a1a895cf7389b52e73af1d661e29f60c171091e581e24ff9c92eaefadd41547ea7ef3832ec6ce90daf4aeb57983d5eae9748f56ba0bc45f879de76fa5b50fd385b47bc68d184beb0f1d721fd71f0be608891d041076a8f4c8db68efbd980d050e7bbaf50b62d8ec051d6482f0549821710c1778c7147a8aaa1d78d9f14299b3bea28f60abf14e0b1388d51da989a9d0451cba96cf571b7a310f8263d9dae73c87babf97b1e2d868c72217d63b2d8a643070652fd6a7cab1f930d0ad7316bf0906be26ec0fe4baa6aa6114e98e96ec4f4e2fdb5372d1461ddde2a544192c4c44f622e84fde20ecd49714af8e6df6a74e3d29042f6ef4d5cb535e15c38e20c57ac984593f13e82ff8ae7a16e31b76364edbc225a96ea91929241deaa83a7a6906084cfcf447194054897355f10ba8c35d0a0e1370b4748e9672c3c4f9d2c839ca0bb834fa703926863f0aaaad308b187ad0ed4b2377cb2b56b741a52d0b8a7b2d51692d939a4fc3088abcb832a6fed63a753417022c181432d19273d7fb093736da2aa8486a8d31675f3411f0375293deb64df76a5a6219c87dbd433fc1dd0b13b79db747cf170be0fdd6c5d1e892bd58c7ebefc3a3dd174522537bcd67f6d6a3bd9e6cd2207d7a4a61edbe4d436b51f6cca7d94d5c68a9c9d6b75b936bb1344d3463391d70f536c7da5f54af2f2d0dea2613dbcd3d3d5405dc4a74fcffdd7c0da7a43f3ed245a2f08e2f18ac9192167727e4941cfcd40e024e0647276d2c26d93f732d7d01dcba88a020070c8c0ff8a0a70297ce39fc7d4d379a8467069d2e2a060afa05cc004962ae95fad34bbda65d2713d961674377f776d9caa2dc2b10e7db2f0357235846c297c2a6b2a8eb27766e6b851be2e9eff9411ffcf32eb501ab3e7aee2c36ae1f391b3640b6cbd73ff064755f7b614d024616b2e92a05d525a8eefdd1aa50bc6fed72caef14fe4ee719ef52c2e63058b59916407bc020b07c7642e86f33c29741f6850c6f6ed32fcce8b407e2f9a6170f8787649c1103e1e2e649dfc01050fcd9c17ee7636bfc4f453b35fcbcc4d4a7d065816f64b0943b45451b82cd7e1eb5b9dd5d6ec939d051626b90ae812710db1157667c664d0767de316f94e03a32891f8ca68fcafd9c2152a3008a4bc3b5fbbce7f999cf86aeba942fe9a2a75dc91cd1350103d314ae1871045c3900e2c40f1c2dbf510574ca69c87d8d189ca7d8fc1c0fe95cec30bb1b8d59396ae3d3356aa3148d06e37ab912dc560adb09965f751fdb9660d9d289cecd46be635e301140513d97bad21041e86c02e4a3d2fcc2a12dbb7123f27209ce3a6011579a42f1184a31bc78c6ddcd51bdcc3704d33ad13e8d53a93838ac1465254ffced63cb8db9046c206ec712d1ea3d5dac5b0a63a3706363290c7844e9dcfb8bc2ef95424318ad208ef4fa4dcea7ff87e23a82a99561e1d190233499fc8e4052c46826bb8b7cffc372096e89ee3b077e3a38db25a26aad2839387de50272b3331d26c329c59929d29d51b8cb97e4b35ac86cc997bba7cbfc7197570c5c6fb4825a2e39918f8a89cb61755d227dcdfdcf0e8356a51372b842eba951f9997d152950c907c7a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ef435275f4e6c32ded6c3041a48f5b3c33508982017fd4a80bb4769ba9546225bc205cb3cadac28855e3d54c0c1a775ad526be5544ef9f8812eb6493b7b7a095598c2b60ef75dac08eb6d00b054ced65691000d370bb66981a7d35700fdd6a8349e423e6cb524e3ba7544b185151e0c72b4c90b93e5fe7d04ece5ccdd40cf3c6e3991743375109ed70ec2605afd279c331d370817c8c56ef902a4cad7765188d51ad16d00bb4e34dfeac53f20562698a553a928617f88f3efe0c4a28a09e5451b3deea3b72c8701903f869123bd9abaa5887c5b3645bfa66939206e3f4d28b5c81c9cdfe203cc1d99e16691bb5433a89e6c09cad24cee54f0ea7f0685cf8515312598c3673f68fd2250e2fb12c427539d5e96646f32813e783393a60e662575ce73f8698522374b45318b0425e409c7c260c7f10b8d7106f7eda8fc5098f789a33aadb42bba00c4e9fcfb438caf9c755ee4263a523b27b709fe6ea620e7e994663a7891a17b061bbca27515203af616ba804feeb26d925286abc4954fc4b92bc4ebf289261083d62dabd45b5d8e8b6bbde3c4a521e10e2537f7d638dc59cecea958671b1880db1415586c83b6c6c5f8ec795af7a9e6a881b72ba030e3da98288c972795e8c64c1c45c33622743aeb3b5ebb580ba3e24e5e2bab5684e64a79a19ac047a818866df3a4469380c544822d8688b3ac63ce189e85afba26cb222e9e04050abd388d71a314c3d9841eff759458065ed58b89a2fafbf5d58b4d3dc976b76c57f2ef56406a3e1eede68b66960ed14177fdf649476c7be252ff8a9c6aa53420dd244bb59d52055def8353a2fe1b7b66eff409ff9658e212c9b64eec0a3790736af3ca95c6875133e459068005d60825ea127909fb32eac3f2e943a2ac06d842d42b66d15b2d3822aa9b7334d166bf9b4dd3a8c8c4bd5fee1875175d38b4c842cb834fdd4ed0a526f7c864a00b0221fa25cb2aa8823740b79391055f253a631f4f91ae958124abbc6ee0613e9f8235be074bdadba8ad68f9be32a4cc87c59ea9e8715aca7d4637b6adea1c1c5b3c5b66af709c605bef84186bae489e5b81845887afd6fab1a22993a52079e2a39eb83eced34ae774295e0d4dea06ff853fd040a80f1d1aa2fd70f2c7da711f2fc05428b92bfcd4dab040dd0c47508a6542ff6aaac1d662cdc6561326c7f59627bcf5da9956f660bc6673e578ca5aba05eecbfa7a5296d1d99c9af6473eca0508cbae4d144ea8aae51a37f5a9493e2773c5e67fad29a774d0f8005fb539c686d4be37b44c986c86e365d550e1fb022bea494ee09ae41f5622d7a49efeece0e9151a855ebd51ff0a43e351a8073f9a9dee714e3a9842930988ff29f6b9b6473191b38e8160cadd3db4e97fa7796abadb1978c410774ae90c2ba769dc209114ce2503649489106c04f0aa83e135b412810754b07be3e3bbcb2f23a1aecd96d1a31332d7cea14d41ef70ec109f70811e3c6b26d4a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e4f53062f41f40b4d0a638b953f2c2a560fe548b230eb9d2ccb21dbae4c09d54ae9952e4249ce5b242e9b008f10c287a37f3e592586546e3ea41f1c1d608ff14bb4e9d5f80e1f2188f416dc113c87d4806ed975d1b926b587502fe732b4e9746f4d0cd1f9df2d6498a3c7df157b374011c382f93288b4ab42a57992e3f82e5f2defa479a291967dfffa5c0e3a20e9a4dff373b8d12a189efbc03ba9beefa76610e40233d09043af82c7ba5b729092e3825bc8edb88c18e7d3c3098a01d1521213166e8d7626e483448bebd2c580c0c255ac158f30c205f805aa30a65b93ce54b337a3be6bcf13eb0cb99f15481e7a5c7688d6942385107db1d56291649333f3c8ccfdd476e447432f97cee62b9b522493094898c1f02a57692b194ba569dcdcdecb6bab6bd3e9b6aded38fd3f079a807d2bb8b41399a5289f51cb1f587bf35a11346f549719d34ce69f47b9b4c95077f88d9a8ec2e8f061d9095047a9b5d60d0fe52b62785a3fc4f08dfbcd1850bcde511d8550209f1a6ae2dffe8b7960e43b471b5491e6da29caa04fc239407c1704e310693dff28f878d21b2ac3fcfbfbf16e118ec7b300237d5946fd4c443b14298eb4b554b1360531a52cde83595d0427ca067c34521cffb6dd042f8ddb002b3cd7fcf2972d833f3cb6af24ff8c3829e428816f165606c41e8f686f8884e2fe453c6f87a069fc5df125225fda226a2e95227874b4c72a155383690542eb985dadd338c99a74c9cf7728b4958e8eea417cefcee22ad7f82bc1159a15efd7001929f74698fe2ba6255f0582e7158ae11cae1eb3bed899bca516714db68079a997a9bd470fd07b24b5cd4757369ad31465088d8efc2931a2bccb16f0c54e2e291d2d4ece1ece4eec785b2c08cafe21a55832fe7ca9c873a53917af29ad06bb3579ce0e481233116e0eb0b28744b7756fc453618dc47d43907cc8190e777420b6c093d78436b19c41b6a434f94a0c6ef5e968142fda70535396ebaffeee4ba7649f19ca432796c0ba33622db0286a9f462f99f0729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a1170e89b2f7c07ec20d5f4930a6779258137436651493872c58690e8c35d3c0564fb362d55269aa9e81531e8091201985b9791bb4acc728e9daa6d39df4f4d0198653e6f72c98bc2ac416d47ac18b0f2d3028030f1453b53086312bd20e3cbb99296cbccd490528432f8e8a1dcade195f037c03cb62bc354f6f97acb795e317179791ce11cdaf312c966cc6dd605d100979c1c76ee7b2fcf100039986c5f9ee2d3be7cb2347e73467b1b92879f54cecdb7c7e39c6b21973e78e1a471b8f8713616f9abc15d6bc8ec167083eb472b28d259598bc114342ec90d6930415af723a04f63181b8cbc20d1ffdddd5f94e5fe11b35cd739d7fede4674334cef619bb4c35ba049a264a1d7a1796731b09889bee5672cb8d56466e294e1b39b31541bef9cc3f955f5a0601a92f3a6966cb90d668707ac20d8efb1880a901a8d3b396f5cd575dc15ab0e40923267dbbdc4dccf4c53e612d72e72a70b936dc520827a9388847db3729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a11701bb2e29df14212dba8d65f4b27c467f8030126b3d503d5c36e2c75ff617b4ad729ee3c6ed9148e6baa369d493108f7263c34408de1b203a5344e2a7cd58bc0d86587ee1a6e85370416cd4937470296c0fe20775eaac68926cf8d807b3fc249f8af92fcc0265a0f98b5c5977eb3b246d7a825ab4cd8de2786cba0a7695c62e59c8e3761bf3e754dcdb5f55029de2739024c66dca82ef3602310c728a9b94d8277f22e3606180c046ba9247f93688967737bc531405ec8c0f653f4703e57f31c5d133a04b3515cd18a473618ce3e1c01616731070a2e7755ef4a33a62b5a991e02b9246a066c508ed21df9cea46c8cec2f7aea8552531da85edf79c62fb27a63c205bb44b6c645dbd1c9a26a3ff1c9b6a1d3615735fbc0d2f38ae8d57ed17adf22959f3e16029bd44e4ee0939d56ee617468a829a424fec5a52f64d9f3ef9eae6a2c3c1aaf35cfade70c7ee2f8a656c9b682c068ac95405891dc58638bfd1a10474e9ed8ce27d762bcda95e922e56013a04f21d294ddc0a5b720847782b906f7175bc51d0ea5b6830bb9aaa7727124d14dce62bfa3277dfa3320a55de8308bcac97d350a958f7da6d7edb1c242bdabad03717dcb128eee027fb16097fd700b26d558d6cfcd85617f1e1a53753dc22ef780cebecee3de68956e321fba4792778bbfafae60d4157eb82e6d8a7bd74eec9b879c882444b9a5b29d5de5db8b165f2d021322d541b0c2961b9cfce7581ac4560c715144aba3a62ead62b5843f38d63fd1f80de095567738725820170798cd1d075000154bc813ae683e56d4fea7845e8af74c91e2a7ff3d7bb585e7e57337a5b1c4c831b3ab6d1ae145473453beb15a4e7be2fd821a65107bb1226a679a80897d8548512207bd84e3d721e1266ec70537fcbe8a5d6f92c6c11bea0cdef828f9e362ce033d8a98b5007784bb99fbc49e577b05ba80ed9e4751517eca42b54fea51265e2dabee188ed3fb5cb6bf41f1348731bfd6c719df3ec0423007190f9918505ca67ebc081833edfc2100a99fe1d548b41ecadaf6d8d96a2af186dce60164a001bc27d6cce9240e78cd6df66b7690d282882f813f2aa661f50f9d3b497e6875488740fff39acf113751a0483a5030750f2f6024ebcf155d73d0aabf87ce2d76fb378f1caf6c59f7ad044569c987c5dcaf207022d5f78ceffd21ed3caef5c8910f0737d3c2377ad417d3e1f6c46df96db079513acc9ac66ee76d9940c07f1012275664b005cd6c987aebd9f6de1e11c527f274627b1048889bb61ffe6b5360d97123bcda35e89d11e99ab032f78f48054c71debe7b1c05f72cb1566445a7d0fab4989fe7fc53e8476a5cd671fed3536338b8531a10fe133a92b5a3f3f6e4a7772529cd5b9e1c4394efb6f755b6eb799f28f67d51773c81610b6fb407778b2d23f301f54999588af87868a580f180d8c09f1a9e738ac4c71d4ddd37533f74218a7809292358e84bae3dab36d9f52780ffb3be25a28c1c5606937bb7dfa999640e7e270ffac1695a649be457a6c9ae890901f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc883729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117055037c4c230d4cabcbe8f8f962bf1067f590529945a3579114cea55300e79ef1503e63bb7d5efe4653d54e4462a48283ab8d891c91976e910678a10916a78bdfaff72a82aeac25d46e8c51faa0a778b1ffe0483b4cb17341ab10a7fde29b8c8c83c76079c15bef6f19029e9db2a8a574ec351b1b2b106006177e95e7d4d1a7468b8117cdab2a7edc95c39916adecd9fce1f6b867e9cb260a227460ceb17a41454925d840acc6b257562382af0644faeb43de21a4136d51b66465aa9888ea9f8cf44a85ced34ec972654cedde30b64d7146f288e3b81f6478dca9e928c31fba38436fb767a41b55847750ddf7e23516d8e4a60ac04799139ae4abc5d1ff42a590f9d71e1145a9adb3167531b38addd797a3cabc62eeb4b0f719f6c2d7c165a10815ab42e4e5ad70e315cb1f9b1f5f489f9e9d2c75fa2a5724c01715e7dc19aea8979d1c5c7c5f79561c0ffb457cbdcca932bb5ca4e63ebfd00342aabc26352c95b90382ea89aa594422d2010c2e82a04bf55f047a7bbab1f7217ca1bf0ea953beee5c980146d08224c62d961a504b1069116dbd964b8827d2d0cfef840974578f0f0b478dd42e77845799e450280ebf3e29cb0b502836b311c0c8394ab2b8ca5402e8a95ce1dfe096fa85a5c1b2dccd92b08f817291c427616256a4dc25d36baecabe42c17ad82df2b6d89e1656cc89b5c080c5ed75a243acbac7573dc3c051b5dc673d66c668833527be9dd19344f63229d462a6f888890445770b82e10d6a8481b6afbeeffd28a1afbffb484d926c3a58ba686047bbed7f985da7ea986b78275bf6b4aa7f95341769cad1401cf3640baa28fe8a58bfc267c0ba4f29da55123380cdbfc7c2b141c7d306186d33b938ccca3f5d566e2097a8ca875d1aa3f887633c45796e27594afe98172e238fa83136d61eb8d5bacd87fb49cfe944f1a2f0e2a1bde60a40af51002b6ec9a0dd9f5450534fb6ffcdc9d6898446e98ae52d9d079a288c085c97ca2a44134e75db8d567b1a61043945830b22a21ab0741e235c11f3d8c7f25e01ab2d63d956d1c9d67c9738fcc95db9def3ada8ae3c73443a18af77dfd362793ccff25e412fe82029813614f14714f48550a2f5d5335e464af87afc8c9b1b293f44e4a43ece9b14b2a507916d3cd34f26e7f434885ff5e3afcbc43976b5537a22f884f6071719b88ffdc7237dcd6fb67e1a2ce49077c68a92f64168b3df97bd97bca8663027c87c2162f231a1f13366286c6e8238e0f46310f3c1729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117045de11d8cd0253d8689307ef373644fd12f7b72ac3df3dc137b9d98eebe3b27013be1c2b6c4e39816eed68770185a8b4d3913de53c238cf57b307e7f1555d1c4a318808deca554af58d89a1e698dfd4cd2c500df2e82a72ee6fb54b958339cfeea60d1cdfb08719825ca8230d5ab2089ce5b3ab8a2f9cb32d494897ae99cdf39e9ead7814ba14d17c6de3df1c22821479ee19f6d48061b239929e1b80f1e1eb841529de8a0f3bc2a190e65bbf600592930fbdb3aa427d3f82a2e10177d424b9f99624a5d3c0ce583f809e57bd923f583e0be61c6635a3a52fed8cf605dadc4b480591d06c2b083bbef7627428801eed91b238e16b61f806a4e6f3d0208f2e631371715c3d9d00fc727d638412d1f10835c81d177a86d838e32b261802223d06227d0bd28edae39288aa475ec07d4f42d64d64b1463fc14e89adaafe93ec3959eb833146fd43b6ca870e244a003b40039d29c153c78c8d9b5c84e51e2aa8d95f74b260a5cd9f6988ae7173d536292407ca78270d4bd4753a7d2e6c7f7f1aa31cf8810e06185f3f18637e877cc3ac0bcb530ffacb2e5c12b741c054ffa96d4a446269b798c38b1dc89bd3b24da837a764727405ac30e7d70d7efe4b31321aca736a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ec9f98645eec4e7f6f918ba60cd94196828142e9acf2cbdf9ea73453553e56c99729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117041f75cefd756fbb79c447e7d3033e8f688242e0b7a8ef074534066e5b480434dd601f8c2d50485a04f7113001c564b821cfaaceb112842a01fbb2dd5944ead2b57bcaf8cf7be8cc007d01f9300fcbb3967c8d268ecfbf5f9ae06daec092185a67c66714e2fb5467b7bd6c97da777c7afa12e9a721efbfa963e431fb32d9a1f14a98eb87c6bcc7503119dd705bf6c52080229b4e2a025f87675cd290beda2b7702265e242959ace39dc7f657cb9b8b8949ee01fcb150441c0af509da8692267fcd95dfe07dffb8664e470185bf43033fa5eb5b9d313dded82be20a4ddece8c420cb2b52a280048b58fb796d3f16042d6cd7b3bdc558998c48d506c8a91ca1f18b1eb7be2ba5eee8879ec6bf9d2bf4386c0a70deebf03500c6f99c54f0804cd6418c9464c9348766db666c1f9a05881f9cc19b3bea2c3b5efa44794f4147109d7c2c27f1259c8b865c492bf483cf9d1aff6946e2954899a55853acdb1a08f5ad23a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e404f82a7b8e8db5e2b55f9180747509010d6df035570fac7f54318afaf39d3fa35b2533ddbb21ad4e456004e3196f8b89bf9366bc74469b68731c917d3e56829cd29d915a806255bd0e584ab2999e75fc63a5a71b31e0f00824e79eff4befd42a0bee1dcf5fd50fdf460412c755dd4e6c98f8fb95bcb32e437adcf9303c57bc73074a66e26b550297824db13a1a6e590fc5e1172c2936e1f65794306ffbe52c08f1da3e7e93b58d083d6807469febb6365ea1a71352b47ba6b1005943e680ed96c0afd39380b5918ccc3bf68a537bf4b11294e030d636708a8f4bd27112b7152a6f0ef7c7a5f812520295fdb34a0b6b34ba9059c3ffde9b5f702e994916ddcbe5a54e17652619bf8923dd8399d9756eaf608240957d1b6c498db8a7a9f00d9a762b4ca103007729e08871d1947cd8d301d17ff95310a3e37074a25c4f7de47750f99af737e1f4809e163e43c736e39b7391261f92dfe07635ac21c6390287da9f355c23e40e2a17006f031edf06fc0e3f096fc323368a3207f010f86d6c15f50d01ff545fcbbb9e2f9fe189e15eb86ee8814c7dc245e850a192a67e2fb30d93251a67893a6a604644eaebc33f0ef3572e2967afdb196be635df715297688ab95248085f26eec1c1e49c7602da26a9801f93bcc19d5addf7f59852f0ecd7199dd2dd23f40233669cea465aa3d6d1f6c794a6168823f1d2c6324101cbccc05e74d48860234c584c29e1364d683159a5c4c4d91cfa61846c99cc392977a1e10303b7dde7e78b9bb6120c53275ac522f402d2b1f6ca149214c529c14ad01a53d787fe71b925d96e7ba00592480d2e002f8bd07a5650b356f76df76132f4daf3dfb941f80ef30f386dd8bd26baf564ef519144cf757c911251b10e31abb20efb6df25873bf9cf28a94904ac6800c3238b8e29f5342ae5505ad50963cada08a754c92425790180c09bcbcde8691b21f8792917c691077cc605f31bbfcf3627a96ab08f3f74965862969b75de9ed6508a37cdf713a1cecd77c6263304010629ab1731a2577e138fef8ff41a904ec072c2c9720730eff31a805d564874e1a304bf996f1036eff7be6d4c8bc3ae63863d33414c6fe1e6c76c3c70ce74302231a51b25f1d619d038815eed4bfcf029c9f7e8e843cbd12ccbe318cfcc4e2d695780628b51c247520a54af419b9b50ed19bbc838e7b43deed587f1fdf858827fe8433e363c971b41e2876205f69e26818c528851b770c6bfe288637b898855bdb0ef48dd389ddc1842884f32ffca2db21547a7f7d0fe8c4dac5363c955fc0803a89eacd55e25c9a39af1556031c443c5c39a1ab5f786a11db0e09e1cc9fb4de47b1afd572fbfb90712c8eeab5ead7482071a3399968c2a822d0766ec9c9b9b86da4ad52944e2a291d62ae9eafcbb23295972100fb85cad0753e34349d34969b691f48c343ddbd3293e2877bb56f2d9502aeae682246003d508079bfd073e42c56699e68491064904a628b3f1ae961a520d2d29b7e3faea66e013c2a43b79257664d3243d601da77f63dfc5094bd3acf0cab5cfba161b8d4fa62b3e00de01ab7f725801b428eb66c64da996a1b6a678d0f4e2514cb8a29b2655b5dd4d5576c05086b64e9d95837d905f7be964bf96ecb4de8c0d533f359d37731bbaa06415b4ce8959bcded51a621a7af5650afa96ab2e302a2d0fd96b5a51bdd5544ce3e5760db8be6cfe72feee502112064fce470df76d1461cf35ff04c9ebd9f85ef2130bfc5a1d529721768e0c94b531b9c22873ab8cc6cbe879b929cae753277b25b0a55d650e735ea7405c685d848eac07834fe693eb9537df199d0374150c351d28c96228fdb0dda1ff31c1c2b3845c302bedbcb272184c61803c8caf46979c41075be45fe1776da732f10e02db6e412e789100b55d83b6de4da98c26325736ad7846297f4c4f8b790aeca23b80bdc644634993f7ba3e028da4f2171b84a08e8a80f6f1a14f9b841f9402728431f07f45f069ab429797f8754fbbca05d797037143358c7c24753cb893cfcb7f2e62ea375c19b987a95f429bb61bafbadf62e4e3d5d716d8504de744945be3c6ee9531f43c21da7d7f75d43e611549b972dccdded9c313701d7a3c8af6f403ebc615dad02f6c67ba7a0997aabad6470a5b34e58fe3233c7064f13906d3333170a7674c19349fbd9c07001abc0df53f336d846a9ad6bf2a378b38e129482a0cc85c83a9b17d2a6ac3d2f893125211435d0cbd1ba7a64add003e655eca2b4c975b6c2f64ab0348b0ade7b8d86a89743afd6707e71691ded7e006e552b9a7623440e802facc976790b3cbd6a71b3e5d28b2198f385815f45e056b42db38c89eec75559395291dad3f9094f24d7bdc6a124a5efc3788c8eba05748f188cd0bf208c6a4527fe546d7e7b1a8119f6aaddfb9f004e1353423fcd700a60f02166e7890eeaed92f36b22cc8983470e18f744643058aa3a5e378a91ec733653496d715a2787b70b79e2a65a0d1eb30c5c5279d80faab32ba20c5476e1f3308afdf97361c34fc9605cd0353a7b9a1df17d6bb4e03e93b87eb049904ee92dc0fb1159ea5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ee80b1df93e670d2cca746ef43da28eaf9e5768c756349738c0d381ea8eec9edd8da28e5b2959471c503819d16f83b2201646cf717579e5312d26859fa0f1373ca5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-18.11.9-lp151.3.8.1.src.rpmdpdk-any-examplesdpdk-examplesdpdk-examples(aarch-64)     /bin/bashlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)librte_acl.so.18.11()(64bit)librte_acl.so.18.11(DPDK_2.0)(64bit)librte_bbdev.so.18.11()(64bit)librte_bbdev.so.18.11(EXPERIMENTAL)(64bit)librte_cfgfile.so.18.11()(64bit)librte_cfgfile.so.18.11(DPDK_2.0)(64bit)librte_cmdline.so.18.11()(64bit)librte_cmdline.so.18.11(DPDK_2.0)(64bit)librte_cryptodev.so.18.11()(64bit)librte_cryptodev.so.18.11(DPDK_16.04)(64bit)librte_cryptodev.so.18.11(DPDK_17.02)(64bit)librte_cryptodev.so.18.11(DPDK_17.05)(64bit)librte_cryptodev.so.18.11(DPDK_17.08)(64bit)librte_cryptodev.so.18.11(DPDK_17.11)(64bit)librte_cryptodev.so.18.11(DPDK_18.05)(64bit)librte_eal.so.18.11()(64bit)librte_eal.so.18.11(DPDK_16.07)(64bit)librte_eal.so.18.11(DPDK_17.08)(64bit)librte_eal.so.18.11(DPDK_17.11)(64bit)librte_eal.so.18.11(DPDK_18.05)(64bit)librte_eal.so.18.11(DPDK_18.11)(64bit)librte_eal.so.18.11(DPDK_2.0)(64bit)librte_eal.so.18.11(DPDK_2.1)(64bit)librte_eal.so.18.11(DPDK_2.2)(64bit)librte_eal.so.18.11(EXPERIMENTAL)(64bit)librte_ethdev.so.18.11()(64bit)librte_ethdev.so.18.11(DPDK_16.04)(64bit)librte_ethdev.so.18.11(DPDK_16.07)(64bit)librte_ethdev.so.18.11(DPDK_17.08)(64bit)librte_ethdev.so.18.11(DPDK_17.11)(64bit)librte_ethdev.so.18.11(DPDK_18.02)(64bit)librte_ethdev.so.18.11(DPDK_18.05)(64bit)librte_ethdev.so.18.11(DPDK_18.08)(64bit)librte_ethdev.so.18.11(DPDK_2.2)(64bit)librte_eventdev.so.18.11()(64bit)librte_eventdev.so.18.11(DPDK_17.05)(64bit)librte_eventdev.so.18.11(DPDK_17.11)(64bit)librte_eventdev.so.18.11(EXPERIMENTAL)(64bit)librte_flow_classify.so.18.11()(64bit)librte_flow_classify.so.18.11(EXPERIMENTAL)(64bit)librte_hash.so.18.11()(64bit)librte_hash.so.18.11(DPDK_2.0)(64bit)librte_hash.so.18.11(DPDK_2.1)(64bit)librte_jobstats.so.18.11()(64bit)librte_jobstats.so.18.11(DPDK_16.04)(64bit)librte_jobstats.so.18.11(DPDK_2.0)(64bit)librte_kni.so.18.11()(64bit)librte_kni.so.18.11(DPDK_2.0)(64bit)librte_kni.so.18.11(EXPERIMENTAL)(64bit)librte_lpm.so.18.11()(64bit)librte_lpm.so.18.11(DPDK_16.04)(64bit)librte_lpm.so.18.11(DPDK_17.05)(64bit)librte_lpm.so.18.11(DPDK_2.0)(64bit)librte_mbuf.so.18.11()(64bit)librte_mbuf.so.18.11(DPDK_2.1)(64bit)librte_mempool.so.18.11()(64bit)librte_mempool.so.18.11(DPDK_16.07)(64bit)librte_mempool.so.18.11(DPDK_2.0)(64bit)librte_meter.so.18.11()(64bit)librte_meter.so.18.11(DPDK_18.08)(64bit)librte_meter.so.18.11(DPDK_2.0)(64bit)librte_pci.so.18.11()(64bit)librte_pci.so.18.11(DPDK_17.11)(64bit)librte_pipeline.so.18.11()(64bit)librte_pipeline.so.18.11(DPDK_2.0)(64bit)librte_pipeline.so.18.11(DPDK_2.1)(64bit)librte_pipeline.so.18.11(DPDK_2.2)(64bit)librte_pipeline.so.18.11(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.18.11()(64bit)librte_pmd_bnxt.so.18.11(DPDK_17.08)(64bit)librte_pmd_bond.so.18.11()(64bit)librte_pmd_bond.so.18.11(DPDK_2.0)(64bit)librte_pmd_crypto_scheduler.so.18.11()(64bit)librte_pmd_crypto_scheduler.so.18.11(DPDK_17.05)(64bit)librte_pmd_i40e.so.18.11()(64bit)librte_pmd_i40e.so.18.11(DPDK_17.02)(64bit)librte_pmd_i40e.so.18.11(DPDK_17.11)(64bit)librte_pmd_ixgbe.so.18.11()(64bit)librte_pmd_ixgbe.so.18.11(DPDK_16.11)(64bit)librte_port.so.18.11()(64bit)librte_port.so.18.11(DPDK_16.07)(64bit)librte_port.so.18.11(DPDK_16.11)(64bit)librte_port.so.18.11(DPDK_18.11)(64bit)librte_port.so.18.11(DPDK_2.0)(64bit)librte_port.so.18.11(DPDK_2.1)(64bit)librte_power.so.18.11()(64bit)librte_power.so.18.11(DPDK_17.11)(64bit)librte_power.so.18.11(DPDK_18.08)(64bit)librte_power.so.18.11(DPDK_2.0)(64bit)librte_power.so.18.11(EXPERIMENTAL)(64bit)librte_reorder.so.18.11()(64bit)librte_reorder.so.18.11(DPDK_2.0)(64bit)librte_ring.so.18.11()(64bit)librte_ring.so.18.11(DPDK_2.0)(64bit)librte_ring.so.18.11(DPDK_2.2)(64bit)librte_sched.so.18.11()(64bit)librte_sched.so.18.11(DPDK_2.0)(64bit)librte_sched.so.18.11(DPDK_2.1)(64bit)librte_security.so.18.11()(64bit)librte_security.so.18.11(DPDK_18.11)(64bit)librte_security.so.18.11(EXPERIMENTAL)(64bit)librte_table.so.18.11()(64bit)librte_table.so.18.11(DPDK_17.11)(64bit)librte_timer.so.18.11()(64bit)librte_timer.so.18.11(DPDK_2.0)(64bit)librte_vhost.so.18.11()(64bit)librte_vhost.so.18.11(DPDK_16.07)(64bit)librte_vhost.so.18.11(DPDK_17.05)(64bit)librte_vhost.so.18.11(DPDK_18.02)(64bit)librte_vhost.so.18.11(DPDK_2.0)(64bit)librte_vhost.so.18.11(DPDK_2.1)(64bit)librte_vhost.so.18.11(EXPERIMENTAL)(64bit)libvirt.so.0()(64bit)libvirt.so.0(LIBVIRT_0.0.3)(64bit)libvirt.so.0(LIBVIRT_0.1.0)(64bit)libvirt.so.0(LIBVIRT_0.1.4)(64bit)libvirt.so.0(LIBVIRT_0.7.3)(64bit)libvirt.so.0(LIBVIRT_0.8.5)(64bit)libvirt.so.0(LIBVIRT_0.9.13)(64bit)libvirt.so.0(LIBVIRT_0.9.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1otherproviders(dpdk-any-examples)4.14.1_h^^.\mA@\I[["@[;e@Z@Zz@ZZ@ZZZH@Z\ZTZ@X6@WJaime Caamaño Ruiz Jaime Caamaño Ruiz Marco Varlese ndas@suse.deMarco Varlese marco.varlese@suse.comndas@suse.demsuchanek@suse.comndas@suse.dendas@suse.dendas@suse.dendas@suse.demarco.varlese@suse.demarco.varlese@suse.dendas@suse.demarco.varlese@suse.demarco.varlese@suse.demarco.varlese@suse.demchandras@suse.dendas@suse.demarco.varlese@suse.commarco.varlese@suse.comndas@suse.dendas@suse.demchandras@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.demarco.varlese@suse.commarco.varlese@suse.commvarlese@suse.commchandras@suse.demchandras@suse.demchandras@suse.dendas@suse.dendas@suse.dendas@suse.demchandras@suse.dendas@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.demchandras@suse.dendas@suse.denirmoy.das@suse.com- Update to 18.11.9. For a list of fixes check: * https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes - Add patches to fix vulnerability where malicious guest can harm the host using vhost crypto, this includes executing code in host (VM Escape), reading host application memory space to guest and causing partially denial of service in the host (CVE-2020-14374,CVE-2020-14375,CVE-2020-14376, CVE-2020-14377,CVE-2020-14378bsc#1176590): * 0001-vhost-crypto-fix-pool-allocation.patch * 0002-vhost-crypto-fix-incorrect-descriptor-deduction.patch * 0003-vhost-crypto-fix-missed-request-check-for-copy-mode.patch * 0004-vhost-crypto-fix-incorrect-write-back-source.patch * 0005-vhost-crypto-fix-data-length-check.patch * 0006-vhost-crypto-fix-possible-TOCTOU-attack.patch - Removed patches that no longer apply to the code base: * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch * 0003-vhost-crypto-validate-keys-lengths.patch * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch * 0002-vhost-fix-vring-index-check.patch- Add patches to fix vulnerability where malicious guest/container can cause resource leak resulting a Denial-of-Service, or memory corruption and crash, or information leak in vhost-user backend application (bsc#1171477, CVE-2020-10722, CVE-2020-10723, CVE-2020-10724, CVE-2020-10725, CVE-2020-10726). * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch * 0002-vhost-fix-vring-index-check.patch * 0003-vhost-crypto-validate-keys-lengths.patch - Change constraint to ssse3 to fix build issues on x86_64 and i586- Add version to the PMD driver directory to avoid loading previous version drivers (bsc#1157179). - Update to 18.11.3 (bsc#1156146). For a list of fixes check: * https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes - Add patches to fix vulnerability where malicious container can trigger a denial of service (CVE-2019-14818, bsc#1156146) * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch - Changed to multibuild (bsc#1151455).- Added 0002-fix-cpu-compatibility.patch to address issue with older CPUs (bsc#1125961)- Update to 18.11; some of the changes are(fate#325916, fate#325951 fate#326025, fate#326992): * Added support for using externally allocated memory in DPDK. * Added check for ensuring allocated memory is addressable by devices. * Updated the C11 memory model version of the ring library. * Added NXP CAAM JR PMD. * Added support for GEN3 devices to Intel QAT driver. * Added Distributed Software Eventdev PMD. * Updated KNI kernel module, rte_kni library, and KNI sample application. * Add a new sample application for vDPA. * Updated mlx5 driver. * * Improved security of PMD to prevent the NIC from getting stuck when the application misbehaves. * * Reworked flow engine to supported e-switch flow rules (transfer attribute). * * Added support for header re-write(L2-L4), VXLAN encap/decap, count, match on TCP flags and multiple flow groups with e-switch flow rules. * * Added support for match on metadata, VXLAN and MPLS encap/decap with flow rules. * * Added support for RTE_ETH_DEV_CLOSE_REMOVE flag to provide better support for representors. * * Added support for meson build. * * Fixed build issue with PPC. * * Added support for BlueField VF. * * Added support for externally allocated static memory for DMA. all the changes can be viwed in http://doc.dpdk.org/guides/rel_notes/release_18_11.html [- 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch, - - 0002-fix-cpu-compatibility.patch]- Fixed a problem with ABI compatibility; API/ABI compatibility is guaranteed by DPDK upstream community across subsequent bug-fix releases. However, the .spec file broke it by defining the wrong version which included also the bug-fix release number. - Fixed a naming issue with library: did not reflect soname- Update to 17.11.4 stable release. Some of the fixes include: * app/testpmd: fix buffer leak in TM command, fix DCB config, fix VLAN TCI mask set error for FDIR * bus/dpaa: fix buffer offset setting in FMAN, fix build, fix phandle support for Linux 4.16 * doc: fix bonding command in testpmd, update qede management firmware guide * eal: fix bitmap documentation, fix return codes on thread naming failure, fix invalid syntax in interrupts, fix uninitialized value * eventdev: add event buffer flush in Rx adapter, fix internal port logic in Rx adapter, fix missing update to Rx adaper WRR position, fix port in Rx adapter internal function, fix Rx SW adapter stop * hash: fix a multi-writer race condition, fix doxygen of return values, fix key slot size accuracy, fix multiwriter lock memory allocation * kni:fix build with gcc 8.1, fix crash with null name * vhost: fix missing increment of log cache count, flush IOTLB cache on new mem table handling, improve dirty pages logging performance, release locks on RARP packet failure, retranslate vring addr when memory table changes * PMD drivers: various fixes fro bnxt, dpaa2, mlx5 - Fixed a syntax error affecting csh environment configuration(bsc#1102310)- do proper cpu compatibility test(bsc#1099474) [+ 0002-fix-cpu-compatibility.patch] - change %doc to %license- workaround kernelrelease error- Sync dpdk for SLE15 with SLE12-SP4(fate#324872)- use gcc-7 to remove EXTRA_CFLAGS hack that was required for gcc-6 in the previous change(bsc#1090668)- Remove fstack-clash-protection from EXTRA_CFLAGS as gcc-6 cant recognize it(bsc#1090668)- Update to 17.11.2 restrict untrusted guest to misuse virtio to corrupt host application(ovs-dpdk) memory which can lead all VM to lose connectivity(CVE-2018-1059,bsc#1089638). Changes: * Add deprecation notice for rte_vhost_gpa_to_vva() * Patch vhost-net and vhost-scsi examples * Fixes checkpatch warnings * Take VIRTIO_RING_F_EVENT_IDX into account when ring size (Tiwei) * Fix next chuncks translation access rights in Rx paths (Tiwei) * vhost: fix indirect descriptors table translation size * vhost: check all range is mapped when translating GPAs * vhost: introduce safe API for GPA translation * vhost: ensure all range is mapped when translating QVAs * vhost: add support for non-contiguous indirect descs tables * vhost: handle virtually non-contiguous buffers in Tx * vhost: handle virtually non-contiguous buffers in Rx * vhost: handle virtually non-contiguous buffers in Rx-mrg * examples/vhost: move to safe GPA translation API * examples/vhost_scsi: move to safe GPA translation API * vhost/crypto: move to safe GPA translation API * vhost: deprecate unsafe GPA translation API- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmTopqrstuvwxyz{|}~TT     I !"#$%&'()I+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUIWXYZ[\]^_`abcdefghijklmnopqrstuvwxIz{|}~TITTT18.11.918.11.9-lp151.3.8.118.11.9-lp151.3.8.1      !!!"""""""##$$%%$&&&&&&$'#((((##))))#**++,,+--++..///001233324441111111111111111111105550066667778888889999999999999::;::<<<<<<<:=====>>>???@@?AAAAAA?BCCCDDDEEEEEEEEFFFGGGHHHHHIIIIJJJJJJKKKKKKLLLLLLLKKKKKKKKKKKMMMNNNdpdk_example_basicfwddpdk_example_bbdevdpdk_example_bond_appdpdk_example_cmdlinedpdk_example_eventdev_pipelinedpdk_example_exception_pathdpdk_example_fips_validationdpdk_example_flowdpdk_example_flow_classifydpdk_example_helloworlddpdk_example_ip_pipelinedpdk_example_ipsec-secgwdpdk_example_ipv4_multicastdpdk_example_knidpdk_example_l2fwddpdk_example_l2fwd-cryptodpdk_example_l2fwd-jobstatsdpdk_example_l2fwd-keepalivedpdk_example_l3fwddpdk_example_l3fwd-acldpdk_example_l3fwd-powerdpdk_example_l3fwd-vfdpdk_example_link_status_interruptdpdk_example_load_balancerdpdk_example_packet_orderingdpdk_example_qos_meterdpdk_example_qos_scheddpdk_example_rxtx_callbacksdpdk_example_service_coresdpdk_example_tep_terminationdpdk_example_timerdpdk_example_vdpadpdk_example_vhost-cryptodpdk_example_vhost-scsidpdk_example_vhost-switchdpdk_example_vm_power_mgrdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebbdev_appMakefilemain.cmeson.buildbondMakefilemain.cmain.hmeson.buildcmdlineMakefilecommands.ccommands.hmain.cmeson.buildparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cmeson.buildethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.hmeson.buildeventdev_pipelineMakefilemain.cmeson.buildpipeline_common.hpipeline_worker_generic.cpipeline_worker_tx.cexception_pathMakefilemain.cmeson.buildfips_validationMakefilefips_validation.cfips_validation.hfips_validation_aes.cfips_validation_ccm.cfips_validation_cmac.cfips_validation_gcm.cfips_validation_hmac.cfips_validation_tdes.cmain.cmeson.buildflow_classifyMakefileflow_classify.cipv4_rules_file.txtmeson.buildflow_filteringMakefileflow_blocks.cmain.cmeson.buildhelloworldMakefilemain.cmeson.buildip_fragmentationMakefilemain.cmeson.buildip_pipelineMakefileaction.caction.hcli.ccli.hcommon.hconn.cconn.hcryptodev.ccryptodev.hexamplesfirewall.cliflow.cliflow_crypto.clikni.clil2fwd.cliroute.cliroute_ecmp.clirss.clitap.clikni.ckni.hlink.clink.hmain.cmempool.cmempool.hmeson.buildparser.cparser.hpipeline.cpipeline.hswq.cswq.htap.ctap.hthread.cthread.htmgr.ctmgr.hip_reassemblyMakefilemain.cmeson.buildipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hmeson.buildparser.cparser.hrt.csa.csp4.csp6.cipv4_multicastMakefilemain.cmeson.buildkniMakefilemain.cmeson.buildl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cmeson.buildl2fwd-cryptoMakefilemain.cmeson.buildl2fwd-jobstatsMakefilemain.cmeson.buildl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cmeson.buildshm.cshm.hMakefilemain.cmeson.buildl3fwdl3fwd-aclMakefilemain.cmeson.buildl3fwd-powerMakefilemain.cmain.hmeson.buildperf_core.cperf_core.hl3fwd-vfMakefilemain.cmeson.buildMakefilel3fwd.hl3fwd_altivec.hl3fwd_common.hl3fwd_em.cl3fwd_em.hl3fwd_em_hlm.hl3fwd_em_hlm_neon.hl3fwd_em_hlm_sse.hl3fwd_em_sequential.hl3fwd_lpm.cl3fwd_lpm.hl3fwd_lpm_altivec.hl3fwd_lpm_neon.hl3fwd_lpm_sse.hl3fwd_neon.hl3fwd_sse.hmain.cmeson.buildlink_status_interruptMakefilemain.cmeson.buildload_balancerMakefileconfig.cinit.cmain.cmain.hmeson.buildruntime.cmeson.buildmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmp_serverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hhotplug_mpMakefilecommands.ccommands.hmain.cmeson.buildsimple_mpMakefilemain.cmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cnetmap_compatMakefilebridgeMakefilebridge.clibcompat_netmap.ccompat_netmap.hmeson.buildnetmapnetmap.hnetmap_user.hpacket_orderingMakefilemain.cmeson.buildperformance-threadMakefilecommonarcharm64ctx.cctx.hstack.hx86ctx.cctx.hstack.hcommon.mklthread.clthread.hlthread_api.hlthread_cond.clthread_cond.hlthread_diag.clthread_diag.hlthread_diag_api.hlthread_int.hlthread_mutex.clthread_mutex.hlthread_objcache.hlthread_pool.hlthread_queue.hlthread_sched.clthread_sched.hlthread_timer.hlthread_tls.clthread_tls.hl3fwd-threadMakefilemain.ctest.shmeson.buildpthread_shimMakefilemain.cpthread_shim.cpthread_shim.hptpclientMakefilemeson.buildptpclient.cqos_meterMakefilemain.cmain.hmeson.buildrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hmeson.buildprofile.cfgprofile_ov.cfgstats.cquota_watermarkMakefileincludeconf.hmeson.buildqwMakefileargs.cargs.hinit.cinit.hmain.cmain.hqwctlMakefilecommands.ccommands.hqwctl.cqwctl.hrxtx_callbacksMakefilemain.cmeson.buildserver_node_efdMakefilemeson.buildnodeMakefilenode.cserverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hservice_coresMakefilemain.cmeson.buildskeletonMakefilebasicfwd.cmeson.buildtep_terminationMakefilemain.cmain.hmeson.buildvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cmeson.buildvdpaMakefilemain.cmeson.buildvhostMakefilemain.cmain.hmeson.buildvirtio_net.cvhost_cryptoMakefilemain.cmain.c.initmeson.buildvhost_scsiMakefilemeson.buildscsi.cscsi_spec.hvhost_scsi.cvhost_scsi.hvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cmeson.buildparse.cparse.hvm_power_cli_guest.cvm_power_cli_guest.hmain.cmeson.buildoob_monitor.hoob_monitor_nop.coob_monitor_x86.cparse.cparse.hpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cmeson.buildvmdq_dcbMakefilemain.cmeson.build/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//usr/share/dpdk/examples/bbdev_app//usr/share/dpdk/examples/bond//usr/share/dpdk/examples/cmdline//usr/share/dpdk/examples/distributor//usr/share/dpdk/examples/ethtool//usr/share/dpdk/examples/ethtool/ethtool-app//usr/share/dpdk/examples/ethtool/lib//usr/share/dpdk/examples/eventdev_pipeline//usr/share/dpdk/examples/exception_path//usr/share/dpdk/examples/fips_validation//usr/share/dpdk/examples/flow_classify//usr/share/dpdk/examples/flow_filtering//usr/share/dpdk/examples/helloworld//usr/share/dpdk/examples/ip_fragmentation//usr/share/dpdk/examples/ip_pipeline//usr/share/dpdk/examples/ip_pipeline/examples//usr/share/dpdk/examples/ip_reassembly//usr/share/dpdk/examples/ipsec-secgw//usr/share/dpdk/examples/ipv4_multicast//usr/share/dpdk/examples/kni//usr/share/dpdk/examples/l2fwd-cat//usr/share/dpdk/examples/l2fwd-crypto//usr/share/dpdk/examples/l2fwd-jobstats//usr/share/dpdk/examples/l2fwd-keepalive//usr/share/dpdk/examples/l2fwd-keepalive/ka-agent//usr/share/dpdk/examples/l2fwd//usr/share/dpdk/examples/l3fwd-acl//usr/share/dpdk/examples/l3fwd-power//usr/share/dpdk/examples/l3fwd-vf//usr/share/dpdk/examples/l3fwd//usr/share/dpdk/examples/link_status_interrupt//usr/share/dpdk/examples/load_balancer//usr/share/dpdk/examples/multi_process//usr/share/dpdk/examples/multi_process/client_server_mp//usr/share/dpdk/examples/multi_process/client_server_mp/mp_client//usr/share/dpdk/examples/multi_process/client_server_mp/mp_server//usr/share/dpdk/examples/multi_process/client_server_mp/shared//usr/share/dpdk/examples/multi_process/hotplug_mp//usr/share/dpdk/examples/multi_process/simple_mp//usr/share/dpdk/examples/multi_process/symmetric_mp//usr/share/dpdk/examples/netmap_compat//usr/share/dpdk/examples/netmap_compat/bridge//usr/share/dpdk/examples/netmap_compat/lib//usr/share/dpdk/examples/netmap_compat/netmap//usr/share/dpdk/examples/packet_ordering//usr/share/dpdk/examples/performance-thread//usr/share/dpdk/examples/performance-thread/common//usr/share/dpdk/examples/performance-thread/common/arch//usr/share/dpdk/examples/performance-thread/common/arch/arm64//usr/share/dpdk/examples/performance-thread/common/arch/x86//usr/share/dpdk/examples/performance-thread/l3fwd-thread//usr/share/dpdk/examples/performance-thread/pthread_shim//usr/share/dpdk/examples/ptpclient//usr/share/dpdk/examples/qos_meter//usr/share/dpdk/examples/qos_sched//usr/share/dpdk/examples/quota_watermark//usr/share/dpdk/examples/quota_watermark/include//usr/share/dpdk/examples/quota_watermark/qw//usr/share/dpdk/examples/quota_watermark/qwctl//usr/share/dpdk/examples/rxtx_callbacks//usr/share/dpdk/examples/server_node_efd//usr/share/dpdk/examples/server_node_efd/node//usr/share/dpdk/examples/server_node_efd/server//usr/share/dpdk/examples/server_node_efd/shared//usr/share/dpdk/examples/service_cores//usr/share/dpdk/examples/skeleton//usr/share/dpdk/examples/tep_termination//usr/share/dpdk/examples/timer//usr/share/dpdk/examples/vdpa//usr/share/dpdk/examples/vhost//usr/share/dpdk/examples/vhost_crypto//usr/share/dpdk/examples/vhost_scsi//usr/share/dpdk/examples/vm_power_manager//usr/share/dpdk/examples/vm_power_manager/guest_cli//usr/share/dpdk/examples/vmdq//usr/share/dpdk/examples/vmdq_dcb/-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:14292/openSUSE_Leap_15.1_Update_ports/27546aefee0c6b9191afb4043092a567-dpdk-thunderx.openSUSE_Leap_15.1_Updatedrpmxz5aarch64-suse-linux  !"#$%&'&()'&())'&()))'))&()'&'&()')&())'&()')))&()'&()))))))))'&()''&())'&()'&()'&()))))))))&''''''''')))))))'))))))))))))&()'&(''))))))'))))))&()'&()'&&()))'&()'&()'&(&())'))()'&&()'&())'))&()'()))))))))))))))))'&()'&())))')'&'&'&()&()))))&)&()))'&()))&()&(&()&))'&))&()'&'&&&)))&)))()))))))))))))))))))&()*'&()))&(')&())'))&())))))))''')&'&)'&())))))&())))&()'&''&()&()))))&)&()'&()'&())'))))&()'&()'&())')&())'&('))))&())))&()')))))')))))))))&()'&()'ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=4e9bd1c3c13cac2f313765750870c0827348da61, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=115feb6fc9fa56c3d002f9ab0a9f33d49e4acce0, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=2adceb8e94df319f9b9dd42b8d82b8be29fe0b9f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=4d8a03e43215e495e716738aa4fe376c27d967d2, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=de98db42bb8d86017f625834215de927352eb93e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=038027bbd93a4ad14a75e7f7d28cfe533fbe4947, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=d4f6943d74aeb1d01df70766e0eb9840309b0886, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=270d0db4bb45ad57a56e795485d4fc9741945a20, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=32789898bda1ae437d94ab8b91f8ca822e43a493, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=c2fc5ce09b5f7f93ec4a163236627c5d639d52c5, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=65bd9b791dcb0e32fec934b0e99cd51ece508291, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=758439e2b1fa52777319e0eeeb52e9d1a46da205, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=f82a3d4d75a940ee88e3d33b9fdcb4b24f6e1cf8, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=fbe0aa44d12c9a276ab3e705e3ac317f362d16a8, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=c60e817244db533b8d287ed6f3129f673fb25462, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=eea8e176df0ecde6ba108b994b5800ea95abe77e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=af58915494e37f17277d592b985172f34bd9fbbd, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=d76c6440a4062339bbefbec476fbd4ee0059e43d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=e425ce5ce1d064d5b751d477777b4e530df1d0a2, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=a1c44328479f10e5d8f257a7ba7f8dbdf3aea5a1, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=97d1baad653e49f93bbc023e2260831a81f1842e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=f817a86b071c758472fd33a1d5339c0911174d0e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=3275cfb1fd5a3db84dab2dab60780d46466a710f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=0ad4420fca1f19c9ba4fe12ca2839ba9eed62a2d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=613bc3da2e8813ea8465442daf00f83ba6f0cc4b, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=0b233fb42c57c2d3d66758a6dd5f0682ae70efc9, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=95276a47d0848bd6da46fd6df3013efcc144e420, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=bd014f6e166b1e8db35f7b09b2697b63cbd9a753, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=8c5e111b28584840f3e3415dfe4350db44265826, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=87ed5744e8a7c51650d6bb35266d0ed51d2cc3c9, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=6b17764e208cd3d16f898c28572d3de2ae9e338a, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=2644f46c1ca68116b7f8b0028a132fa201630970, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=77f90763050e928119cc10b58e1ab0464a9c487f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=48801ef71e8863ee8d8bed2fea9a9323499e14f8, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=addb480e2cb91ebd7edaf437b657f2f361ac67b1, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=8909caed4cebcf293c3d45dcc50212db0e7e555b, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=0961230d48c099e9b94e387bd0d3158e2de6df7f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, BuildID[sha1]=6bb1fe50ed36670c62ab26b0d9bb0c301ffb54ac, for GNU/Linux 3.7.0, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executableutf-8be725d046ada73e56897249b2fe6b34b2078dd3533c411aee52eb92ccf51bf38?@7zXZ !t/-t]"k%HW"<ߊ)*DẉcZX 1@a륿KD3RT<_+ իБ*֣*S*&o 9ԝsʐG>^P2}87ņ֟) 8{})B|&DX(ܴ#^t6 # aE IxfJx_E]"\dIg@VYDq_7S$g,*կ Gt _vP$fہYl&ᄉ||%׳+'vUMF2* ZTMZ.]xbH| *w5<ʲ QXÝHJzstҩeq@x/ ›;:nRo=]֕¦,66 *s,yXN|bWD+u[TqGXI9)=͎x-¼B5e)"$gƱn/^6UPX0co ܻn93Y!KXG[e8 #J: X7)/ԋR8KD.LLd8 e}⇏^kDz!F 'xVTP h:>_gS<¬Λȁ+4\nm#%g2x-NPwj?Gk*tbiub=n|ˁ._XY$wz^>*3J5 r Jd=zOi<6*9R8 b ;4N8\')9^\=OQޜq6Z.͛Yo-k#㧥C>6htΏuF %f`܏ 0m6oe.=JGpPY2Z$k"8.iŲQIQ\**m=~s|Nrr=lWbn6[G&Jyu\+ >PgIf.&jVA+Na5SL)}Z>Ö!5n2vqta[P -:Ta&%YR٬Z!$0lKaN+o*_gHk`gnn=U4/~TVXtV@3!㖴D^ѹ~5҈VRpqQ/H4>A 1ڰ'xqT ]g<^TQ'>pʪk\X- 0o-?*3iCvl47OR7h1ۗA!X˩Fs<2G} 쉰 zJC;3FLȐ`Iymƺ, >%,cs4?t?P= Dxp =ثՄXF&ᱧ}[V PDz{Ds+=0MdG˴Rj*)@e]_9+49 s37OO$Q 3>U|#A `K%u0'f 7r1fؤ sPgIŽ i,>̎lIP=g-LLr-FLjR)ta>“>Aу@<׹z3~8_ nˏ&[ 9Vo4ݝTf _P'r4B|Ԟą`b%lYeyӴd 1Tӷ/K'%[X}}Wz&u;9*Y+RnP\etaG_rDui"&E#jsم $MT&YIY>B8wBoc0H&64v#}6֯a"0~ګKCTg`]!ۧf7l>Pyᭃ$g& p=;k˩0R/)*N%uyսI@_MmķsTQN v[HGA֋s6>%L|{`5[aq4. ",H@U8"1R[w\zsw6N[֔u+u4RTHr0Q "V-By`*CC?spwEb+s4@7^Vakǁ82(Xi6\O&PY#LE.,Ckk%1i nyqLq\.JٟATo_`6vy= 6P _?ퟃSEpNuؠ[k=@FȍyUXld>#QuO>W$ǃ)K9Ϩ q2V(|99k1_6BRml'6D5l]'_uxѕ!d[H'GB'(U8=JrWju:b:Ͷ4Mq# 0}$28:6 V'``nN_Bc]G,qdSP=K75 fP7VOuv|kZO!  =TZCȣXsb%q8|ESh" ! 2K{$\uvYG=GȣK/sZ 2|]vg:Ǔȗ(?.x-NtDhk Sl'ԉ>uf$iS|$@i-ׄӉgT ,`a[ c"޾ 1K.8# b Y|=n-|^i@/G3H#_-,(qH"Q囁oMQ9W|2>wLIC`]~u? tmNU*Dc+IYxv3V'^uh?!ջ1;DdRt϶{j\>kMm*ejTEf3ԉy-] ޑdȢEoV=.1?o~߈zL1V7eC:kED3d0vb9:,)b> 6O"4@=&^9gލ8LLW۔撮Ot։hfڝ ESmC})Q7l+hMPq@y_?J"y qgVv;o *HIF/-\p Ln9>L/V˭=h2(W ۉldUf}p@&,پhu* ~At<*JxΧ 5?ɺǞ<.V[f_;#Wڏ'>޹,,ڠ'QsX.1[+CфVr}{Z$u$ihs+׵ښ2&3673݉S+.ˌkƭGlzPXQ0Spbg!XT,8&Mɝ s-<71E'SC" yKlxqC(|TeºD9U+r^K h'֣ebQ4:Ĩᭇvi=83B:bV,{` p՜aLkK: 1y4Ev]Aԧ+cΊ(}e}ޒԩH ޳+gv@xi/fAٳԊqF(7t5G ߴ̠{%yE spp`T..oqZn::we M^Iު薍4L8rv'݉c! NVXֹQNv{oI d$Ykr.w{ޒA59"}Rڈy[s T]g)5˳!Z:{QĸTO/J$y=e{/.:/;j mtC/Tg<g:4t-o,>6mz8ua3BG094)]ӒH|>AکKURj8_Oy(a Xsف!9$6T㯒ԨېcVYǹ2ӦIrН')98&&Lg ֕ eS7ۿw LI4ZO˰a4{b[]4=е!m$gڂx8`s8ׯ.:q4lXY#\H,T V~WOUB4?[rŜ𫃍?TɅ!q\k7RSq)sބP~S"kZЃ\1 GŶB :׆[ UVjJNU<[U6 {  =9v& # jkG9raL怔d*+ nڹS`CT]cĬhhPKv(+rhcs5( qotG{VS̽C:TbU/5 :Ky0.i3q9MRr cK Wљt?eC-=jTn`փMhBONۯVg2|r7<6U%|?4t=o Nild rK AT,(8Il4 R`@ejB~3!ǧ*Óݟl. +u}`e0`oOB{ۗϨK-e@\>Sc},Pj{*~*ApEdZf0]\!ga=k+34 j~\ew|뾯)O„>R!~[fdz]ݪǔd}{4+ =WO_OA\t{\cR WeOрυ@nyfxF> G2j$9ɹDO%eF qP˦iUS=|Lg8$2j:>zǧ#X!@g%)oFkGȅt ʪ`#$١kkT$F:bW-!D ;2 ԵB+$Q[EhΔ˦}xvdedR }=5y<) ѐ ZB/l  t犃& Go%:MƤ,JoAt(%W.ow.cg=Ր29Epф>7ZIrb /yaLitwo`cu>IfVnUn׶j}eث9b]\Jj_Vq+c[&v`Wt0?>Uyx߸%ě`~; v@Ms{ ~-\?f*kK O=k8q6}F6!fW%Ǯ2n_BeUsb/WUNX×رorcҋ&,G|–fs!F2|E?brђ~0h)s ҕB6%rL5PPq]:niL㨿--D3*~IՍT br54>-):zD4O7jRI$ \LtxSDZUˠY&tXjpZQ.O&pċ5Ws++gDSKܴ"gV%䘽9oFQD!Y\ta5I`?MkݾONqjr?1ض[{]BqN˞!;BOe4*)R#NuX}ǣ\S6w~0)d Q&kj"kXz95=p[34Gë́FdI|vsk#Z9 wxd[ ʚ l~ޖߌ[ETh(Mr$aEAVV`rJ= 3|1&T☤πGܾ7#_ض =9;3H x!-b߲"`3ծ\ǔH`73 e35Vn̎ 9`]E}v+:2nmc 7x$#_piqVo5w=e6?VR}b<&kY> {=B,]0A5MVdHy%S o9 Qkbē!Y%b]5fOlo9 ~\`ƋiTآ̔[ cz,?`mjVKՋظұ㸢_/w R"a=NJN]# wMd~S! ,ut@˅2VI!PӪ|gꂑ[tJv=,9 4q݊?W 4J5Z'#d&֌ob)}R43*]|hRkxe%Hg\r9fp]Sμ>o~BrI /z;eAE\yK^`9NUiiL! OŤۜm_!ߍ,lv3v Z_unx@usj8l6Rf۶HF1Ia~gpk(h@n ޠqNG VPeRo<Xd5TKh=kԭmSֆ?f/p"˳ED9g8d-EY7z 4L fHqv+9mcn\٣*C:.X`p0 |E{&s&Z taE; C13 ޕռc Pgoh `E4ؾV aD(aUsY{gDd1oH 7Il|!e0'?i;B6h~ʛ1`dz!qqV\ %>:>K <ֵS!ů%́geLԁƟIʓן%gމR4oKTRO'3Wذ( 17Z#ҺkܿVa|' C u5P_W5 ;=x +V>F:&KQ Ʊְq jxxksM;]'WQ>f녿HK&{ RewSU]*rYU.tʈfLf 2[t Mފ?gˆYf)'>x׃~93||BM5Chtxn>2g׌zr;%ֈ5rTȵ RklRx 5 o Ll9'JՇF(P˞-v- &hءڰ+ED?gxr?T|l:(}!nGԜ"V$-5F6k˄nU~k9\0zv5 u=xG;N `x^hÇU,glA&g,<˜$.'D3Q@~ ȟ̑{{0wĂ:ޛJD\C6 MRt}v6a ȒV{,U}}ܞZJFA$^yp0%'WZHNe]w)ܸ6s*@? Nfp)aB]]_$D485/ GIqnx!:i8A5cfcbz(rj$nU@j~=X/î嘓t RR+}u̯Fc~!!RjY0 zTͅ)IQ2w\Jsb4&90g[jp3~&8z Xq]?.}wj~C,zaJ&rvctM\,4S::Z9#QY]U| w_^pG(of֐ȃ\2dsjlc4,N82~5Ag3,65˸!]4=d^.XV@ W~CBmV,UfT0Q*]$F|Z!]7/H ѩpM=`$eL@7)ZpeGwЗ2cSJssc!3H34Kahr7ʸ)@礜o.@dTJ 1Q]Wny^u.W qk=X{|_3$cQ-?ځM.[A4tw8:9X[I}eO# I]Fۤn &SbAdR/4NPo3> lZm>v~s6q~|xn\w+'f<Ϯ<{˜S3Ar)`F֎k?TsJ!xZJ b{Gn;^uvFᇝh͔HZ1h&,Y5%5{nkz^lj G\S' -E̗MPgf:h!'V-a;9]L)sa`b˟)wxi2a"o sze &OV ܷ ~z}Ȕn*d~O[qD,=šH8ґ##5XXƒ|n#`CeÒ$m盒WVڽD{yn1@g;:Dz67?Nu-J@&}M )5m ~;kzH{r g {,epӑ*G{ҿuؐ=& L{=e2,BbELHbϨבqoP9 |Y-߳z/?kӒ '>\\_=)H}8 yEj:s~*Fgŷ~=X~dJS0L;a֯Ͷ#r&3E!Sp0%pF9O+k+8O?lʒݩ4$'~|0`QyH^(\gS0![DcWS-܏xNIN ? !gr\=fpH[ȧU_$4Lp\@p\Cavm( SZ7lufYgy+N6qiծHkmꢲ ^.|" m0Ac<dKR⺡1r_bdø=8ԊH9cq_M: osaL&k{$$4*_K"=qk2ql)Vop#;=cx{$PyBn;aZB gFB2{'F5g5CT, % Lgdb`"pClꖏhbwĥ2\߇*=}33b&G?w}f qA7Z 1}p᫺_h j/tEс ap$X4{2 xddo^ 4ZqMQMۈ<ڰTQf5OF˦#DݙN S\)'W[h4CJ I4`auJCgz$14i>n7b҇^o5?Q_j>\;4鵀5qN'$ĮS8yɿFEY+5mXb-^w›AښxWE,4sZS-q~V1G~Yu[kZ/_+^]cU{)C[)Ci/wt̘◅,\ꪨj(E(hW-搈cd#uA5}Fge: P宻{/y3z>'Wlv~:pq[ZŰ׏|8xbNυ\B5 (Wl_4Qt!Vq+(ǖP6MP "E1K]myJi5.?^,1Ӡ9O >SKG4j<$l3rFPuj f0+{R QmRߌ6x-rpطt,Hkgc׺ѓJ?l1|.Rvs0m0zt{AZw;G( 4+S3)`_2/*v`x2#CB9U GRxߐ۫Of?X7ny&lL5i}j]q C q҃zx](g͢eyBO;Ќ;,8jjU LǫlY2$h60Pi4q8ޯijB !Ƨ L:Y*4+|ó׬>hk;&WAlKD@+XgAԮS)E-#2B5&kW]PDdTQՂ+z7Sד!@@~^k BL’tT>KHZ~=⪲`+ AkLlQ9O4e xPWM2Ѱg(I/r^n4EpRvq faRܴwJ_G,sM'ra'PG6;PJP`F# 덙myZ=/w 1mGkF)##Vh"kJC=d,`q`JWg>4?G*J4oԀt>Y),B.1BkיY o. K9ȣt(.| \>(LUT[wA]$jbB Dɲ,. ZV``#./R~-@fݙH"Yہ.arRL~:JV΀MZ ⫩նT,xJRNOP@L]%b5V?t&Se,twR6y =pе t 9~q>vYR}MWk l:fA#[v|•_z ߈!-$ aX%k }B9(9@{^H}pZ9 )~^I:;9\+\F-D9`+%)<$ 7֑)xMC0vPcŒt=xA64-EhٗνSN @'$+?{@ƒd!C,J.ȧ58kUV?L 37@۹OE֝}y@__QĮAI#e`Esf =|_=sOz&#w jXe8S?x:V|_O7|:"ZQyCs(8G |xoeM,UU}J}v32A=4k[#DXDaa s8&%0&RtM,  V[ U -tN=~tbD6$\5Pn8ivD<]<(@|e)'I޽]!~/y %B| LN]WcԇxoQ${nTKՃa9䞻_Bt oCI I%\^dSI|qeՓ@b-L p؛y#LSŠM,,ٺ&lhŃ iF+y6Xz Ҏ.Ly,0&8+,zE["7Zve'@9{' 6.*9x-@!*R*pΟz{a衒p8(iϾ5q/X71֗k8LsElJbw9ay鄺{̨$U)ξb ap ]N/p{06nrT2=z ekxgV>:LUSB4E`c0^0GXyɤPoVI*L#&=I`Ou]ՌW.߷/"Qd'aK3WNvσg|5b8za_pF%lQۛ`AL9="EػIIi-@]aW<} &`d*nw%QDɼCYx߁WytF@@$Ϫ+Vn򡃩uk6OZa=.>N6[}E9qoH®8<7 |__rbM[JsCd_vWOrswtuk|\\cϚlz/8A4LoP${nPa2|ك` "on[;nݻ g_=` "=W-17h#7AzzlQ-z>IQ'$-a#ZAŮ$8IXaDB }HI{W'X}\̍KDH[=a̍%iCtVb ~)ѿ ☧e#t9r=FO"2,f`QN*Df,wpDS봀͒ qnWA L2JVِw \ntړRz[Mw]5hR'בlTHh)^m$!`;Ey.1gߓ6_J;L@9-9.> u b+ n;M=9rè1o0-cv1Vs"9uy֍a GѸCH|DZA$4̶hu920<38:ӟ 1 [HXD]4Ė2jsm1]ykYEU_) :^1](}p&UE.wVV`J}t7\ԯ@N9 ?H#Vr>5? )ϴT,ONqֈ2`p=Ǒ&LVS%UWaݙ]Ce0ĐY֦|bpC's#.xj2_P;:upi"E@\_ƅ~zLs*DYsKYF4?zd;PYܼjjeMpvgЏ<➸p]V#BRdC,`*%ZV9z&"wS8(1 Tnc@}#A X#X^^Z➞SCXty櫭4%s3kML6R:٧?ozJH>Xc<+|="2u"1 I ~8)%Luxvb R`3 Lf @]#eLn8K%g̤69 Y;I HSvrNN/r,=C$~]b EȪlS+3kPA3*&zA4#5bUSQjTUM(0`.ۓ(2t%%NkGā.D@\QpɚqN_ْD%$xMk,B 1 AĹ`]G,=&uh{ |ec98n'_YUxS1ʫkhjK#99*l": XZw|xpN4D[ʏ&-PkQ_it=Kk~[ŗ$ĤaHIJ PɈ5%I^=#yw?⣽1+Q懢kR xfvvFd]B~qo3 xH~`n{B1ӏ*;o]ǎ>kGrs/78L<ӌL0  :-EY.6|M~/c(%f|Ms/atXfC_͓^uWxZ R}{]sIl6dٯƖd룞vX.z^,Ǣ=_3qu&Fxk~bfҩ+|x:+Eg l!*{xX1~huXDQ̃婫& KZ\N} X؂I%kxppn(4㙴Fա'a]l1{X6>-dMl=bNNiDyT0 /Lh6~U"XͳENBi8h t U(O=P6MGI, –\03^H/U&RB*^:}Vn'=\6,ܺn;ic$52s$Rybvaލ<ZeȿiC??֥[n0_mP',1 8rp! -5R dVZYksiQCIӋ 4?kk3Yk،:|G)3Sy"2 ֈy:AΦ2Svj_l-Ňi _辪\jfN%=wS)T|UX_GyyUFRE~s+Ȃ2jl-q^J RtFg#iVG8ݿwj ":`cTX7x6 Kp(O9sI)fӼ}򞕐ea,P؈2W`zwJ.0+!q'=?#>M?p [G)OTu:Z_4K/b`Dh~pq~?hlsUJJ3fSLo?u*-qC!.lj@]-c9aӡ#?u|<~Ы7}~k] Mja\;t{ٚϼ%kSмb%)h"{uY2r EEs $֛C][u^f@uR"EcE@}w+qꟙ :0`j[by%(^)Ͷ 4Cqq\'U!d{v3`Û9pu%Y_]4#3?ޛr `濱nrp\ MYﬔlPyP,e)Wh ޺ugpr>l7TUhdh"|NGn[с`ia7RH)lf MbܟOeM;E]*01!.):/٦r[ĭS %*d,'qZcΛ k xkcüyھx.>hN 8F.]Zg-$S^eDrb), n%SmnHEG"cN$Т*V lFZ@n~T[oa4-^ 1iJEX,&j`zk?RXۉI'9<~aB`,W ddX#qnDoI]Z]h͖`HN@%uxtff(%s*D-A;4_z#U5a$Ki\Iݚ;ߋ [S[@Cm3U pEdF\`2%ƞ]sZ%'EcO}Q1*@P !!F͏|+?oRs X>t!gx Oa]6-;xwϜY?WK3-8P1,pcЫ2O-a[A<龭d+UkJ{D" V P6w6,jfh^lCi*NR"("o1H~m"|aQ24HJ^IX ezhe*ECN8`n:W PDQX:Xa”_LPmIn.P@ *8fG=ftʴC!09%'A`ݛ|yj^q9}Svn~b*7_sǒW1i]h$PqGzpǝN~YRp&rY1l)3q}C R liEZ50%@rPХg1"(g,${:1#, ¬O >Iͼ1){v?"ިCt cU ȽDsJ-C@c_0ZNY[w ńʂ+0'z蹍D[R[6x2 'ʕ]GV,k˿cEiڟ`s">=8NYTjY_?NY"tb#(,iMv"?˙bۅg)OnK׆-"k- eF1{󨟭4 bR:BZ+d%^(0\ƴ)g+ȯ m8Jyq~G:95 $jXzW(7_GfީY2u;*8@ˏҊ N Yeu w_Dg1 eaz7#1c5k(W{B<ʠW{UFH^`=UVuwXûSח:j=Lca.`uV//}ʜmyغFrI_ԏ\xG]R e_LYu"auK;Z` ?˦RPoATr. "}= 9X_MH*eќKK!z8 t$W޳%j{\8^ËӂRwa 8Q!yHд_uMM [6<%ꒊ^i- ƦrY3/ߋ"i.ڰlf]Ro&(>׹3}='2 pWΒMv$Q)Y Ӌzzذ0P52HuhڲZEi/H.&y朔QVQZaGE} A,O"P?gq2A?hI G}%BwtU ݑlypʳxT !omJ~'MRF;g NpM9 $pTZLU& 3D<э;<ˊkjnxzD _^9og0s:npERo $.-P;\w͘aW 7M^{6I6zv%uPS\rR;}E cڰi0݆Pg9x~G%Be銹SFЋM0AvcrtHo9F4a&%n }hn^Eژ—:h$08,r!|pbh"ݿ~hQЫlDvTBwd/M[:~b}VHc3ܖA~f#cl'.9% w:iDVvJlT*|²f*;Z.\k HB@љ}&.!<AKEDxtnJ(cQGfm+:z.igͫ1 ~):8qtS:l!e(W*B8AtN.- ~ r!ȯ6D[^jU eޮKe6xdDw$GB^rh# %5/Ȥ,=|68 ,$*NxlOn@%B mw79yuQ3)neE{c! s < a{%^Pި8apv+a">b p1xٞĿ}DU0 G5O1PwJgG!O%89-l7'Wks[6ebœf:61QЅ!uykؔ4_; ;[cA,{eY]ˊ>OpMW?(X[[} ObZV5.ڿx5H2̙Ny|"["Pԋk[HC9t,|!@G{ 콧 +^b fqFҪ꣖Q33]>>1asL(wZr|}ϰt)^n(ILT}85ݸ0^ v5Q,]#)£5mۉ: *e59NblQ^P03έJqJ)I0 7"Ԍ>*X;''kT`{%7aeU 꼛o$!q}x94NaW9pI?QplgNqb 3}IځlC4@!jo F=Vt^U"rTMl*w{utRմd`~M5w#CS5]SwHأHGI.Oތb#oMôr1Z-z gs-A?FLʊ? 4 ڦZ} (ʂuh.D%l2oP]Q>ر}Ջ$[*G,q`C./k%ό (++A*CEio駼)1fLGC0#o8ij+mKJ%vJfbU3LGA2%N8fpdf4@㶈A{ytW5QrZ}HA=쉭D媗jENuKF-*Cn +=! ֩.Tkwv=B _"Cqsi,Rrl-f 9 .ؚkMYŗz&~I"\ԙ2l^w9ebz=-Ti_i9[IGC٧̴':G5zto<,]^9yY&>/#}O+ =O5"PNj@#2a)JO_J!t:: (yvx cS$GĜҐ܆;'\ȳ.0Gp9q"ʩR>IIǗMYVV1M:WUF1K(mւ}1(#'r3e?J9Jz۸֡  R9_[83;xeQ'#$-um3T9G3 3Fp-CiЮdMFYF vBeؒ rUBՖ s(Q$G+uݴW[.)AGAp\ ئAҹR=YŸ0[  tIAR߄B1f ]̉nVyt4භэD!CSZJLS+j~Ȥ!͋ mr1eT^~ṔgS]֠ؖ%f5+a[ 4[N!ĔN(0Mɶ)*}jv>X##^$0O -R o"UbIt5\RFS}J lFSR'U`5t"Yx$M1obIVi-n+[?:tFH0_ dt p \[8c"G-,bpIȶ0w$!2w؟7{zۆ]3a+ 'wk #%.Ub^iJ%7^wvl8xX y7|W:=jK?mC=:u&PML~8OtxY2!mt$- 7KAj`T4$ZZG5"UHë9&LMp}|#5Z[di6W4ɭ!=6!3N3PۻaS\h/U풊[ ?safޫaP yMG6J`[UbU9/ʆi 84Ɩ;Vg>{CMoUtԔe`┓ɹ덟}%n:1zvgݜD_,uL4}"@(Pa&: ZWo6v5աI\VZn*p?ȉ6.c_bK`ctBp۸FP:L>\C˅3uu W0-NhSPK=sSk0u+8$]K:aҨ3D#@oߞidXЏ}n`؍ʻ+{8AD)dN|eu 4t3kBqec}P"+L%6ghyeQˬvciEG0'{~ބ/5Rx%r4"ۉ(?ݶ142 DNgyiNi:{zLƅ[<. xX./.\+5B>SCS5ip^V[*}-5Sa[4A9W›Qk!1WMa}.T2o̱;=ܥxF$ -flcgf%9Aȼi~[]N6-+`xABmY*pri?B$o TvTz c\G#Y 5-M'`o;uՆ (S]Tb 4 LVlE8L`FsN{1 VɎAeÝ+.st dD8ɟce?[9ؑ\W!fQJݽIV‡2LzПiQ. ֖\h'2"kcuyPt' ?\UC~F FeegaW@': 7+Ba=|OS+B$;<,;rWZ)[| kӈaTXҩ|=Ȅʣ(:΁A5ư%кz7sT1h,D{ Z zKAlDЅ11WP|M81$ [akÐAF0~ Y Jε ;Un>I;u7:̸؏95!U:{KqN*gj3} +-# *HTZd(G~fRn&g ]Jo6r^(gZ[z`exOAuQ`wtɒR-Z`4߿_vYGF^2Ñ $Ox@@ 1NBୟ`uT$x;O|9;<\vhf-+UϦzLO+ VDCзK ]tm2G|-n7Qu`-_ }32`߁]sBG<ozz;t "CmFɝTO'G.g+Q'ͰSQZzHP6' v/,-慑('a5T,AXj7h_Ɂł^@wo-ej,j!*sI8IhN-DP9!?Z@SMĎMA~<=xBHYf ?H;rWo !$ 뻶 YZ