dpdk-examples-17.11.4-lp150.2.5.1<>,[$/=„L "#P\F,/ c~Y٨7lPlIXSBH6Y]  ߨ3J32FZ'y_ԆXS,+A9yjͲt-3vA<y]!! #uϪSe\DE8PAV:ד/vmJzuF e0x;,$< #Gjɭ,bTG|̥kIF Aijy=ިN(Gpia/XZF8"{/q^><|x?|hd $ T ->NT\,     r szyyy48Z([8d3903:3GLH&I,X.Y.\.]5^K5LbWcXdYeYfYlYuY0v`*|||"|dCdpdk-examples17.11.4lp150.2.5.1Data Plane Development Kit example applicationsExample applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding.[$cloud116}.1openSUSE Leap 15.0openSUSEBSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttp://bugs.opensuse.orgSystem/Librarieshttp://dpdk.orglinuxx86_648Wx*xylHYp9I=ۨheYzj08x@YyE`9-@(IYxY]w;%G xmVs`ky N g)4lJAZ j  /5  $) 8 ! S ]& {9 3E-* qB? r"zh Yx dxH7]P Fi + ( s v751/b5 qa6AXjb Z (nT# DN' uXo/5$Ug  \01nbkMuf6 (Z@  @"{ 8" 7v4 =#TSG }/}#M1A 6 R44;2iv P+B#u >^  (f qQKP*p   @6'd/O d 0m !w$s( _4)U'6 h' k! d 3F z2784C5v `&c7  m$@ScE LA큤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[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[a[a[a[a[a[a[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^[^e580b3422c175b72255939c0920d34f176a7cc0d8d71376ec5e8e4b03a11b563c21540ec5a422f52aeed7aa554faff9219ddeb1fdb5104503b1e31ea32ab8087a784b83bfb3d20e52c30e47a569aa433f35638bd92100ee8d054cb4662f0d536787c5d02f64422472295d6d3f024dac28bf150ddee23ce3e707d5fb3a74589baf9e521cc6d4f41b4a965d2b5c88b17473a2c996a7a98604aa424294bce2c2b807934e96d5afff26a133e523681fd9c6f4b2b7c57e388f6504839754f85a7f2cdd0cd3b960d320726fb9e973dbc9d42160bd5a6146a40850e832d37b7757622abf75cc6cf54ac5db8c0476e35335e8f097bb563a8253ec953a387894b0e804dd8896b96a2bb3f2aa7c4f0828eccab25f94e3d2bd22671292cb93a232a9a9fb83b48d08cb41f8d9c48f22dd698112f96597a148344aaf51bf410fb827fb69afef72d59cf16b61bdd07f29abf42fe61b2c56a358edd1adc23b4d841c773b6e8c889fe5f785bbd28ce2bfa40a1cb300247171da795c6274ebe628a8c2ab83bf109dc12698fc184f2d8d150ce7f513cebb5f9f0bec044a74a79e59e9963ed37b6b3682dfb688e70d72df6a757cd1d68509b62e8411e94155595db70eafdac9b36d5c115e7881af5bb292c23a1745f65d9a1a434890da11680508da8b052fd6d76b6ad7b49575c8dede388ea3a12cec8e2dee0f17187b1a34af821ed6aee11531a13b5eb3779291eb8c821f2ba6115704b00613ab6dae6c2ecd0ca1d30da87d1995d53468dd5a91685ad767e3797c0b2a160ed5b2b9e73e578f22b47cd25f292f92bca8846051832fe72ee68ef586913ead21a5eff1d97c1af2225e76857d9981b8d48bfb8ae849505d71649a4c295f13298b26e05fff158d75f500ebdeac88df9c1a820dacff3407bb4ee37f7eba0473853232f2c06ded1d3a96c9b674ad35330efff560c47ca0a02ecd4620ca590bb9f66338f4682bee8142eaa85032d58bb625e05cdf2317d9a5893f3eef8e38b6eddcc517148ba05dec35aa2d0b538739bce4c0b729ec861b279f088554e508424721790d7100121e84ab55b1c3683b75a41d5d7b6f1793e7848e683f220cea2b0c2b4cda7137d29a2c806b9f40e6c953a96cdc97d8de0bfc40ede383102121313d20cfa50cf6f5b2404c75d97717f748b1c560980cc1f729c14c750f5c0c4d6f630103a70537ff8669c2e662e7b6c678454e87461b4e5d5bbfff3c1618881177a869422f7c5ec07d317369054373876c37d4e0249150e3ad32dd313446b428a33e0753c57446e649bb3c2842914fc786af1aefdbff6fb4e07250bf900adf2e13730702c20fa844908bc6f436e2282b351e5bf8ddfdc4cf63e0f38fe3a123a1a6e113b9f9883fbd7da8a58878cc0d964088086ac144b7bbe498fbacc9df8174b2c913b8aa9cd46ffe901f10cdc2c8cacf67d64eb431d60b1578e29a3c352207eaea33d54567a801e31ce7e0a03245f28f11f32e7609300ce6ead5457a9ea77518a84b158c27b3d3776f0b78d655144dea2ade09131c661ddb8e44c1386613505605f29b77b19429295aeec40fe4cb4d59e4f1a20d5faf0e1a683cdc8c9e79509c6f49d04b048f42f8bf633a8415bca2aa253806e17d315c1afd7fe468d19bfac0384d53ad0a7866839c6af884ea8d8ccd0eccb7fd2adb9bc754e36964d7b0f9b90c7e45ef72cd0932e65027e6f05137d9d639d12c066b9dde94f835927d1dd42ea61da64443aafec15101c4f3edfe8762c9c9b5edefac73a3c3137fa0e567d9bc14d0508153906efd72448f51d10f0ac1adcb4402e65ac37b2638d555e3443de36a2c261b31049ff8c9a315ff9e7c6bc50c0085cf429d85a0cb216d3089ae458b26619229009298f448ebeea498404b41c17daecc07873a4da57ee9e875c3f2de57a6b0b7bd63d0d62b50dd5c8b6a05b8f345af7b2b86d08cbe8f8742127c7fd7015b57bfa5d87060961d3874655936c58239879d76595c381bb93c3c151c0bee754ba3fb3a6d6b41cf22d3aed9ef19c12987bf48e175f813d7bb0c13d393a95c25fdfadcac9c65ce9bb8172b93f7a4e8c6d478246d4785426df1ebf634f3cdc0dade5d80cb11c4b56767d851cebf64095e672ea1cc08cf5d6f460fb91dfa4be028f342c87b43eb99d5ede5dd0b77812f71ffd300f567128150cc610f6946746ef987f00378f580cdcba466fbedfe84bdf2d29d55e899326f3d9372e231877a1bcafb8ba75d262c9ed527318f132c97de01675d8444ee38e6792fcaf643c3ba44cdb308951694b6e6aaaf9272de856f6a33c3180b851441c129b8110ba1ab0a071734dac59d543c11e938567c89bfe2fc5da4999128c75e40d98fe2aae44444a529171ee3976b84df6111ff5115b4710733cff8be79b7c417fbdeb0df63e7caeaa4fd34edce688cd8c18906a55876260f053033e7678a194a27c8f9409f4646204c3b49398237b5aa5456205d863221435278dd9825060892db72e1974db50c37141d8a94cb98adff5fb55d2e577eb1f71d8f9eda76269ccc3fc786a52ca1c6af9fbef85465a7c9a38abc7780a6b4fd42c19758904c187b09e706519517777ce4575df99b5ca63b91ebe71f12ec11eede49545ae3fcc9ee0f6cb235626c0e7069d3178ca866d2db5780e37528e3d93c0fa00dd8ffd767fc43d5745ea4c1537ff974ad68a719c3257c60a3960485df8a981939b94ce9e1836c905bcca176c9cc89d2483c26a724175f94909c7f300a84948424151901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bb93c286e7ec0825d7dbd1b8ced3a2290b89b8258236b7d53ccf687abec7a2bbfd4b99571cce6f42058c153c2ab4885f8e32977f4bee4722e0d68c5fe0bf5a1c84897bc1412ae515258b02d380315ab17cafd4d95633b57fa62eb3a42053f55dbce7777b571548fba01abb4c0e99132eabf78a8293c7a1ee36c865201ce9954b3828a6095d1abe7f58513ccd0f306cfdc9987ade025564548d5e9953869be237dd918a9d3d79962f2e049005d1f1f2ee9a368d55dc1956a378b547201b1bfc15d1b3e7b4db75e7001e8ec58de3b5aa33606c357cfbaf0bcc49f2645857dbbfdae25b567b3baf9e4e962ddcd711c8e05ef5d1b15457a7b32b3524d184265c4c309f1b442bfa8a91da3282e58654d630d7a958683dd2b01ba8f27b4bc9e6f5400b71a2228a282b28997ffed6a5eb2502d918af9a2df2819e5aafa7da9bb7dd9f7a282b46f8d29f52c7ecc6f22e35d10fa13a416bc88936a1a571020d325ce5566b8d79b42b627a492b9a821210f89b6b0387723ffa22ddbb1b34a0f7627214a3b8f6c05efcdb62a9ea3766be449b1ecba45dd0017e1ff917ee1256d0ea5cac162c348c73d8ce49ed1d876cd7774d4dce767180258fbc66bcef26ef4815b15147efab2fa7be009c3c5dd36f7482a9e7e77116f496d644c0b4229566c0d3c944cfefc848397fd3c8711982506947256700e2f0510de0cc1426f484fc5d43c9db894f1691d4dc7e4a163aaf6f4f488719a75b0918a1d7bb57e4bd236e086a836a4b1ff8aa621a4525fd596f684401fbba4c0269400c8c55e3c2bc4131500af1b92661cd902d7182cc1c27ce38ab854193b8d8e8c01169247526361ab31879db2979d684b135c67c0a3212261689068de6501dc715aec6cb38a4a86997fb46e7a34167ce22a387e674d5a37d795bc6efa39a752e7ef5fc9776d9ad3e5a36add6854dce1487b0fc4c216b156e9ba6fab7364e987fb5c7a5e77e14fee22cf8e1e5cfe6daa03d0a1dabc89f09b5660198a75768559fccd886ce616dec18013a5cb8f6603dddd786d3a332bb0f015836101a1315cadf02bfa133fdbeeda355f8f4331037d326125616f60ca0d2a37b8141db82c45a2a73b1ecba393517b569af57527b10c201d73f0be48f1045442397d05a171623a046b16e2213bb4e2639c27c73723fc253513178c7299395d45f4f7db16afc0c46b7c7b4ac7ceeb3955c3595e25f866622dce5bb7452741fe709b506e7cfdfa5a02807a460a4236297c0c3174526514d7eb966d914576d02a70b8e3f7f2affd98024e5a4a37b12330231623903fbb93794cc4fb673418e0a85ef771171176c64e7a58a21063acafd5a0792087511bb6b8ec09048aa4afd0b30fde1243c590361679c60aee3f55cb61aa12670652460debec064f04113e4f6a88fe79121de54de325d65870dfbef687834217f0d198381e867924f63de23f0e93e0cb4a82c1cbd431196af056f1bdedc95dc84b5791d37370c16c958aeae5a1d7645b3df157149fb41b216d2fcf22f68bbae71397e17bb65cf204c71d22e4043ae008495786ad379f76314b566d9d3bb11fc4c863c97e907ae10d265faed0e233937c171b86745619fb0e5598ab8eef0f3840168355a43b17566d4618fea1de88aacc98943ca836858fe4c088a8617c28ebea46c1f6c68d8238e692383b44b9aa7aa419b2a8760f0a7566a9b6cf1cf1ac58d2bf29e1f87e574047ecf66a2de9303b53153ee8a6e6aeeb8d65954d8e6869dbbb5f3bdcf9e217d834c962ec89944f1e3c8b8e345008922bfa25ca9376352fe5b9e15c5d1f3f30087ffbfa782f5c43f83a17b9e8d322f51616d86e3467b2e4b2ccaff8d09065da228af5b264a9a8ecc53d8d36772c297efac3933db0845588b3579746fb2b059b551b5b5011a6d2d758de3b0a8115ffb751dfafd377eb89715d79bd81aac451eb064fe54ab1c8e4b015fc84fa84c5952b8c712f156425d9bc847f6f475ace0c5fad467594e623780d5086114bcce140d1641ae83e3cdb220df9329e7dd4dcc90912b13d8d21bc0e00d79ee6093d37bf536844a133c0ee94f1034df682f9dc601621855477c2df9063d1af4b959268910b5a57522df9b613aa7271b528d6d289cf31073f531dfb9b2623749ca8a45ce0fba63435d05b514be1fa6be30a88d1fd5cfda553be8812ac308cfa2da5c3b70cf599d254ce61556769c5bf6425cd80f6e672939f15343d1deb5388a79d0fad703731291cba36881fbf0c3308a1800c2bc5c92e9ebca081d616ac7720c8f6221320915998718ad904ab774203ba0973bb27bc47a964cc1d64118a804f72b7d29f0c03f243055b5cb6c6e4f1a76e8879674b8066bcbc85a08e9b0e0f3e1da3bd944b3bed7f9d67f987564e545e14a67036f1c8d0f22772078d68987180ea5d85efb2d241aa12759ee1a14fd24de1146fdff746e9511f4ddc063fc374fce6829c985adb5189132c341f43d63a34ac72c2250f1fdbf8b78493e319c97330f9637b7d678fee2d93e075ca8042b402f7f5ef7b4e0896058b881ad167772a33e664b2d0bf138bf483f35a63dbb1d61269ceb6809a8c1e0f6f08db2e44688126b0e0f4c42d56a63be2d662cc4028c16e2c92b815a62051dd34f73df018856a99a290d7593285b0110c06fc232039fe9f1709d3c4f63b2d201691e1977cca596e2195ff28fcd66bbc5497a9680c971c15256c8249ce919ce1b5e256eaee5d8b936e6c80d5dd51908a08915439eca7bbfbbd311c6dc8d90afb415ae8c27d61db85f2df2c86c7eb816bc98607ef2d53ae5b482df6a42348bf44e4d7d0426bf3a908fc35f6a2df60d3700a939dee337978457beb88a25a66b5f0c1c82a7fcbf31c6eaa6dd7418632a0da4a7f55b32d2cebe9b066adfdbafa03229b100b2c85932bf78656ab456fc4b00e8fe3a7741e2c610f6298a420f906432ab77e1bde92621876bb8db1bf68229e365f1e8375650cd0d5f1d83c7b9581bcd3c959ef9ee88f10d8f7c71cf78bc260d74873142973190a7dd0aac531e57154f3218d283fb5b24d75aa94a2863bd03a096ff2bb7ae96d9cc5aa66234415134dc8b0222f0fbbadf828fbbe91a5a03decf84051d03fb60a3163882e37ba621e7fde1898cac8a6f6ec763004e9dd2ccb82b954ffa7b986b7c97f2236a78715f6bece0be0e664a601a13f3bf007de70fbc103e8eda4da069017b171ba349700c28e304a8a18d10b44481e4a1c0c9f3109efac0e85c235dae5ee750f3af2148aa7ea7ca4a6cb02d41d1a6c37dfb7eb4ca367dfcb50a7900e5ba42ccdd56892c89d03abab6b89c9218b21f50016b15aca86c6cfbf335b6175d151ab29e759a32cd341e4607b31a93aee9021c39f2f56f7bbcd06f10c13e125d49ca193930f4f3581b45dfbd2cf040ba80e6ee6a6631fc6538b41fa229ea05d8555d6fcbb53457e660120aea7f9ccd59e2e0a427a44c3616392f605fe445cbe01098a7744a79f82373a1d324513ae85a99346406e56f7d2eee8ca9d0a9b901e639a5e2915563afbcdd8e9a0444cbec1278d4a08eed4df4d177f529ea5804192d4c0d563bc42561a1b7e38c2460e4c5ec98d0f68443f5a24bbd8dd643002803c3fbc23cbe7576f6af0f049bab010376986d3d3e725e4a419409751b7be7c0cd2608762685e0917c4b6fb143c19e0557ad33d354ec113b36827522aa8cf908dfd31e129a30e9349707375c8414eab840963ab693e0dbe9f6b01bf346dccb973be6d3ad9b9dc700bcbf337ec37b20a7048ccdd47d55aeb894acb1611094d238dbf342423277d7d8f0e66953297debe61bb19741c6029bb26e53ef9bbf1cf8f6015c3120c173ab57196589bb88528e0bc9790b56511598651de2f244e739a15264f508b1f4b025b8a6c32ac815cc44b77ee7b99073f25f0180a2fbc4fca0c1ab49917f72b701363157a74a8052da7e4d55cc5d3dfee69eea96b82eaed06f9fc740afdbef9a0ae6618f77649991c2debce016805c91d16589d4a6d5a032d9d7c8be93a27e4be770c3cf9a1885eb47af2c8a80f7c9f3d01f740ffec5ffba1044675b2735e2014a5676c6940d40ce7dae9048bfed65885b40713ce3ff52962dbf33494934a54f6d9c80476e05e61b4ee90d956aa67b4d12b3d1a560adae18bf689385ea1cf8c0058643466a8b5a62234242df6beaa6d8692316db50c3da8dec057c2545f74a5ce1e34f895c4477566a6fd13c887114e1cb1b1fdeffe38c771fce149d0f66dfe8a0cd993a3c359e7a7b9cba457c65b604366c7833b9cc8d2ac48227f5ff04982a105b1e73f0eb7ab01ebfeafb264a11577bbc960febd995892170ec4ace7eebfcb3fd0cb109a00d1562bc26f794175df1a481a2c381cdc88f5e5e7d27ab67ebd5030495272e4fc0573d7482032cc3ae8017cda0707714c99e0dddb45b94946d9e3074dc1864527318f884e788c9a63b12c0baa4fc4b2800e72ed06718373f9ebf32912c9389d6c4a6beacebdf8d02960b0a2c9f641f5cc2b2be5819f2283479fa48792a5110ce65805e56fc3c318859899a822c02e0249ab7a494c22e0b5f0e87e0f1b32953aeede5a1847ce734d3def5c337df41cd218359e2e3d9f90d18a09b2883a183911a15571a5c734fa0ff8f320f48aa5cc3741f619f38a8c4d3f88eb963e6ea6a2f934dfb4ef73d92c750daedad5da3d384c42f8b0d179b3fc9a49578dfaae916a0834c5dba2843d1dc6d58726c8005d378237c62e155a97d70519d790c89c89b5bcf5e1d50b0e6864393641e91793b9dace7b84c8105a025af32e8ae8136bc2f8b943243f18f7e8afe14963807e19eef36fcb1777ecdffa7afc288f31194951e6de02d2d9968435a660d78874bfc98026a3bf0dbc84e0d71230932d1bfe57f25825cb6341201757235ac8496c5409289a9ca9153995f5c2a07ad9624d50e69b713e7d55d4232fee4a4319a30551681355bfeb68ae90823d7678f14bd16bad2d3ae0684b006b08a59a7c2706e9b97c626411a0bac9a459b8b5062bd9e8dc89039ab39046971e04f34f6397db5c14da0f6dca46426101859aa188c93eef1a92b0c608bae4049cd4ac1d78102ed13dab5f088f8b337b6988491d3655fb589f0ad55bd562cd7a3a601ab7f19c48ffca7c593818afe9f7fe52d6dbee8002488639ddc6ee4440d91e76e0d46e033cbbc1e0c67c640ae62220ad7c2f1dfbfdaab90541a75355b56c18710be16c51033c7ef4c7de7a5b415ad80369f0465ddf6dacd80a84762b4541797c8220270dd5da3e590d0d7cab5617262e36d24991fa2f420b93d3a1ac98b4d7181f90bff5fcd6779981dfa5052a5962fccb41271152e7701c20f8025dbb5227e5488c641f89eb4e907a4350357b2429b0bf5bd3bda6307aa6dbe1138adc44a709e1f3d39af93d7297461bbf9675e9dd972ef172cea59ea8f9cfab244e050f4c2bacbb2f75b4d6a832fa725e228dde15b6454b3d8cd0ceca78421801bf831bac007c962ed44fb943c5626a11ccf9c552d6774e873bd854d432aec07384fc5c6890d55cb8c4af20d9edc3edf0d2c0a9304dbf641ae434a2f2a7c083fd45ce4f8d13e3761c7c61e7a140e543d81c65bc6ff4592f6498d9a60531fb72b402cf5a2d441bba96ecace2a933b6c516813226cd5042cea102b228f81df3913bb49fd4657305bb5e75b2b98f4581737e4968736d0373200f5ae12fc36a76179eafbf5a84f296b2f35cf667643eff4dcb860e5729f05724a6fd5af8498784ab66fc5c6229f2397b70e9a2fa3f203aef7cae940674e5cfa2cba9eb183b7d00fc16ff159632967cece06422eae442be8c84296b377b9ad5434e0e1fe0258f13f22c3441103d4f4c752247d4c457ebb9be9c83c3afae3e2df3970bc467ad48a0bffdf75ba49570f7fca8bfe3add8aaf0035a3187ee31bd3cc7ee2bc99de625a30b71f2880e0342728eaef55783ff4463317670dd3e5c6302e0a02b76a99c5969ddabcaaa714e80a2fa4429878a0ee52f06315e327998e8acc64fbe20540b65a1d69d5f700f5d8ce5d58c9339621f846095a3101515654365c1fa0cb599adef4b81d43355c951ed1920185407736901836aec5cbed1b282266403fd87c2305cc41931a2749a64997e67f941a1fde1a39d85ddbddbd1f79b7ede0f401bbed9dcd609d5b94e97b251b58456db445f308d8e0b118e3ba1e4b6d74974ecd129b08b7525423c0a683372408bc5cda2ee2345f3f3f8b8b5e5e238eeebe6d7a5843308d617c859976e9aa9ff64080f430b287431f5400c77300b3cfdb2b3490ac7c3f6ed2d88de31b7fb1168c455286f6d3758c137bce9f13d9ab88bd543f1cc88e312d6e3246e4438a6f84de9056a6b8f790aa9fefa9cd79556e872280ac05d6d5b868f53586ee3d02fb55d4bcef806839491803b606fa51af19cc33670f7ba73e5b2ae7e42086e15626812422bba844b217136e37e125170586d994b790ccbf70046c3d641894eadb701d9408bb02d2104d07b00f0cb76f26f841afcf59dfcef436cde718dd6460c8b171d5e6b9e78609ba8df17c3e3c35ded4564e432fadbacb145cc3cd35df5889e43aaedcc5286b727b24c6c71982653a618d8980abeebc9167d13d3ba0d2369b71a963a6215f1f4231fe40251dc814b9aba82143a0d79ae2fa115c1fe94ad2c7f1f057b04b7c8373239cdbd0658fce25ccfe77d1eef05181a89d7fa7eeec8a76ce0f21df79ea08b4761cc1c48df3cd02f2154464e9dda2f03f3b3fad95e6a1d2412bfeaf4adfd77bff65a5dbeadf81d4f5b6866a3d37976e5a49b18c9c172572ad247430f7e8a7fd2bb0d55752c8837d7a62e6e34ed96db8f4300d6eb79d26216c5cb72aff8842f3626e4fa34570ef97534795ce3835405db77d7567d73eda55f70b840959aea1e212d85d10bd2662ac5d3bd12b5c2493b0b29a0812c81380fdc0ebd72bff02d4f4c0cdaf818a77da4b0f0f444deb2c744e5d0f7777e435aca3f3a1f479663ca9bacc7d77041d8476fb5f156ccf6f5d8bc77f6d77a0e073bd1b50dd2609308449f2d7cfcadb8d794f70480d790ccf0158b81f4183370dd14a09d329c953dec2498a61d631c45eb33dcd3bee0bcea43d076a1343bc0fe92608c5231bfe7a6e0215f2a6e7280d196db2466143f642051cd739849fd7d9264949f0a5793483baf096388eca0978b192add5579b54582e38302b1956a1550cff34123a0abf1453892623ec580a783f23ab9fc4a70d90913d78f6235d7b73475e55953d149cc97f6c135afff37583622406940d7a3966474b905b1eacbf5281ded4908e8c511e549e1e56103da443991fc6c3559c1a1fe804cbc588c64d7c2ee0b322c3253effbde1c6f6400c0063ff0a61292425ff4a1085867ffb32f680911d3b9b6782c74010f1a9c3ad35aacd46326e512ef83904ea02c1f8103b4e01966a3290e4378d5d0c198c0bdfb85c805796a033149b374bffac9b6ded2cc35aaa131defc9722918670dd7863234c05b8f1ce9e8c3518fd06833ad44bf95f1b0fe267a20eb7a7d76ba3a730da9a57d854666857e4abbde83a504acad20d344db2fbf9cd900aba4dabe4ff2020e4ee7b137a1b205fa88b66baa3a06045f9646ff3627f9bfa918a4441aec43889db64fef4d7aebb7c8e1383623ecc64ab19b48495bb9f2abf5c7401954c7009148b6651f1934a482bf19cae94cf453713ad5bc5a78902fd2c9f8707df51830acc3d3fdb11c82b9bc4bdebc57399f186ae6a630f22153c9ab4123eec5ed76b534176db22e89517437e617a23a1bfc842466060b3c75dcb9e783951e1971774f39f22cecb49b8dbe956e9ab489ae19a7b42bca818ea4b9699b5a3799de32bbe284c8dc67be125a31e843550fb44821ee720459bb90fdb04a055964a90343e903721b2916225651102fce91403ca0e339cd9c32b4be01fd936e7edb8c3126009cbd2520fb2d2619e55cc8d317bb3cbf19e0aea267baa080751229bae2c90fae9f98b3b17daddd56b888ebb9afb7a8e23115591a41bb2e29df14212dba8d65f4b27c467f8030126b3d503d5c36e2c75ff617b4ad729ee3c6ed9148e6baa369d493108f7263c34408de1b203a5344e2a7cd58bc0d89aff43564908c4b8df6a38c15cdc74ca0811289a813de323dd70da149f1ae3dd343a10a67b87b0f49daadfefcfaf3b816479addb83ac2fef3c8ae4cfad0a69e7e1f85b8c2d3ce52a16bd6a6f2e62a5dacbd0bd836cf384ba2fc1fd15cbe549bb8130e471d8b9d367918595468a827da06150fe4a397e1bd9ebaaa01cc4389c33f213f1565b65b791df18623f84ef9213c6c6485f1a6aaa89cdd3c5175457d94b424f7aed66419915a9998a730fd7b5650ae7b0f197a45462586203b05514b6289f45e1305aebbd1ebf1a45e57fe8e97e524fd05bcddb209d36e8149925f09e5737f23c925d16823e8a614f1c8530d080105a7dae9a2dd0bd3ea12a34e57c15179beeb52b707b180ffd7dbf79f1a0d7376aa04593faf2abe709f095f73417ce07eb94ba81ea5f22e795dc73bc0557b6d51994fd649f7552dcec48dd4eec47bbe19b937f32704bd9395e099c2e0eaf42d2f5f5bd6e53823179c49184af82f2c4ca8bf6a4fb30902c00de4284a4e56cde7f6b7533640bc65ee3d811f2e12abce12b141c1a5bc7b7f18ac6bda4279a73d8ec1e0333c67129cb1bdd09d3266a7a6aa8b5bff24aafde23c8e437d219280d062164859aaa0d6bdcc2a403440724cc74320324472c84ad31ce1bcc468e7280ba87d019e9d91d89c5b645c2e47b03fb8af5ac100a5310e36d96c3a8d86a2c343cdd93200880668165b636603a09c0f0785e099c92effc1bdd8d23bfdf916b8ca1879facba46a316b91198e96593d8bf4a91b4a9dab18ad1f66de1907d262f12941578c84c7c28b9f5d2e482fe5f947e72797af44105d857e5a3c056cb607280098bf093f5d95aea7f5708a969205e0965e9f77f70b5fbb76e835dcf6d930cde275b5ef4ae9304910e6a49711122df27c042fc2a539e2498ce590822da5966fde48ec35265e4f8198c078db9d7c0ff6061b6fc2b18cb534ce2e4f3e18a8d32ec8ac7a081bf151119eabe5e571a28613001806bb8b46628b60d56e33e77854864202943b245f50802402e43499c964817662255c27b27ae11290f599e1e8d8874efceae7af6cf8c9ac23b10db8dac2683f905c91fbb3999fb6f056ebee6acf01358c4c52a2cce51db6389e0f64489776723cecb97a8e513f3eac451fade71abdf88ce4b1a209cddf2156b037ece4162c8e371c9362c55455d5435c091eab004b6b7ffa889fc6de376d9b92b4b21355e2131df6af67da47d87cfcc62cd50bfc08446bde0ddb8820a70739c9373a87dc25242d948b7e1bfda3c95116790971a899bb90c451c0b14788991b02ffd6d2e0b785deb216e672d021856a0b0f17dbad3ac0f658d4e0c074ee4858c0b5cd25381a20bbcab70b27ac00b60640623d5d6feec1f683193ed185459ef5cf183ab6932542f3b01f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc88312c29fa54fd31b4364d8da404c539023c3218b2d86b35a8d796f8d2e13a0930b030e4755f247dae9616fa76ca9319885958043943a199aa67f75558dd2004bc7166d1cc3826c9507f19a3c40dfa8055db5aeab8a1d2b9d2a404c8ad29d3a6f0cd937d3919a616a3fe55523a0c7ae6baa6518e4ebd3e64d5329e2677aef0e5faebe56880f425752ebb87be91efce964cc9a632f9dd084a8525e00faf090fb9cf41d66fcfe399e112bb87a7e87c7300b3aa8ac0614e6d54dcadc06aa4f4b8c1218211331dff74c2b22692cdd81731d8bba2c87c10446e46baf607bdb0131aa4f30eacc0b722b78f7b931d1f4cff3b8152d83ec9420f9fdb4951defdc62cc7432da1841206f35e3a1ae1340a186dddad8f56bc0c3422fcf5053cc15ed446a157b8f634f4836387698eaf8b9a1e6001018193b9cb1b4b310ffefbb84d68068c5ab3b43800b020e53e9aa04a042120e6653f729e44d78623245ad9c3d13abe16368e5f3905bf4a523ed003436d446abb92e7a542c3c03928ce2aecbf4b0bac7e1655718ceb2cad5ce85b144ab8403dec4ec07fa2502143b793cff31175bdbcdca6b10ab564efb9c076c5dd9b257b5c743ac2c22398d13d1d7e4a4afbaeef65f86f5d23c6be940bda174ba8124937afc316082a20ffc81187c1b5e8d63f4ead0f4d1833c35acce477fbd6b9e2fafda9df97d4b7a0e250ff8f28432a9659c571ed7ef06c9c139f12bc1d3268612bfabb60b798dfed8d2ca8324aa14915363462831759d556ee0e555e1e1ca1d5e1263ad7fc6c482938052e202ea0d55c86a1e161504bfedf778f35da60f6faa8611e42c57250adde73aa3bf955ca29be97173e0aea8375e8db85ac75b9a72e64082885b3b9739af5ded17368d24aa279a10867a2ec9a6f3d8c7f25e01ab2d63d956d1c9d67c9738fcc95db9def3ada8ae3c73443a18af77dfd362793ccff25e412fe82029813614f14714f48550a2f5d5335e464af87a8613181f8ba3ffcf76624448b031db1d963eb36f42c68b54eb167affea79da60ee306b26dac68fc9b4cbd69f0655fc8a2c796753324e360f1886f9364a875d36fa2b25e35e509de6e713bd8d08fb8d663348ae2a120dadcdbe24f29adac4304a3726adcfd226a13dbc390e281ae5a4ec62a577ce85b86344f60765a8c90ee32ee386429ee63c6d440305b002b816831ebaf8d73349b16ea72164a0cc14c387777986ef79b0b755f2daef8415296b550feade4e53aeddc6b3e308dd3ae99efff7d8a29833188f1486346d85fbb1c1286f8dd07f4ade23e4da84d6c0047b7d2821e457c7a7a9ef151052fe035531957e733743b1331d141eaca5aff3ed4cb26afc0af223379a4689e4950928ef1e58b043bdcf0307147075533c9384f523df790df0b645c33931837debc7d9bcad17d26b4f5dc4f0f5863da14bcbb14307549e7417866edd23fe7c31a61b66731b536b4c192cdb6254d079a88cb1034695e517dc96bf8792a425ae33f88acbf1b5af2dc38ea6e9ce3b05dfbf4b2a73f6a6174ef62b477e3cf60c158b8044f469a4b7f336c2f7709024948928cadafb3be5e0988ece7a6037084bb40377909d40173b588c82c46a9447526225e788f802acb7c654d0cf014f2251428419b279bda5c3b6cc39977fd997f707bea18b4ae53da1075598b4216effc6716d4d16f26742f92275982bb81b630a7cd2da27c2e643558bd4899bbae9076de8cca6fd250de0af29eb73f9b18004f751683c2cf37fa90a34bcdcd92670554a4226e8052a4fc5123ac64f9f7b155328d04c3f9ef0d9b6b81320f2dc5a65da5e564c62dd7d73e589c6bff3fa0ff2dca061671bd89d66dc8d2ba60328fc680deb7ce4eb68826cc7e18f64c56ddcd16c97717571d1b83c1073523fdf43845090f9ab727ea55d1cebc771193c6af381fc424fee73fbadb4914ac2ecbb17118c8f29259209d7b0b90bd15a1205f01e861ee3a20d308e541a4aa2531db424c1ba58aadd1d5b3b73440b7890fd587596b29b4a9230bc85ca64cce654708fa7061ca150a8c3b6e6a58a66b424ddf1ad869afc508ea6bafa5944977b896a9cb4efbbfc129bd37ad42f1b62779e300d94f1ac588da6f8f9fd307912a9c24fd2ddaeb55e17614251690b18f5e53a00fc680254fb9562bf29075a265217acc9e1cb4789f36e4dc3a480a6a40787320be52b296c4a96acb355c6e9eb6c8d8a5cb3611661bc1b2d4934834288c6a77c5a22aa269fa1a2a6b5d51601d7ac21831403ded1c367297ca467bf37d969c720ea9cb1b7318d864b9979e8d5813415dbeeac1dde1c9607be020133419125d1419cdab6b432106cd971d4469f3841ce4ff13db55da44a19f9cfef0148a7c497e45716479d435ac6eec299dde7bac09f8618a9a668e2c1b7f5f2325298db74f7c13df227d25cea7a5bc989cc3ff0f326951ef0799a70dd949acdaad9ae69f3eddd55f264c21d534c9cb898f277175651122753ea513591ebe548e063204d52a71a84806e1880315fdd5b4ff51b601f4613879e8696a024500e50c90f8c9964a16034922a763cc43ae5f17184da57ae2493cc988dfb9b3a98519913e8a0a64db85b33c5aa555bff514b3ebe468842e4edc500943cbb7ab022dcdd31f91c2d8e5bb130a6c6bb2f5e982879a93c3df411a65efadeb442a068d1f06d4c9998dd9e16eb6b6643f5fb399447014785d1367ebc036bb0a3e0f2ba2bddce5a1d68e40a72a888ec4cfc0e759df8e763926c565473fa125c3b1829f7086280ced305395f0f0440f876bead32c9cc08880e5cacdc8fbe4f6de5dcbe183c3352ff68fa138cf768ba3174b5937a2e63eb7e04a9509f0c669f6b7a663cd46933d81b792d64c5b85a3d4819ccb3fea4b8f16f48a88da604c62b64b47f37f8e57760f2000fafcfe8ce5b4e0332a5dc4f24cb8022f45e41c72a6cd10b41ac626b10e512cc7018c7d5c824e002f4944e70caa98920a1d764229bded952767ad2cc3dc3a5f4b064cd4d48a5bacbda8d38c849a818e971a80a2e9e307bdae01a364b378306095048d0a1135afd8a978df5faad428b77fd9488924cb761f779f770603c2d82d923afc07ead73ae85dac3c44f25c675922368bb5ed47e574ee41ebc13ea1e3e5e78236093fbaf872d51ff8ad600d0cb9ed80c3e36278113469f52df8d6b1d0b96fcfd38d7676c156f15870b34065ffe26b71ef181f827323d4662ea193c086781f1ec6dd02a6a2d7e5f1a2546cf1fd4ee3bb73d064dcefdeb3313097454d0c3e0f0e0b07a9ff1107868c283ca8a9047262278df518a334eb8ea29423a80ee38227a6a9ba4c2f42b83b816539c04e15b05034b41f89015263afb430d66b3e5d4bbc9ce99dad035d29cd6b2eda9fb4f3f0e5a35b95252562e2cb7ef69677cd857cad3ce2e4abef1a2ed2556d2c3df405167f35ec25f191b24ecd3678627d4c77c2aa13fb78ec494616942165c5def7814ccbdc50c1871d732ed72dc2e8e942dda28d500dd84a74b060520347842d4d7efbfa6fdac3a93f26cb39889f63fa190f1c1555daeb1e9bfee67026d8c4a4123b891fa7812584d3cac0058ca72b0d0af66c6dec5058a1765a15ffa8419fe5a825572ab3669f4d72fe3a374837ac311b79bb2406b1e23b14c6b70e9beacc0119d68db4f5a4700054af62244a90aad608dc5b3056418e885aa2479d0c206887619bcd663d6defff29bbaff566eda8cd5e3aedbf8a742edbb2f5ec9836abe8cc797099b3aed797af9c05f1b5b87b5673d158ddc35ad8fd55823d9a2d3f72cf4cdee347b9884fa643ef3ce7dd64e00a6e37d8df2dd4c951c33c497b331c3e985c144e550787b506a330765bf752f311ac73edb770713385cf9e83b071de72f04408fad8a32518f8e6820f0844c8056f56e5ea1364e155838ab26a40b821a53e83f217f6aca86e2969eaa3bbd9e763b0e23558fbc656361158eda8dd814c2d7514424d4a80766c06f99a492c37bdd112909ee7f680ae0da26721bd463f22f8fc588609efc3511a1d8f84frootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-17.11.4-lp150.2.5.1.src.rpmdpdk-any-examplesdpdk-examplesdpdk-examples(x86-64)    /bin/bash/usr/bin/envld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.9)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.4)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.2.5)(64bit)librte_acl.so.17.11()(64bit)librte_acl.so.17.11(DPDK_2.0)(64bit)librte_cfgfile.so.17.11()(64bit)librte_cfgfile.so.17.11(DPDK_2.0)(64bit)librte_cmdline.so.17.11()(64bit)librte_cmdline.so.17.11(DPDK_2.0)(64bit)librte_cmdline.so.17.11(DPDK_2.1)(64bit)librte_cryptodev.so.17.11()(64bit)librte_cryptodev.so.17.11(DPDK_16.04)(64bit)librte_cryptodev.so.17.11(DPDK_17.02)(64bit)librte_cryptodev.so.17.11(DPDK_17.05)(64bit)librte_cryptodev.so.17.11(DPDK_17.08)(64bit)librte_cryptodev.so.17.11(DPDK_17.11)(64bit)librte_distributor.so.17.11()(64bit)librte_distributor.so.17.11(DPDK_17.05)(64bit)librte_eal.so.17.11()(64bit)librte_eal.so.17.11(DPDK_16.07)(64bit)librte_eal.so.17.11(DPDK_17.11)(64bit)librte_eal.so.17.11(DPDK_2.0)(64bit)librte_eal.so.17.11(DPDK_2.1)(64bit)librte_eal.so.17.11(DPDK_2.2)(64bit)librte_eal.so.17.11(EXPERIMENTAL)(64bit)librte_ethdev.so.17.11()(64bit)librte_ethdev.so.17.11(DPDK_16.04)(64bit)librte_ethdev.so.17.11(DPDK_17.02)(64bit)librte_ethdev.so.17.11(DPDK_17.08)(64bit)librte_ethdev.so.17.11(DPDK_17.11)(64bit)librte_ethdev.so.17.11(DPDK_2.2)(64bit)librte_eventdev.so.17.11()(64bit)librte_eventdev.so.17.11(DPDK_17.05)(64bit)librte_eventdev.so.17.11(DPDK_17.11)(64bit)librte_flow_classify.so.17.11()(64bit)librte_flow_classify.so.17.11(EXPERIMENTAL)(64bit)librte_hash.so.17.11()(64bit)librte_hash.so.17.11(DPDK_2.0)(64bit)librte_hash.so.17.11(DPDK_2.1)(64bit)librte_jobstats.so.17.11()(64bit)librte_jobstats.so.17.11(DPDK_16.04)(64bit)librte_jobstats.so.17.11(DPDK_2.0)(64bit)librte_kni.so.17.11()(64bit)librte_kni.so.17.11(DPDK_2.0)(64bit)librte_lpm.so.17.11()(64bit)librte_lpm.so.17.11(DPDK_16.04)(64bit)librte_lpm.so.17.11(DPDK_17.05)(64bit)librte_lpm.so.17.11(DPDK_2.0)(64bit)librte_mbuf.so.17.11()(64bit)librte_mbuf.so.17.11(DPDK_2.1)(64bit)librte_mempool.so.17.11()(64bit)librte_mempool.so.17.11(DPDK_16.07)(64bit)librte_mempool.so.17.11(DPDK_2.0)(64bit)librte_meter.so.17.11()(64bit)librte_meter.so.17.11(DPDK_2.0)(64bit)librte_pipeline.so.17.11()(64bit)librte_pipeline.so.17.11(DPDK_16.04)(64bit)librte_pipeline.so.17.11(DPDK_2.0)(64bit)librte_pipeline.so.17.11(DPDK_2.1)(64bit)librte_pipeline.so.17.11(DPDK_2.2)(64bit)librte_pmd_bnxt.so.17.11()(64bit)librte_pmd_bnxt.so.17.11(DPDK_17.08)(64bit)librte_pmd_bond.so.17.11()(64bit)librte_pmd_bond.so.17.11(DPDK_2.0)(64bit)librte_pmd_i40e.so.17.11()(64bit)librte_pmd_i40e.so.17.11(DPDK_17.02)(64bit)librte_pmd_i40e.so.17.11(DPDK_17.11)(64bit)librte_pmd_ixgbe.so.17.11()(64bit)librte_pmd_ixgbe.so.17.11(DPDK_16.11)(64bit)librte_port.so.17.11()(64bit)librte_port.so.17.11(DPDK_16.07)(64bit)librte_port.so.17.11(DPDK_16.11)(64bit)librte_port.so.17.11(DPDK_2.0)(64bit)librte_port.so.17.11(DPDK_2.1)(64bit)librte_port.so.17.11(DPDK_2.2)(64bit)librte_power.so.17.11()(64bit)librte_power.so.17.11(DPDK_17.11)(64bit)librte_power.so.17.11(DPDK_2.0)(64bit)librte_reorder.so.17.11()(64bit)librte_reorder.so.17.11(DPDK_2.0)(64bit)librte_ring.so.17.11()(64bit)librte_ring.so.17.11(DPDK_2.0)(64bit)librte_sched.so.17.11()(64bit)librte_sched.so.17.11(DPDK_2.0)(64bit)librte_sched.so.17.11(DPDK_2.1)(64bit)librte_security.so.17.11()(64bit)librte_security.so.17.11(EXPERIMENTAL)(64bit)librte_table.so.17.11()(64bit)librte_table.so.17.11(DPDK_17.11)(64bit)librte_timer.so.17.11()(64bit)librte_timer.so.17.11(DPDK_2.0)(64bit)librte_vhost.so.17.11()(64bit)librte_vhost.so.17.11(DPDK_16.07)(64bit)librte_vhost.so.17.11(DPDK_17.05)(64bit)librte_vhost.so.17.11(DPDK_2.0)(64bit)librte_vhost.so.17.11(DPDK_2.1)(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(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1otherproviders(dpdk-any-examples)4.14.1[["@[;e@ZZZH@Z\ZTZ@X6@Wmarco.varlese@suse.comndas@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- 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- 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[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~17.11.417.11.4-lp150.2.5.117.11.4-lp150.2.5.1      !!!!!!""##$$#%%%%%%#&"''''"(((("))**++*,,*--..//01222133300000000000000000000/444/5555667777788888888888899:9;;;;;;;9<<<<<==>>??>@@@@@@>ABBCCDDDDDDDEEFFFFGGGGGHHHHHHIIIIHHHHHJJKKdpdk_example_basicfwddpdk_example_bond_appdpdk_example_cmdlinedpdk_example_distributor_appdpdk_example_eventdev_pipeline_sw_pmddpdk_example_exception_pathdpdk_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_vhost-scsidpdk_example_vhost-switchdpdk_example_vm_power_mgrdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebondMakefilemain.cmain.hcmdlineMakefilecommands.ccommands.hmain.cparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.heventdev_pipeline_sw_pmdMakefilemain.cexception_pathMakefilemain.cflow_classifyMakefileflow_classify.cipv4_rules_file.txtflow_filteringMakefileflow_blocks.cmain.chelloworldMakefilemain.cip_fragmentationMakefilemain.cip_pipelineMakefileapp.hconfigaction.cfgaction.shaction.txtdiagram-generator.pyedge_router_downstream.cfgedge_router_downstream.shedge_router_upstream.cfgedge_router_upstream.shfirewall.cfgfirewall.shfirewall.txtflow.cfgflow.shflow.txtip_pipeline.cfgip_pipeline.shkni.cfgl2fwd.cfgl3fwd.cfgl3fwd.shl3fwd_arp.cfgl3fwd_arp.shnetwork_layers.cfgnetwork_layers.shpipeline-to-core-mapping.pytap.cfgtm_profile.cfgconfig_check.cconfig_parse.cconfig_parse_tm.ccpu_core_map.ccpu_core_map.hinit.cmain.cparser.cparser.hpipelinepipeline.hhash_func.hhash_func_arm64.hpipeline_actions_common.hpipeline_common_be.cpipeline_common_be.hpipeline_common_fe.cpipeline_common_fe.hpipeline_firewall.cpipeline_firewall.hpipeline_firewall_be.cpipeline_firewall_be.hpipeline_flow_actions.cpipeline_flow_actions.hpipeline_flow_actions_be.cpipeline_flow_actions_be.hpipeline_flow_classification.cpipeline_flow_classification.hpipeline_flow_classification_be.cpipeline_flow_classification_be.hpipeline_master.cpipeline_master.hpipeline_master_be.cpipeline_master_be.hpipeline_passthrough.cpipeline_passthrough.hpipeline_passthrough_be.cpipeline_passthrough_be.hpipeline_routing.cpipeline_routing.hpipeline_routing_be.cpipeline_routing_be.hpipeline_be.hthread.cthread.hthread_fe.cthread_fe.hip_reassemblyMakefilemain.cipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hparser.cparser.hrt.csa.csp4.csp6.cipv4_multicastMakefilemain.ckniMakefilemain.cl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cl2fwd-cryptoMakefilemain.cl2fwd-jobstatsMakefilemain.cl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cshm.cshm.hMakefilemain.cl3fwdl3fwd-aclMakefilemain.cl3fwd-powerMakefilemain.cl3fwd-vfMakefilemain.cMakefilel3fwd.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.clink_status_interruptMakefilemain.cload_balancerMakefileconfig.cinit.cmain.cmain.hruntime.cmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmp_serverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hl2fwd_forkMakefileflib.cflib.hmain.csimple_mpMakefilemain.cmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cnetmap_compatMakefilebridgeMakefilebridge.clibcompat_netmap.ccompat_netmap.hnetmapnetmap.hnetmap_user.hpacket_orderingMakefilemain.cperformance-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.shpthread_shimMakefilemain.cpthread_shim.cpthread_shim.hptpclientMakefileptpclient.cqos_meterMakefilemain.cmain.hrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hprofile.cfgprofile_ov.cfgstats.cquota_watermarkMakefileincludeconf.hqwMakefileargs.cargs.hinit.cinit.hmain.cmain.hqwctlMakefilecommands.ccommands.hqwctl.cqwctl.hrxtx_callbacksMakefilemain.cserver_node_efdMakefilenodeMakefilenode.cserverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hservice_coresMakefilemain.cskeletonMakefilebasicfwd.ctep_terminationMakefilemain.cmain.hvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cvhostMakefilemain.cmain.hvirtio_net.cvhost_scsiMakefilescsi.cscsi_spec.hvhost_scsi.cvhost_scsi.hvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cvm_power_cli_guest.cvm_power_cli_guest.hmain.cpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cvmdq_dcbMakefilemain.c/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//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_sw_pmd//usr/share/dpdk/examples/exception_path//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/config//usr/share/dpdk/examples/ip_pipeline/pipeline//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/l2fwd_fork//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/vhost//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:9204/openSUSE_Leap_15.0_Update/3f7f6f441f54d6a5c5a756c07a6e15fa-dpdk.openSUSE_Leap_15.0_Updatedrpmxz5x86_64-suse-linux  !"#$#%&&#%&&&&&#%&#$#%&$&#%&&#%&#%&#%&$#%&&#%&#%&#%&#$$'($$$$$$$$$$$$$$$$$$$$($$&&&&&&&&&#&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#%&#%$$&&&&&&&&&&&&#%&#%&##%&&&#%&#%&#%#%&&&&%&##%&#%&#%&%&&&&&&&&&&&&&&&&&#%&#%&&&&&#$#$#%&#%&&&&&#&#%&&&#%&&&#%&#%#%&#&&#&&#%&#$###&&&#&&&%&&&&&&&&&&&&&&&&&&&#%&)#%&&&#%&#%&&&&#%&&&&&&&&$$&#$#&#%&&&&&&#%&&&&#%&#$#%&#%&&&&&#&#%&#%&#%&&&&&&#%&#%&&&#%&&&&#%&&&&#%&&&&&&&&#%&#%&ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=55eca6f5f71c6c1e099f88ecb8a2d92bde30d81a, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=dd359f11d3fa39f269699b61a6615f9b0efafb9d, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=de6639acfef5cdf0c992565c16229b351e5d1109, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=315d0560aa1aa847cba228eb7ac728ea5425c10c, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c4710b0c435d5207de8027878bf3bfe8fcf94807, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=654a427cf166c781cb30b2cf2214228a6b29f3b1, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4c54199f1178a4ef6fdedc72a5ab2dfea0f08a46, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a801d79cfcfb511b3457b8820de6799225a7f0cd, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1131e196a0bf923c9085f04c6bf62a2ea02dbe7a, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3f6612dd07ef5c29b808cd42323c1420a0e5cdb2, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=dde0034a6aa916b32dd827695f6b5f50ad90771b, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=b5a36089578c5c2fb0438b7169358610db554666, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1ca207911030995507481c81e474a1570fa19544, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=8fe86966327e3adf28a12c98fea6cd554c8b4984, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=56eaef28b665fe84024a5c924403ae347632166a, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=38004a903c683433399c1064b523acba120040a2, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a558af2b7f2e512ad779d2d85b44d2ef2e794e8f, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=168b3fbec7527912bfed491c182b7260acbcba69, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c930e1c1d13f184306392762a31bb44a85b38ac9, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=cc4d2735e0ab696caf236bfe5ac7de338c6929df, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a4b6709ee305b4ec719a9c1e15728cea44f59d16, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=be16838d41b74c905b243a1fbed38f675ec060e7, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=0cd4c8213f66b8daf76f8d42a6e7e70a51bfcdc6, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c94c2ab30a8ca35877d4e3c50c30ddfc69b320c0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e34ff3be50186f40869951287efaf4212f39a543, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=e85e7a9bc9e2f712dfc5c88b70238b3f86b3f490, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=79d76527b8dac1c29f47eb7d226d71c0661c4dc7, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=eb99a08e8057e30f4766770d5dd79f5f1a6f570b, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=50d09275244ec16c50e3452b54ab7df7ed5d6ede, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=1422e46ccb79c1528c8933a34ff0784e25719b70, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=024673aaab408d023ae613f485f971a39d7939c4, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=5c36b3c04b8803d34d5257a99af0906bc2dd87b5, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=0af807f2218d1799453d3a31eb8ad0172cb0c3b5, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a1fde1c1fc04fb138aa8636ec54bc4594dcea62f, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=4289c2e20c2c88d6b4fb180c16174ccbc3120c72, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textASCII text, with very long linesPython script, ASCII text executableBourne-Again shell script, ASCII text executableutf-855bf2ff1212f8fe21ef0da140cce4d97c47864313cabd71c6af875bb3732e25d?@7zXZ !t/ΖR]"k%HW"<ߊ) #_ĬrJX=͞ X~sMYz-.;!PZT`b4pĬ/;hfގ,BYJ X@a|DBD w Z׽LQRr֭>G>P=l$N4#e`ͺkY2P]6Y@3ިS]M=o8[p,kA8AMG- YN<_Aqcp~ڵ2监4M%2Qoy܁.fZx(} @%҃Btn.B%aGWF;@YA%޲W N\r.)SPm<5`S"T Ez4k߆Nki=ꐀT f)9:m¨/Í.fFQqđ?:::=&VUy_y_'wxNAv')g&K 6TJ(ۏo 87TXst0R^JGBc8Q5 ܍s.KDW| 5S6g69̳xsT^Q/̦8D4jjԇ{wUtzu\lZ@zZj?׎ w<B*t> 5߀MŢ;ԞOfEE=ƜGwPYs:&~P4XLK!CW-tKABC҈oI(0ϝ} 5%3ف"q7gJZ:A@\2 KB>Fu P) ڛBRfI1TSeh5/G Xߪ>0^Lo.&> h?JܟǼ7ϧ?Š@ݎ&(JLF$Ny%WJ"v'kY6IE]Y$wP? E`% wyH=#NB)jZ=&6r\D]^G&lXiFk,rԶ3UOSp }20;[KOJ} ¿+ؓ iآmws:M5&雹W0Y$a25$\,8`Aو趈|[5S2dyc?\~~ˆ%ɷq3i1^J՚"z459Q.n88:tGXV?59;s9AsrTĀn vF* rXGE|7Oé 8DoDŽ)wC5 PWhnGp6i0ZGijPMwgMBŶF80T!hV&ȩIN·ܐ{F4jLEUiYcM)o;XB`ո*>b1 <;nS=Ͽai!{7+Kedc#z*fGx@ܤ+q7vhx00zS9 Kf&'>aRv,d+?14Y-#ϘR^!)pcΉ9-Іg}7 hԹVU$zCX×G&`db+B46/+F3e}M2} fF8;le// Y~m $f+릝$lUOymAb"[5sUMzXFv㊰i=pУhp7I$=UeO(9I*fޓ 50z5"\Hݼo ~|^ݴ\y[gdF Sr3enLe\ A^\r_m9&Ix("΂B6)7#. zmH Wр9pHNaR5[X y~28}8l]R5*}]S;f=O\,L8݅zrhxBc )~ W3-6cq#cǦsZ@iWY/UT3κp\nķ^ޫx@Mz"4k]tVW#o%|9gjoɯ4k޿"q Iq0_s&: L:4d4`6 !X4geZ07`h➫>Nl6i|gp[Fej(/oabx5xX)HaIcUqdVɔY2 W0[vbR 6{mA's.`w=%8rW@vS*`$X8Z"Nm͵P;PRH"‰fJRa3xkv%AYZO&p)73ݒ˓\ uh;SFJ%~pfwZXg~Rp\gSLNIZY]dP0{4, mrmKvSٖo%RLUY*\bNHrdҤ`25`b8#8⮑o-oo9TLbBêK|-NC FsBM4Մ+\!m2_.seX(tvPK䥇IFTP:>Ce&B%:Zuik5s wS!C>B9ôr9p*^|!ش!nG%?B 1'B j^,]6L&\I6KvCNuqܿfne[ֽ'&'%.1:8n3V´i=*BG^3DhVנVYɳS(q$/ZzN +z2JKć5roC鷔ЊFL$ԋ5tg蝮,kSqƄKۍ1ߒF#{&XޡM5q\q.;W_"j+*bpm kS@jLEEuen_/$(J-! $n,UHpY^kE(+bޫy7%*0;`Cކs׀] Ռ~8rϠycOM:ESV< )wuA9g!dG8NI쐉<J7$5_9l@x{j/^bޑw:W'!meC m1:&ƏQ경;Drx,p-rO6K/7amm}iL)wUh~56kG2R9L5Γ].Dj`BEBZ(ʧ&8ͅs"I886}`*H ڭXKtޑH[2z1 >a 0(5J_I8-?8CBye׏dw;Ui+dɒтH 31c̘y5Odd$h$!S@`ToG!tk8~l\6^C к} u?keC^$jΩuE*?':&bB+JlqN ;#灚**NZ̫kz=6q- G`EF/1,q|{ޅ;{<@=s;j D&ieA#lmfL&[:dSȸ)+ݤֳ5.e,BugCPDYjBNJٛ Bmԩ¼EaG׍:^B٠!ӝP;$5[%*)筀=:Vg cŶbDq1T'qim冝=XD#&ΕՋP,Ws $odƐf޼Fa3#3'@a0U~q&^uu}U" ~31TvǸJH:]^K-p~U_4"dj2gLП&v؍UfAnt .@)gTC]Ue%q BVQ.Cj#e,g ֤w~ }+v$d+ORw[Q/{Xb 7#7Hg[m"hr8p)(<I#Zi5eI4(*x`[!q7,?R~Q" #WW4\X"{ZAîS#5b@9.WtQc! ށD{>I}ӊ#v R0 몮qґ*%W8ջ +ߍqkhm6<&Du v9B\X8?GUC&7*A\/Z҉<`)ԖVUe Twby׎N>Ag!"n4i@9n`hS|2Vm %ǹveQZ\v9jK@4A݃O|)gMk)rYq  $"-}pkp~ZWPh/Dz>m 4:8"c^mE4/6LyƕA0R\h@h)ˑCԕ,r_dȗ`v>ptE`gWֲH>HShXS)n7-&0ձ1^~ (h^^M7͑E=:ҽ 殰w $kBL6i?ůmƨrİF?z?Xej^8Ydj9ZiE MJ{F%܂wzŧ .]c,Tqn`af?8_|H4)ָ|?r6^9['v8(?4LrFCaˎLmJ(V%#f0עTl`'EMIng\g_hjRQCł(?VE+=;&7y7:FFSƞ#ϞyOmo_dzwB" v~LB*d,4S;EFi-0y2ֽg(׎ @=qK{|bsOirhmICU(Up" 7oゃ*I8-Qu|'.8sݥNFU »ag Ƣ?A9G=jZWѩu  cI_s$ mK؏4XHמ킑d.I[t7!܄@%!ܴ/@]}F?{wÉnM" f3 BD ` s f$wbf>8L4q~Y TuK7 [b?| !ޒ78:' `"lI\ ғ{nbgMB,ByUj8fERNضHI׹,[l'ckVҙfneCZ)Z-Vs:W#}U+y2 F6~8sУ:ExNjlBXKߋ޻{ܹW*Zh Z Yvu1%fsw\~i}y׬Nihښ sNд6Sw nx1Xn*;+Wڹ.=A8Y%I.c*nw9"OvB T_>+(7Ҡ5Ac0ZD_3k=D5,4[?S)eZ NH2Bο 3#c Rr o@}_ԀGͫW=ΓBѷ(Ixؕ^Ċxwm!\J!-(`0=(!Ka'Ȭ|dDqǢ0,- %) @ڒ 5B"ϼqotN}I; VS#vf`88A\R) 'y攩yƾTyHL^8Pފ:M:pn2<8<tAm~VSD'N"q뵶.dzX:<1B/Xݔp+7UsVlyQAgK`mr4w&ȥ P9= Sbx`9<%հ"A^qu9}AvwF+.Dav$yunDZIХu8%gpTSK-~޼:3`H6 ܙ d}~@SVpt^$wFKS-ISݵ<]3mve!&O짵S|'t͇:88B=>]=<E7&OfhB!ϚACdأc 扠 V>ﮁg8լp*` _]={^(F q#}koToTDNɍ6y,sn|9lulL4Ibn>-{CFNpv&A%(2 &1k4\G\VvmT2l@ 96L硇]cHydǨ6pLD+jZ<˼- G49m P{iNaѕZ÷SU8TU-`­=aq~gpM.g^[!>LmNq7[w.\pcՕ_Ǵ2%Wk+֐9x,thr˛zvgW HC ~ t-\eW&wN ؤz x&3Rß0V5RVk%fg/c Q4}w %7rB%YBJ'Z:}/CԔ{tyEAGϽ,txqR4Qvd :]?)Ef=p⦠ڐ0\ǜ7YJEqWwφO~/Z v]$KT4EBZiV[5\}Q0&jyeZlЁPBmX\6hR x)ӥzN<%/>uL({u# Z-PF4W!Kjm kv6Ӓxm ITґ=Xh3lU[J+230[fa{=ҵ̻U~M3|EV\w moN \' "SLvo2GlH{pDSء5 U(-?gAdDFX5vkC3(F9/¥0CĠg!O΂6iGw'ZLo2vmo@4wɪǩ &TOP gKFr^gDX<yzNƀm#a),_& rNs2P1'92 ug.@Ug#Z!p*Ohӱ 4ӱaaDudž&^҈/u399 аRMQmDv 7Z9ؒHΤҾ?0‘y/* (O,8_Ihnu?83{7(GK'V U.rCTGr,=I8+U o=uDD"-2; ?\W=ТbΠ~($^sEceK*_[g7n~&N?cDuMRJ5%k:eڽg=fC')ë>cd ~ΓTg"2&G, #*CEj]KE6ҬT@"(8 Q'G DC|~bA׏75'\jat/#9_1؝S˿ *YhĤ|ڤџ0%}rob^?Qx}&| m`sY.0x 7N/m-`uo2oz@@`,hG?N( %OB06lyQ| ֯hFte㕙!UUc cSPл乷tt;j'G$C. 7*v&&wk[c wZĬ]u76"Jjw!O1Dԩ un(?lVrT)p\mԂ+/ TCݢ?z$"z]39wkcS"\OZy()nړUG~go1j-((-.U!v߬* z={7M KB1yѪ&=!yw]trT -2H;YǮG*#8WcC)R 2+ &* %\k@}bR?VAwxE6Onר'OG|.YpܨJ3o׎i|-:n&o^R {ι[r=u3Ǝ}8bƫEve,NUe3jiϩ;BSfdO71.^}$N}$̿n^T^k>/-*[f x(XH7TΊ!LsZR V8=P Ai<7PuNc CU%K v+vgx9W'^%ks߇ =P"vL2Ja܇$t*69| q8JϠդbɿj~B0;cyܷ7y>%*-LޒuCL=POע!u!@ܲbƊE{g`9 S^ pPטЇ[ p'D`;ʔQcMKo=\&+g k $MS|HAEHbОXfK2﹩_j|kX%hi@s7|SٗB!h$ǶWPiJ'rG7qHY+ O@1!Jȳ7p.LcbԘ m5㹈#Vhv7uqZ$Q2\:Qc ^)|:2ZOݿwG M=@XNL|6OB;!GBݪvoR!JfA,秉cs!s=O )kH 3 *('9ly2|9nh:o!6b:A9+_1㎀#B>ݬ$; NfFf7ĕ3Q;d@bNqwHI"u( v.ShAzHk!{V9&G.n/4 Px ~U"XI<>Wx wԈ&8?ͺmIfso'Bi+Սhڌn۸}:*\ZK0 3qb9K8nFEiQ xi4egrr~B =tE6r.BV"#JW 0Q6=r/bͭ//Syqy\~΢ߩ VPg\%9H={n?GK Eu)d4`zԍXE$H쿽Œ18蒄i PAa%0@6i4i G@ʉ{ݚd?ȭmdkKf~ &f)Eb S8!☊;oHpY:̉LnKh͕̅ u3\%_KS<{ˈècbFЭ9SDZ{"!}GB^ѣl޶$v}y .P5%1W}HZz;㕸ZhB7 O0e|jKÚY0{Eab}M*, X`Jƿ줐fy0W)B*F 'oWUp)d>d/N ^j1SXowrTߡ}}~|e~)Doi%W쫅׆;2c^^ת> }K9Ê= >05o;9[@*bzHh Qt>!ِx6]*VKba7фqt3gHW) soDV5+9$k%/dr'cʯwqʮ0~-٘07#AEe"ꫀs t24ܰRf`eE0OPbr31t,hޙOR]/@ lK($lܻa[OǺ}paQ-͗\]$ÙsINcPOPI ?'aspIcDHCr'FpF3Rt6J03 rF MgO֭c*6pF7ި84ڂK^a.d١~w_ٟ"qcxWok_&GWO?Kw닍7)gq|I+( Q@l4]π /d4Fݟ_ѶSvʕ je,0^|#J<)uΤ(EЌprbcރ4 x׿夅3=N>d Vm03nNvعtЫYRs0G|0 2?~|e4j Kz#ty j5)x兊drfFk]'JS4<=-4jYTD:{qaB9]ڑ@QhecR}[j&F!a+"z~52 ;w{Ϋ|諔nʬ!nsq;O>،2eW ϖ8!0G׏m;?v5"YF}.Y@5@bXdmKttD&%vT5epz{*HȽsHM"F@{OJ5 E \(8dkw4>0yb_ԕڒ vǞoO5: N. Ev 6'SM\W%9BHSgA*S|$5SHǀ)UQ4l%C%wXDj x۩@7mDt Ȧ*MEھ6r>5jsDͫ`=K[7ۛmē! # W,YJh#Y;$0**aj'+99F%@ tFf e{(F:ѝbiukROރ=bJ>?.+xp3h 5I O D= +^YO]7d+ñs^\i#tJE2AB4*:5:1@C@$P|n\y\YԐ"—6۵A >oJ'#R瞲+1ḛ6T#P(-B7f:acQ2\QhPeKK/9|Ur(M>?֎ȧ|^%(4rjqry$,(J IQ+ܫKA[t0ioKW蟓$_\ rȇlX:{<K؛JbV ܊m1?f: ǹ:,1_f|l\%`pFMc3_)ިDŽ(=%OQ"WHxu΁[(>XN`fچ`=llVg@?9/K^ th.[ S|jN }5ނ^[ iߕeBUQ:]&#؞3*-=?U.c[]Ϟ?ɸFƚg~h6@ /Zz Iwh{n\!f3[J\Zeq B6Ip$g9*csܠ@K쑗JS>'n=wwD?1xM"Ͽs׶yAGfI(zڗ3{b$SY/1(!مT CJ]sIt O?ⅲG`L)0VuGlK7dSG ޹s5CaJ(VV朩R$齢똕)XnEF^ Qd} C 1/AL5@L(o ~=SVwJ?kV=D/qF灐 SٵU!0tW\ݥsNk{XC xaѕ30W[&&,6"<)]y"q~H`QU&tVNK!u\r0$G!nWFP|Ӻ .$6]z`4J 4@@X36y%I=iK;h_ʐVFД* M1dVAQЖi~_p\S9%_vT/eDc3>7Y |Xb e1:a&9 JKͥ+)˦b+A(w;&Sȸ34+Tf\DRa9&%]UTx-FBh8鑈2wrWonDP13ttάBiBϨs c*# bxwqer5cqPd5oCiJiDa.i}X D՟# 0Qtl FhlOʮ2(JTuH )^l7OY0'`),D5nU5')*Eu۷XE|͎"E#z eZ~j+ZtВԫ7ؾqVHH>6WMZ xx bܴc7)}4N;m['xiUC$opӛc<%2Q3..-&cFxsz ]Xcu%LO.T͡{)NRŻ!CE`ł`9Rpʛ刈٧o`I<{̐>Rg7I()6'KIؓw4AcnM_E;+Bn;lo9>yy~꽕kpzHa$aYѳb/'aDX@k23/k Z);*'gRDJLuOGD|C0@jzI" E18s2E" rC_q;]2m?~`bDn [3nnuB %-6 2Hs\UqVv$Õ Ӳ)fQ$E9,;U~,(Bjµfށ޴ =1xTΡahw]Fu+oy&P庀Wj!sR'CY4D+)].ņTw)R"c'711s(<`醉ð'!{1W;m9 y6Tًw0<: 7, ?U25|S )&#V2y9b lb2 v0IoNjb!Ƥ僙 '`)welÓRaI}/ 7AS^;TD)hBF1RWv D#![NIZ^sj,4' 鎰f/2=i)SGjcHd+ڻ=Ci!znޑI$B*W4]P* PxH0O[#e5mDhu/ 0p0rC*@?TD+#t;KE/๐GcA}1eE0_פ"\O_Yf'=LDpY"PvCii8t"irb >SXy'BTpWrAZ^&n'^:ģ`~Mٮut<" `p\h7%XӤ%Faע]pZh?h'V1eSG' m.kGMQ,CUg6  y͸ TXIЕ_;Tߌ$O bʏe.Y)F#8A7D$Rj;ȃRZxH[C9F&,ÇO/< ׀m{+6^wG_i}b7s6uY]n3wmlj6<lL3[#Z*D8DK>;+ -r@N&ߜІ- pmliXi29UHJ+|bA \8ƠɌ_BvBHȻ$oA>m;j:ZfC7LzSqp3ė2GF!g?F)&F=^soDxsJL~(Wn^6}E;B'@n,t)9,T_A4Gw2|jM߄C*UEF]U7HW,MU.͉vۘ# $+i{ry2 4Z5g&إ.n|ͥG&t('+״mrڡ>G]  f;;Fg+2v h"+lm晘!32\>Ee={\!Nؐ#[G\MQCȵ>״'兯gI,\HT9{nq0-lɜڦ6tŅ]|zwfKݪ+z(HgFVzrݷwzE{9{_/hpxcŨn`raXOr֕mAHH )bVן`Xr Û`<҂:޼:{4cssj4%Mt~53#5Ft$My J;{[A'4I!H“O-/d-:XUm悉?~ ip[8O+|J}9Ŕ;RKekA5ȿzN`:q @3(~Π rc{QIJ~57'7X:zbiwΗD;r4,3fYaey$TyBc$׼XepTj|Ae}oj@ƊPGU$`M[][?GV2 {tCJsW<'ESŀmJǼT `WLIIMOчpCOqoj{05A #mGF*SNGZbs)TH몇2|2V1Ghֳ80w'JV RAޙzU&frwjʔ7 &)Q c? *#}n W{ \P^/9Ft AX ߫ ((-ge/9*Db"=ahofG]`6(=lZ5 B2>nk )P4RI$Mx=X'wٶyKEjٲCr ~Ut98v Tr4 a΅4MTk9u0$@R95?ߔwΔ.(%0y(7V./rl. 9g4vidٍ3T#%MIH1Sf7GfzQ1$32QC1^FB[RvB\S|α9L{GP3|-Dnfm[)s& xiJ"YS66^=76(T;y ѣ\k2lXR_FqR )Abr~k]jLJN%ˢ8q9l0*.|h*pVSxCQ.D~S]XUR`8lH%"tXj9vy|A+>p ^ ?RB[T7E0P!i}i+C'IOI8ibim3ɀb:M,ڵɿ~͠ȭ}G6kiP79k1@&E5w~a+5{9&SG¢Nuo-f8x&Wx7Jvw{pp@\BqqHDk_}fqmPʾt 8E!G]M`*4T]"1%N\^즫0x)H(pò-/5Y; ďHG5vK[[gncujGAl*8pQgq[;f]748"XrU{SDZlLwu6[7:Oɶcz6OJoBEҔ *Vij.5SSF IE5v={mr:Q;0݊5 BZ6`b1z8(F<$\qs@yE;õ@]܋T})`(3?F]ϸXj26=Yzڪ4gms՜0󽙾=T~{͏.H{N Sv:wBLY 0|UQ0HKuǴR˳A-g, Uts)Ƃd `㘹eePqG4bC l#ЅZ6I/0\ym}xWht;"G hR^85FO -擰{@$HLWךmWјe3s+TTnӡ?낫*!-1\ZmYseJ n yNXA |˵lô. 1;m-]E @WLX "D;.h4Z=9{ j@g'ܪjK95['M1rm%2΢)HTrYtz噧`?XyuHI<Y V͠KsoC4 -`@6TH;?c j;OdpK[8QK[աPOwgQqC 0B3* NCsC'34S& KƺbdsM]`tn3K}پ8[b&,%+ Z%IMꞻR U!ӎ[q;7ɒ>=H̶Z.N@kҖ8@fڔf07ejAźmyuAN.T0jk^ڶp{Xݻd˵JKrŊ9l߸`*94piBUv`!\[)udE{'{< OAns@kSC@FEu'4a .nH^(TXvD*#Mag&,; qn}d眯/>1ls]Ҽ4 ?I{>kػr2nIѥl")4󠏱:J#G>"^:ϷVNP2tI(Z,uBj-+,;L8s#Vy ]%OGXR#y|Xh5kËUo =,_.Rllf r|}A=52n?7븕ugO''j,p:feDĩH& LۀKj,\6"XACRo[ -lL؜7xf) V?gm;DhliҕЛ4x\-3΋ē&mWBXs{eßSMp͜grR;1BCϟ> dsCOʂn 1Ϭ%:̂jxyc_#%Ud$r>)xˡN (u[+ $7ު`^ ^6jYB2M% H::|:B>[ P'RiC=ͬDH * p #Hci!?U|isb s4}:zvUɅc:R4}¿,\+Z3MB2+/Jlw/}2  rtxd>2Y5ݛ㫺?FcJL΍ˎh׍Sim M5>:\}%gaՃz ׎@_ZŦGhD/^ɨlѨguB{}d̘f.yYIyh1G̼1k _bRg74 .^Vo=#K!lkJ1{%$i *O}[lx )e2w0Ž\h5*CU0=AlA<$t՗蹓i_1SXdiB*~o!&WVTo4#sqG9lP[\V+p%>ߨN;61<~&C0u|sWHPvӕɣuA';W Em>7Q|ğʃ(m!'{m32%#Q.ΰNjLwq{!M"?B B/=P .)!g[Н…V&ip_A_LC=Fl'23j{ڟ4A-Q-',I n[􌴂zJ?*װ-WYӈh͵gTm`?ǰM]j<]+¾ A 頝(4KO!IتtsdL#VXk3lT8cՈnqDBI& 89>W#Pƙ]OgܲzD1`>bk|7z1@2g ,E}a^ݱ`ԞH8 Þt>^ @QxqEM[j#eyŤ}4tGr:-3\#s$t+,pޚP[-quV'`Id9p?g,d<;8˲rhk&sAAO|/w0/wȉk Y~ǓVo5Nwz'` n!;r`585n1>!uV?8y2ٔfm߸xě]{ކ62e/hvS/jfw;~X&=;?4À[٢;C W2ya "MuVIp3z(`t|[g;G\JCrll]58сf WSM36uP`GA:-Ǩ8T5UoM";Ɂ?޹mՒn|* e\*m@2,aR(oVCpYQulMDoԟK'v[X"QrSfKc@3)P#!_%!e&D^"%]*a4T4KZב?z#D oFmv :Ȝ<="eJt:^[ 'лyX..JUOs qf="ҙDZ? ?WRa>gCa3ܐcJ 8:Tͧв2\tlN꿉\:=܄.תjܱ![dL)"kkge# ݵ@ZsdiVr nAQi=όptpKIS^Jw4 r6+-Ztx(G)˯wm=3Q;kd<5F&bu8IU-(H:VsT0F&(9!bb]ĉUz_ 47 qT1B+r Pw(.V u/XpQagGDa.{wȶ?D>Ö? Z|(X`+ • b_RFxc=)݊)1 ٓY~aԄof֣\V.-ׇ Bs@%aE)zaJK6l}DƘj=MQ#'ꍑI(oZFZ3,1A1e3!A#b:S/~?BnXhOghHT'=`" ce#f, ݲ=;@zȀG^izKINf՞_$O0 ^N6pkkxLݦ&EAڅslP)mE ̛є I[S'Փ=K^\_`$҅iHھzg,g;g wi $r 6.LCr% W>ߥu^7WbcЋuѝϫfOdP9izn&\ &NM4 h)ǫt).g.&XSǦE kzjVƕ&7_L9Mp8$COޚ R7k`YVU9ssXNe 8fyz_6/hW| Q-cBs.3 l:a}E9ޯ_ukKjnU'AU1F~]1G1W]_gTbG[;usko@ͲX==_y!|=5nm<_),Q㻹hBM|8pSjTeK_R]XہL1D!CsmҤ_h+,XdEviӣĒ >nx@;~iX׷dLq IuoC9JAqBژC)y޻kXSp(`qf* H$<\LOe^ctŸiw'yBNe*LQRHȅyZ+,x_ѝ/5a>'TX#8VFO&O>,67Vv w{p8>q= 0Tk'*4Rv]NN>7Qjca-ϱ<]x(]>d(q#R?{2 (Jȝ F#N2Sf 1ʉ^C0Ǭ@pxwђf?+gb~Ld +>'{JԽ)(K2/%`Te&0Ϗ89IULߨo/RF6ԛ.{Dw7 L11o~^ s|+[s_[iC'а,ln;bC5D h{J[A.:*z%Pް| ""Pm49r4e2(/r6,9FOwU4U \>u< swGe$v͂vOhj lztWҲu(ɺ :g'3MsYwb~wߴa-lYh], -Ԯ UB8ö@>h\ce2ŌvXu0'T,.<[aw~;̜w0LfG.Ya?5^\ǥsϗkMS7c×;W `TWS.C7YuLPc'=%AZ3X{>q8584qd!;"@OHmA+6E 1M>Gh$U?Yfud%JLQ.\~8_Hv؈k7p|mgQ;Fp@u'QKǭYRI:Xՠ",ڙ$q1NJb7+֭ .{/F\ \JJRuM5~,e m2yOZlAh /'CZvJ*S [6a & h|MŖBX4}f$Ҹ#,0+%M5 /Cn(){fPl"S,_z]'>R6ȃ'v Vpwb1/j؈$C^O'8']6ڿIo@!dE?3>/>l75^ގŰ2$>Mw2ql-R+-u쬋CbT>nćmSp%#1Y&pNJN@a{^ cf(0#0PJA':8[۠7Eh#Q53i'A<4[%  &>Wi<(N(.ode1YRpY9WCȼf(v4y 106PRyUжGV,^h663UCf:V.tCVyC30b`ezۃʘ\E͕TyɄJ1mdjj%*o<ڡ9vtM{ !uH](?Kh_6}%)㠸#yl_Ro2ڦ`Àƽh)mx6_Ѝ܏K]?;,`Q5RRKu ==]*fn.,bMk]bݹ9PG %Z}Y-^g fUh*wLj,QlT ȑb`Λl20yY۩F}IO#hX@4a };~iXH}8ȅ*3ˆAsl{g-ɚKΨ8swte|2;,bqu.wwi]xy*!&0O/,f6oqtapirX u9cY9E( ƀCι8 ,TϯĆ.l8nK<*y"DGD)-?5հw,Gpԝ)m!/}ZΕ-(iûQ 7a*/G1c2Ş梠K8p^.QO>gvLj0?1)*!\@)'-D5YYUNoC#cfizS+/`bۂAQ1NыU2ޮ,r|OL_7<*¥յ) i!%aV0>U:!s?\>Ҿ,2ZfAؗ^%ݞt]Ƣ^ h=.S9%4] Z1b3ӱ5N4\B1k<2}8 Sխ=( ?X(<,#ղC\u,6kMB|Ͻ^OM[mÕυ!ֲo6:'M,~ 79J9rBtb6TN`s~ɶǢ@Gaw,= CΆ a"?$%@ dWĈd9p!7hMBл,́#F4sOpR5 q.Oagxl#xly-{l2xT[ S'愱.vZ=fFHj4u:2Hҙ5P㏞:87faLfbtPHbt7Ssc1v?+T3_mVQ^g% οD!TzXa7/@} b,_V5g6Be ~a1 #>ZZP.͡tа,IJa' t1bCCŜWu]\Tܻ'U| ,#dӴ4+C&>2bi[A"+3$ P(oTwz?F좯c=ya6<M{Fw3CtL!ݍ$ˣW6ne.paJ(6t$ 3MfacGeK#86m $99nֆO c]C@ؙ2.}%җ~p ٿ5o+mkV gXBBbTYןv2\d?`lO 9e!DCs"W Po,q]g2ƍ(`s-(C9@E  ̊F`nS-uNƟr@$c{1&a? (]Yo~d5Y:TC=Z5P\WfBe')# ]q ]k1F0J) ,X)k7nZLO>Hh\f(Xt%(ri#8ީ2E.!{yGx2Ձ w) 2.?k wȻ@rE]ƩEu ztְ$T > 8!s7b6L&&Cbܷmnxc׊ugC1% (YDt'nsʱ5Y)Wi.v+Ez4hO|4y)f Xh&q+A骮1%,Qk^TpKt'/[X "N j v|wʦ}2.3 )540;XrvZ%<x+CpL:FFióKyz\қkVe˄2LOlxt1g*DPHGw'iHoe>8o϶m A?oC;|(4~$F0>ȯ~vi6@B4>2~(QYq!2 3Siide6C-?ȕ,*`CSXK|Vp6"??sA\Kr{mr~ئ],iOkS*@[&iwava%J c}fCobvMNE1ʾCupCe{ղ8V$3A\\Ef%D2X'G6ӭiC1lje2BʽIIFZGzˢOD4 E%vW~m~dXl"Pŀh۶X\XvLa/b&{U#LV/˟(>N@!Q#DSN_*ȆMFgpoq}}}}T`POPC ,\Ҿ氎2'SS%+Udލf.G*H`~QYP䫠q8:i'5>0'e4~Qt/nxב,O9Q\WĥAa|mmS @2E%B?;jHl $+܍$NZKf^~ê3 d$5"eψY`.4*$l A'7.::/7%/-^,b$~;zʀ$\@Lո fJߜyql  e $W ޏغ-%OTdRL omv-íPͯJ-ܐ>_ Hڽ9i2;ؚ1ksnDn.k>ӌlh7yz$tPS&P9d ÷\("y msG9ߨ |~U~"UPB.h0 Γ3]%@ `kh9~̈`ZMYVur^k7:.ư`R,hdڣt<`Ph-yWo/*rӚ_s$ 7 L;]O\#I+@wh⡗"1@Ʉ8Y%9 XBf}n(:2pt];惪1>e<QSFnT)X^nWj_DBno $#1l5ݦhPqG:rX @R0b,L57>@{ lÅ/&fB_e3pEA6e\pCc+_$LJM)xA /pk{2>+#8w1؈'{]ҁ#ԎW zJΈW_=,}(dvB2~O&]kuًk%VUoYtSxXnh2>lg7ZJCbR~F? L]Һ. *8ٗ/;+a)܊inBu V[ZGl&+o6ZwZ\GWȲs9yS_W 0-ZZxGtc,͡X HFg$Sch36'xL9wJ:+hZǥt׷ lw%wq2/[̬K: yq45&q5Zt̬i|\uI(iS_A6=]5_ԽmD'!σcjr1 ZoiiAzT>O^ߜՐn6@ FDHvK'0$D O?Utqdֿx!ꖌaڸZ ͮn q(m$R̼RkЅyS2}Y`[hd$euC] ׿Tt wUgZB֨  E=DK+*V=Aib5yA(ed`<SyMO` L}f3}2e7=U$7°;4S(Bf3b҃/?3ۥfGH*u熏ْ:@[̊*OaZw}IC1< DHzӝ,lA0< })l"$Aeе{';:;tn|ݵZscq㩉 ,UH^$0Uw{kH)w m8 rU`pS-a9I3}`h#t+%0S咍n 2`~;"b?OuL7҉3Y?c e$Q|U=7;I3>`x+プ|mVOB$OKX;=R,n{|vxB"'63RH-N+nj/9Ge[aMV;uCNMs ,u{e'jZvY5~Ak9JFzQx۝wx}kZi($uLd $@jwAZ6CSG^"FV1IlX&f >kSxSuH( #L43yIڌ'I(^;y|,[7harxc50ʾ M { bWwX4Cׄcɞ^ Zm;w!/vS[ϕ,N& YZ