dpdk-thunderx-devel-19.11.10-150500.5.14.3<>,;xfp9|nOC )3"Sb.f\'Gekh G_40(.sq_пlؽ+ &|fUcJ}vTUc`h"L-n^M4iyS.?N%^N-t+@4^5{ 0 w$x~ 6c]چu0LXwSU~0b*B>]ٕuUt3PTo-BebVV3ޔh"c (OTzVkh4>A ? d - e .^ t  8 d  v P,\ (  PTc(d8lR9R:fR>`@oGHI0XHYT\]^1bcd eflu,v wXxy   4 8 > Cdpdk-thunderx-devel19.11.10150500.5.14.3Data Plane Development Kit development files (thunderx)This package contains the headers and other files needed for developing applications with the Data Plane Development Kit.fh01-armsrv2&SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/Development/Libraries/C and C++http://dpdk.orglinuxaarch64 Y\ jFgzPra $d*ms */h~C4%N'()z" L@F 'wFep.,7 dd6M h 48'{8k ]#6_)5#d +%>+E@31"<]"(o ``;(%gLt \b3G||Xp :_3 15S+_$4rt"<,|*P KQtd0#uS&vB&\$<3EW=NsJuCZm-!r To{MGlwF%(9 }`e*nK C>&R5-fW's7@!;K:}S X %#Z{G   a Am):tiZ/0 ' %!##""!!! ! #WP&5g|+c = xPv})]gVjiU ) uTgTd & k #   SF jmA큤A큤AA큤AA큤큤A큤큤AAA큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤f1f1f1a5a5a5a5a5a5a5a5a5a5a5a5a5fŧa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5f5a5a5a5a5a5fťa5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5ffŮfůfŴfŶfſfžfſfžfſfūfűfŽfŽfŽfŽfŰfůfŪfŰfŲfŵfűfźfųfŵfŭfŴfŷfŬfŴfŦfŴfŮfŮfůfŭfffffffūfŬfůfūfŵfżfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffŸfŭfŲffffffŬfŰfŮfūfŲfŲfūfźfūfźf1f1f5f4f6f1f1f1a5a5f1a5a5a5a5a5f1a5a5a5a5a5a5a5a5a5f5a5a5a5a5a5a5a5a5a5a5a5a5a5f6f6f1a5a5a5a5a5f6a5a5a5a5a5a5a5a5a5a5a5a5a5f1f5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5f5f5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5f5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5bdef46395744160c9b89fef3c531ca8028d45e6b62a4662c4e124796c2f6fc1a26233384afbf41b8558f42b58afee3afd4f662975692f521920239c8ce1ddeaf7e750b1727dfb3a9396a2df58289b941959d84263ab6ca7353347245ae3bfc054dcbf6b42773afc8604e7b723cf475c670899bf8012c411297391509f257c1f2c017494a8779d3834264dd524a371da3dfb23dda6a08b83719bb25e25af8787aaf30d588f214c89c2d6c6b085e99fee1f7543c82ce2b8db0cf6cf3fa9d146fe6d609f7cbcddd9ed277ed4d0a34e34e2a52dfb7a7da2e3f24fc197f04b661811e10a66280c5f0a2ab84d3dc276b493b0a24b0e64199dacfaa7334f8fb7fe1ceb3b252c298ad5e84ce3fbc51ccfeebcc274ab88f2aee16dca5a27c69e8c79040efb13cf9636dee80da35aaca6df579b421c4dc254c4faf9eab057e1097c52a149e879e2e1eaae9b56a84ae6c9beb1482ff0f533272ba8a64d7977d12c299454723bbe6d477351935a03c506fb6b7c49413eff0dab0202eb8d140385689c3d9f982a5d63c9a49c56e988a8b5f2b1a838e190d8ba82c2e61f5356d2cd1c92385ef447898f3e4a2db7e9d6199bb8819ac153d9407ac6bca5eebd114c63c3d6398fe560bbb287899b8fe6fea09c31a1498753f918ba84ae3e829764a435ba6e3097b91da94fe3dbbe58c1f9c57c8afe6e399652456314a75c4b4eedb4e40faca7a1f84eedc33b98340dd8f6629ce81f2eb067271914b45303b3c310cddde98568e0d8dc5c1834961188b4a91d7005741799bcfcea6d06f7f7b4048aad10a42077e4c55a622df8196fb215ef036cca9451fecfca031c9eb4ef7795e24de9311a5d92e047dc182de549da688b9f5afdfa1188e0d8b542225cee07aceab82be4045ec984429b4c105d1ddfff689ba54a2278e2f81caba76b8f2b9c9d47198e254b22227aee4f2b36b5ce20c539a841fb93f119fdc1e6fe69592f67c5450ff35cdeb7dc7befe2b6dc32440b8aa4592a4d0a9760dee228442228117a11979b3f085fe4779b746820054ea6ecb502523bd48e46ad41ee6de00546e30dd29a0ff28b81a68a2a52af3527bf4305f58c3e9bbff480b39fef350b22cb2943422f0695a74877a341e199bdd6e26dc8a0e20a382e719222059d531383c15f60514d351b8813e58c615e793d00ec1d4f97e635b0a13f49ceb2543b15d800320e6723d1c04e9c4d1b9de97d753d6a07d336b4ada1a963911400b3231f86908fd0fe62c5d8d3d5a8a0ee95fdb8a00501a1c5a89834106628ec4697b1aef1bca7b089f9832bb61bfec8bfd14ca531feb95c57a2913bde662d9774463bba1c7aa88d1daec72ecbd172ee060f39d366744db3d03379918717c60b270242c48199567594c7b42f2380e367da3019a8be383fd6eba0a50ea5e3de60ce30a63fda8e108ca5a401275f3cb7197866222a3cb44263069e8e4a3fa5650d4a38dc7a3076d71a3290011aa1ee245739908daf720dd790df6203072ebec8f25f6d5c2be9c1cda623ed5fd209b5c6538edb5e44834755c5c5fd61c2cfb258e95c6c326c3720510d4e358f2dcc0a2835c5dc4c08b22ff5adb2b9d49578423f1677abeb96a14c6ca97e9826644161ea89b7028c0a7c7e72a0e5f3a21c4e5be92efa6eaae8dedee63c7987907ae402a14ce9c22f9c3322df604f27386e7d80de2bff9c6f50d0bae7631ea17af3f6bba9b9b2a285f1b62f292ed21ad1f4d59367df0846c02c668fa9b083f162a156f60a72f566cbf8d985f167eeb59704130b471d3759ee41089d2f1899c17c9cdb0882408fd11bbfaccaaa2d0b3cfd908898b6ed8128360cba0b5d88878912101bc1ce435e7d254db4842dbea32950c022ad73a849f2591c37856a5c37732184eff49ec6b89e89338a202b535a9ad57ca0b8417f3b8a32c1a254bab35b987bcb13d1d690bded7f346b2c355b55ee9ad6f74212480508333d7dba1548539cb9882417277894c0813a773afcea9e71312861c9840694123838a73a8f282edc8375822bda7a895ed8fdee1a1258babbc279f9f59565c6f97acb703fcd530e519b7a5dfc9e0b804faeeef54ffac0aa226bc765b893722153a4b093ccc0660d2b8427b71a2b99a46aeae3aacf78936cc6d9dec59f4be8fc0d0dbfd0badeca338a1757627e0759a96da53f52c0610685c6f3d68628c48cfda96166e7b64bd3fdd60b1592523151f61ef4a1303645a089cdd092133961a49bbd9cdc5b726f29259652bd53e0eb6d14e16b0eec1de842b4d982b8316bec3427fdb5778d2b7a2b835240c1c1ff3f3432eddd0fa33d7fe7fe8f58b5958da7c67281c13bdb479fd964102208cb83caf67ad991b00b82d3e172d141cd39822986090e041f403c6e17ff3a9575ab79c37d504e9d954ad2291592a405c519cd3eb0ae815987ebbf136173157daa77cab04a16b089abc243a47ba11d9755581a2314056b1b9619f57c0892e71d0b01295dca9b5b416e0d5b3d8d99ed1b23fd8b7a51cd3bbbccc093c53384e47384923733faa0b0dcaa405890c1afe2968899865be329c18bf66f6a5af041aeba137792bc2081d8256728b5ba8587598e0c30a46e0baef2a57d568de4179fc99b4ece5eb115348e4de2ac4d063a86e090c311472a748c950f1cd08962015887941adf3760965f623c1796e7bb2b0d4be61823d05422b6676b99571fd5d7aa5a22c2426f679d14c5a3d22cfafb5fcae35cd8b22923e5c64a082023a9e9b3cdf98270e659f2e0548c516e3260aa5f1a8a108bcb2888806ed61a01875e513e2fc3f782211e47251c976a74f9117d81c71b9e9c63c7e079fbf754d0c93ad759f0242640245ef23faf29c45fd4ba79bf972f632681d2f28d3c646884f35ebd4a452287d9f1f2e838628689023e464b26ab703db9f6c4700414215dc5645f3ebf9ad8c7fa99bef5ba884ea8907066f46db097fbcf3e075860033aba2d2de8580b4c528d491ba339b41c76ba2f69db7e5ba43c2976634b902bffd16c9c0fcf67fb6a4cf37a3d5a5eba427504d07b9d963b7e934291ad23097bff85a2f73ed91f78d1e09511327c96d92bb5771bf358b600fb71759ecbb744c9ece53633d2112f9d747acaa97d64b62b21e13ac4ceb5adb3ad2157e04bba9ff1ef7cfc299b96bfb1973ad8de41914808f0b29dda9a7bbf1f998742bd80ee767c3df0d60d84ed1fd1e1081c3a1aaab7cc2a597bc8ddb3e915ca00bc1a31b7a055b7e83ce8080af7e31a1efb68f9a3a3d4be7d7dadf2090f0e4ff81607c0e4c9a606c354320cc259c72a8c75b99fc18fd7506648ee7edddc238a18046e486d2d8540910d7930fac73351b3af3d18af8991b0adbaf44099640465e29722e585732a369a06bfe4d56bd445438edd840b75b564c0019c3fb11d5cac7bfd735014bd71d19aff5358895518c666648e3c7a8c465ab0ffca5b504c2d5bd0e739d3be0b094015a25af6309bc57bc108e34492e7159735e7d3e2fdc9e3aa2b86db958fc4850e0f5e738c8fed21cb18cff326187c0b91b8005874febcde44018cb4203e21c4cfccceda85ae87b970a04006b01fe596c85c13af333bb36ac72c594ffa4c8e7cb908428e0547bd4ff6a24837b50d10e1a97f946bcc02ad04882ce0f89fd34036f3842e8d6bc45522f51f86bca6f274ff097e56a1737b9b65910fa021be46b69eada46aaaa17a5213d4bf93c45d469e0d3b19a263031d75f41e09b528f1441611791427e7bb53a4862ec76affa18663900dd69540abe1c9c0a8f70d01a0204972f2215b6d1c2895bddb24cd7a2668e548926ed49fd2d61589cd1cb87f650c669b8b41af9e947fd258bd98c7ca1855238fa46f61fe0d50fd8f6d8cce94b525786588fd8aa1a73949877cd77df0986bab9f947800c1f671a4b67d0ffa0200a18f7a044d3298c9d47d128400b4383671dc7b5c6398b6a5c1e6028fce069ad547fa50b116fb83b5aa9a8660fe0432c5dee2791376182e0a77abab742935cc64d244e6eb3d8668164702367212f4fa1f1edec639e87a2e1f995ca01e87f199001b3c53d160e3204e96801d77cc5083f4465c6a50a777c08b25ad541091e075143930a18db993270e5a97062964fcc0dfa1bf14f3c670fa7162af646694fc21b327c072b02d2c0922f1d2d34d7fbd2b7ffaef0534a899692a7cc7f8dc557738d16929c568a742cd0d5628bcc9cbe8975ae0d146ced4cc8d4e978373df20d686caf0ba43711f7ff8c52c7bd8e5f0b898cc685141908e073c192bde654513291b94e2e0e675c8f37e36e7dda187f7efd7237587049b6aa0044c036c8278d05adf6f92615a6b3da56005b820cae8a6156084ffd059b07a99a6fda8f6b6c4458656f1bb218b9de46077e0d52f6d1b9115436711c2a88d7983c6648db4dc86bfd1f7f58d1e68ab783326cd8de89a840a0c127a12814a77fb94b172a49f9c370cefa29bad1cd39092bbd9a54ed8ee78b5faeebd2253ef83ab02cf3b972461cc24fd74b303eea8fa9f7ce4a019cc5af7bf3bb96e4ff3c32c19e2adb350ce9825ff7ba0495dc833c74b3303db7def4f6a08eef978a38e788b1adbe3f10d580453f527d3d68cf350050ab6d489ac407b6e05f9f3b40b4ee0fa900623e443379df1f7b5b39851e81616470acd7a3cee80e02e158906a86e553bbec228c6ac64dff77a392b881caa36f9e95a5fe5a5f590ed767653cbee6ba3a96f20dbf19803d8fe7514e0dd0b88c3987678f7f6aa0cb1c1808889d9b0c103ddabd09f76fac510e3f14df129d2b3c129e7298e64ab4cf58d9b5e23b9937ce74701ce9d6fbe4ba783a31ab783b332f8b38915a40f88526aec880263b984c7fdadeae94b3cd30283f74b45709cc8cbeadb6b83472659553e43630a05240a178ff5ef1d0f52291b4d5896c1a163487d60b96ecb5f5a12a5ed4b969cd9a731e9dcfcfcf4dbbf3edf41060914db5e7939aa83cbf519d3f9c039cb7c43e8aae2259eec47029fd843edbd9bd21cd5a7725a6bea0fd35a0ef9740e83203299b0bb1d3df9b3f082e177496284bba841dcc01f5b3b54e1037dccfed4e132bf89acf6f5689d1eb2c22cd41d2bfe1251953fff83cd8f1904d4cb380561cb559fa20f5b7be2266924be17333a3b51e548f9dc9b7f2b1cb5d6a75bfd0722406f7f26645d8e7057b8a3bb1f807f247dd6866ee67dcc92b84b31feeda2329b0a8faf851b6e08f5917d0a2e0d53644826fca5299a4c6c014e35f01bb254182230fca2be21a883e9b4dc96eec9b5c6976659071349fd6ed59a19806536befefc367bce656831ea4d595409398b377127939bd4f9ee21b96f549456e002cd687def536bb647c4735774aa77efb47a6a95dee2af76e146ee4a7f6a8d5c5074991ccbcd071f6d775160c561cdd2dabdd5580cb435ee39202e3ed4a215de69290779fab092c163b0ea4bf692d0e91b9f0acbb93c6c153df3d22f6e1c7d96584ddf2302b6a3ef2fdee37967a3e3c2c7031359c86daf335b2001954114e4eb538d1056e6d5b48a782098b50eec420294990b3e8a9c24a70ffc7f846f837bfd49fbb546bd671c9e400bd0540dbaefe803275cb6995049317ca78dda9281fa5a8cbe40ec9931a0a3abbec39157a841b23faeffa1d11938ffde79b1b42471bfbc64985c41bf9034291b2de611630f2ebbb62c0ae74c3ff89971e466c82be56246803949292bffaf762fe7c5c80ccea4bd1f388c02f1f47bbaf1ccd63a4e0f4c36e7580e576c54b02b53db9e15efbbfaf38e2f22a558935c777f1c59c4c6ed6c0dcccd4390391a9e1f147e3614717096fb9c45acc4559aaee9b206155b6ecb21b4cfcf6538c47a562504143166d51780abef0b650d6b217473881908df10a62a9247640a3b22fab43b960ea1e1c38050070ebb9bba0cf1666b806c0d15cb435f57bfbdbb4ac3be74b373b6c3b9097d09f7d873e6384714b3f0ac1679e704f24c9e0c539e8bfbb9cca85c694d9d387afbba68ccf4bb1793e6bc598cb294ffaf064ea8d047e269be82a5ffeedabe938981e943b1cb39af6d47f1e118c7ffa91bc85a52a81205eedf03bf1a84e993b33757d6a24c1cceba5235d1825bd5733958a554c180a1b124f2a0bde2ef5084676924d8363c1ce15ecedbdba24cae27a85d6edd9e015901d19fc6f97e598732c934185655772b7e6a0a98e78f1e97f6c9b600c9763b47487854e9d10b5ae08490bba397dfb7bf9cbe6dbe8e96a600548513560eb07bf3967f4be65338f5c8045e0d94e96278705db0f58e8e83096e3c8da1336633a1a849a25b1a9eac938b02da70e680343570c060e26e881e8ee7105ca6ee12ab4be57ceb26ea3b1cb2cda2f991cead013254cbe92206adde25806e0a81aea28c2658ba76c6ce50fd0867bf07e6d60234a7837b77ee99be67f76c17904ef95ef5e3c8d506575d802f67cf100226ca1bff546701cdbaccb18a0a04770b477d3946ba7210f237d459476509353f9ef5967aeb1adc7ef47345565ef519a92ab32d2745ae0feff922b336174256c818e4c40b601a9b818360792d1a0a5791be577de471405f953b23ba3028e0d4831684b63737b6e5597bb2f767f6d03562ec0b3865a6074cab04832c949297844aef1b6894551ae76bbe2c7934c0f86e4f0a79c2fd2a7d67bd115219c53403c905ce1b4b47a4d14b66e744ce191e30b18213755c93aca0e87c1391a69635ef77659035c5b546f2858cfef8433c0e0acd900555601caadec9aab250bdec8d3637700a24dc71453813bc6a30a6007e26308795b7b14d234412babe145d35775ca569f42243401d9109996b57e89f74b965c9c87a0b763fa2a21845b85ada39ad93d1780c9457beb3c787cdda39fceceafdb4f64fd7069c9c378229bb6913280a39efb52282e4064ad6b3ae18bc87f4479547d90cc0d1f684bec8c6bef877c3e16244a49bac16df462769e0ed6e8260d7f4d09b359cb03b0b7d553c5443acf27e8eaea1f76ef1ad87d6e2b89c5aa5191c140a728a47158b6559ecea880f543c105bd9c1a34c60b5f9852284e67c25648209cbb068ccbcdf2ac2ef8a2d21564453c6a1e15ca0dda6b43632fa0a28463e6c0dea76dc255c5a4f4e24e1b7405d6e2e8b3502221eb1d4f849c1138cc2d1b05798a664fe0952cbc08967c709544a8923863025745cb7ff60c78e141f7aaaad9f1842a3959727f6566fd0b522ba733607204c25f27e6e1c43ab19442c6dfa1fef222c2511ee754e35312fd3370dce006a2fd363d439f22c113628c3e5ec26a0c6c0d38cf7709288d37b64e88dfffd88f76d3059decc65b99377212363c975365eea10e8d3a8e102fa151b947d45d170287c3ca90384e4270a06aa0b3afe6f58faef5edb9c23ae07b055ed9c13b2d44a31db8456e82234c4bf40668ce8c0624ef19030acc712a45130a08a0a43d1f79efec5c6d4ed1ecf35933169a34ee33081d84dbe6aa0bdaa84ec73b6c445481f65afbd00538468d3ec31503f867b244c8b5eec738074489259cd2ec706b13bfcfa4400e3cb768ef2c3b441e9e007ff56805518523d70c07c034501b36b867ccc5558c6861d068428797de21e163fb7a805e699759cb93245c9e6a4c0096eebd3a3f60456373bdca6ac81624512e6c5107c5e3f88f25db376f4582bd65fddcfd9173237307a041dcc3b66c5534ae532779db29ac82637125a0af083007f8e9b32816855048cede871834f018d653ff170fcfd9065e116f79a646ef482f11c8ff5a0c58ef9261e1a50190bb71fbed7f64a4b166a2e5fa879b13e3dd2699befc8a219c59dfb3fffa0b1aaec1777ab2d2a70d62a3a4e53d69d92cbc3d72f360aaf605c8e9dad058cefd99d2af852f1d39ae6d43c6e18c0916400202e8cd6c0c6d57f55f812e9a02ced87b9ac612979693337fc7128f49105d4a8ab03fc5cc072ee53d5c85449c49bb5cfb469a4657a0c6ccc430e4b27b4dc615e5b3c68c1eeecd7f2a96a5dcdef89c4d18578b09c11b5aa9dab1d89aea7abedf5aa320b55cc6aedf27173dbe066397599bce000a68e26ada44c7ecb77575857bbf14d15283794708c84c5d774600d3c4d96eabd1e4a7f5a545fc7e07ea92d4d9218c967994fa2f7e96ba3733f81bc997ef6cfd6d7682cab4ef56d61a70da8b19317baf6c24e431c9fa2b662397c9510f67cc180077880cf94e0097a42a291540a0fef439de141385f5598b2ecc0c1e2d1307b391c6f5b6283da81cac18310d4ecda6578495baa53c30f5bfb2deb77bc800d13b7d916795a9d74da9f4b24ae7a6a4a6e76c358d93d8c694f41339c6829b6512d3e028fddbc9e9fa33a5d4afb87700cebda809ae7dc74a863bd48c6257fcc8067c8ba65738afd14f8b4555a51f93ef6432dc6d5660cc28b9493b9a468eafbfaba9510f1cf9be81276b1bfb62f9a48dbdd717a920c114bf66048ea643ddcd6a1ac185da5e02d01a0dcec4098904ae0fde5158a4e6f95cedaaa142eb79fc24da9c6cf83b9644c674b16e08ba7795c04b242c8fa1d02b724368709041f3f96fa97a3ddb47c1c1b75cef19627de4abc13c3fb0f3d6a6d23d57993252cf9360bb258d45c6c50504a5abd76044797d8e21f2eaac139985eef03e8dc39894acd0e6094a76ac48d2830566af2d1c9e0161803fe7ba8ab2a10f5a05dd12e197ca560aa6a9649fdb34a5c086bb8e508956d024e9d1b9df0300f0072a93d42328f488f0a15b7d2486b9a3b2f6eac3dbd11ca96478f62a5afcac6e4c903bd969bbd5010b3b372abd277142c3a0e8a4a56865e9e61e3911b4f87ca7d02123238ff22f7a46a526e01bbaf2a69657ded8f6e8b6896b285ec6edfe7c70ff90c084b47fec0dfcc6a2f188ed08c44d47ab3404bfe40fabcf4c55c276de06ece4a4c320cdf316946214cddecdc9b20cffeba780b6fbaaf49aa8fbbad10bb3f806843fc7d659b9670390dba16a750d3673b8bcd806584532a12169a973cdd91b92f1933474b144b47d36766055ad43241c3feadb4f0cd2286aacd5c66c37804b5f0d72cf5802e1941940737c4905878ac6cd986468ce7bac933a176f084b47e19ad515b2407089e4bb2a445782fbca7e7d8bf3bf590ca49388a3e9f33224ed008cf2a5097da16b5c759788193b3e59975a04bf229da0b45e6181e45c7f5301d5346a819492d3c9d5e7a59d0025f09390fde619fdb24e60f28770ec9d87468a5d11a2b027132332b008a9c692680e1c191883d19e5a316b0ffe459f2ab6a0bd1857e21239506a40bdace226558b254b6864cdbdabaa990d85db6e030ea9c46d85f95e7e3e3a30bf3dc6b9f22cac2a3802d72abbe2ff5e76fc45d6f3f9f428236990034f9a67eb58dcbd40886d3a8b51cabd95651273dc7ef925a264de52bae5eb9bf5174013f261d203ac10f6be14c19d59ae75c4b6384522a5b88106f601748457253ff85363a2c83017da0eb9ade6cc6b12aad9e2d73f8fc4b04f23a85fd7dd0ef6a89bc2f9e6cdcc2df963d29998c08cc96432f691ab0bc2c7da690fc717f39202d66f5a6e4557759a51c6ba38c63be80a0d8a94541584f4a236f2c459b993d17d5152ba7eab7520c285035f11af363e1fd344933546033a84cfa226ca953a297f3d9defd8b7ac4551220ba976b7d607a7857aaa33d93580d9bfc85f68b7b68c9451ed336b9a5bfa379e242f8a42230aab5faf38040576ae29629c3958d70444168febd8553699defb702cd9398f25f22ba564316b0184651a9212b9b800b5dccbfb582cf4aac37275bda4c32705dee6df924a5aa7059ca8bf5a538c54c7a0dc83f341cff98db055bffb4693ce59e962d8a7d8be7a6e409711556a79abed07ce565d4c8bbd71d9cf956f0f363608618ba362807aab74935fee51060bf6c1ec98351af0d67f494414bc0190f8628c90ac47351d33eb68c914e104e1833aca48b26b001a615baab9373c6933650391c75553825394e8efc2e41224dbc8b6fb1bd2f5bfbe1c2c1274c647bdc1aa35d822203f87e4b8d7f6d270c5bc7c6b9a2186fdea93c4797401fb14dbee7147347ba2c0b75dabcb9ce14b00fd6f8fc1481a691d6c2825d3754ca9e73457aca7fdb35c7b35d58b27a3629dca01965a65cec976fb6b779056d11cfb4ed4ecc2c4d791e8364bb3a1f4ce2c657d2edf296122a307e7faabc12de6a4a60ecf62889e9e111dd556b77b6f61a47b6af70de8db3250a654853c4f2643324fddcdb74b65651a3a7d1bf09233058974443904f593e6803fd7da9ec3cd64677880b36328e67af85fc5a7f373fab62fae703ffa9f716125ab0446b6b7560639bfea1b8880fb9e228d21d42eca2e1208eb303d8dd56bad50cf2f9d7b65717b059d2be1ef39e3e8563b0517cd82a12bd97ad7b63d414fc6fd4fda872f4316d60447f4ebccb8699f966477b12da91837f122272df4dc0961ae26740eaf4f9efff2284da893b20cab04ee7ba181c1fbd31f1d40b1951e156d998b3c9b38932df17894913ab731dcb97b93a993d721681e4c603458fe47a763dcfbd863104e9cfd8ccce23fc71f004962a73f046d43df5fa4344e9a787c3715b5f35b7169b876d57b48ffd5cd636cddd04ef77bd108e1da29a530f49f6faa8f179d0d1c1d9030fa17abf71a21925276747ae5416ff990a52696b1050b74693c75193477384bf2e5bdca8e615d3d2043bb0af76f76af76dec08410c336b0002ede861929c85708e592b64405e42eaa7740c12de37464a0c06c0f93563f3ca1c2ac59a6cb7db8e5a9dfe92c5d5ebfca4065f6b1c596ce8c77add3caf9f33ac866d9b1a016b99e2bb7a28a8bf3e312df12be168056ffecba546a7b9d7de371b312cab5b452bdd94868b0c4f6c869a729473879b6d9bea449fc6652fad60fcc0844f6f09c283211371cf198f04f454d88f305f86f15b0b5db564330a0f2b1ec484a1409ce391752578228f265a71fdab1293ec761f9e9e64aaf4b69a1353f1c0770102d4cba4a51f7def184cd655aee2c722b167887671b2b64c20c82934e755dd36dace404ab984336a8f5a07221c45210fd3875e2c9e63ad36e8b51fca317a59a1db2efb6fc7d061bca2d6ebeb72e6e7c055919f5e708e726d042a43fd6bea80bd25380679b8d1e7d3de1307f8cc758dc3d82f15bb52bc37eb852e27c01cc4fb684388cd1d9378d85e7fb73fd85dc7b017a10c8d70081d379bddcd1dea72550b1c7c8f284b77fcece93cdb2b67766650578b002dc48d12925c2390c307e16b27098e5fc8f73d23724eba25e30915d628a68f530a99f2f4f2ea4d9614f184c8a031654d1ee0282d3483589a307222a1462c6471ced286ebf8c1c47eb2a1485d288636010b34dcaf8fb4655d926ee16ebd01ea9b17f8bcc2eb17d3f7849dfb62c7b7a38552932af750f31dfa18e2c2f72684493a94e3e9e3b7705034ba2a53330ee4f75db3f6ec2755b0ffa1369cf0bb223da8e4273c1671bb79be3381b89cde8125e420923d9d4a714677af75731e875ba17765711e72fc2d459e41f3bf8d6e6e6ae299df9f42e5f00bbe40d1e98a69e73d1675b33f2049edc734abab826d1eef1294e4132c6743d3ca6b74bbdbbd92bc86b7d8197aa4b76fee67e94e476e1a211ffe4b5178ac10b177550ca9b0754f100ec969e8a1292d3d45c5769d341dc13b85c9e1863bdd6af340804f3aea8270a27fd4dfb15676705bed8876442c6b927f682d641b5ca6d12d40817f5aab0f097b4c2016bd1c67aa30b8a7a481f332be00334525f6b4aa4e15f74d845bb1930d688de9866bba6b0bf0269e010f9acec469141c8d563ac75a8f321b33aecb1c221426e647fb89a5a8568314c65a9b3f0ef7b7d712b90b303998a84fe1683c9d3e02d10e4dc7a20473020a5bfa2426e4b8764ae0d4c4c691b50f019e26042ea6ab8c3731330f5e55e7a8c4e1a6063a4230107f9710e2f18632dc499d07808dfb01fb0b71e1d93656c4f200caa50719704d237369ebc1cbe7ffb85f2edd34eb604cfc94e56100259c85df1a3f438c76157e05be597b7a0f3ca5f9f5b1b518006329a64debcdc80a00abcfa77adadf7cf555ddb1677ca420c8f32f9b0390b04961f320885472ec7b827c911457acbc0ac0aa58b6d7da2a467dc23af19d2fc9d71507f2890a1df0a51d9457f89aea38b46643ab380a13000a8c7ce070a531719cba07361f17d915eca4d48e67a674f5dcff5c09d3e946673e7740ccefa3b88af1dd707a4d9a29215aa52eae60f2aae496cb72b5f6bfecf48f19c83019b9a338dcd110120ffbe6f150ba7668e2bc9a278e9f28d882be9a1bbf98299f75eea6d610e060a1edd94d91530d9e2ac5229330269d27d65e16bd69cb5b6c033f2579c02fcc9cae78633e16a00c74d51b0664dfc724adc2aa407dff2cf160a6df62ac39270886e6d014700228fa524e57aafbe2d476cffaac2d7694b5d94680622af57a7545c6434dd132d516e12b581299709c92d1ab695f0be888f33d55ef7efcb2f8b5c96cc5191d3e5f2e14744442e87e066ffc0d5cb7e38537f40026dd7b7d8a37026a5317b518d46678ddda0b720887559b16a394801f07cd370bd512c0364f9bb71738f47ebfd2a6e1b60cbb3f629eaf7e32996b2958e3a1236a8653abb447398b76aa250c2f2830468f48ded346ade86e0f98953473ca4561248e6dbef96c6e6b75a9428600efe9ee85b6605806e07e9413e798d77fab892b4fea097b272650e33dadc0941d2aa0f956f37bda2a8865067284e1b9714506b2f870b3a94eca29112c2f3c1d5df335c958bf79a703ad494056021c083444f6afc346f1484c6e267ccc0af4bef44d95c95d38fc4da9c205d3f01f3f3e749ff2cb5d11ef0acf9f5751907e3254f84f89d3d62fdd1eefdfe350b922f8df609eca46af648000b4a40a73677f4bac3ccbe2ca7b6df27dfa60deb513da9495b85cc837108bcf85ce6fec226aca0072c369ba9ea2553fb7b6bad4403e50fe579e471c730dac177fc12dc6e1a2565dd9ed197c4a302a1884ec56e9bb5dc99ca53103399e94086fa3807be4daf59b872982b51e5a5dd5b45c4a941f4f31777cab22c96329934c584df6f7686e6a85d352fc6bf5c9dd224d9e14de85b12cde2be365a7db2e338f9c7a32e02cc0f95856a76d837dbcdf22d6bf7fb023fd63cb454367fdea955a73846c98a47e6f1792c40609b25fdeb75549c8824d46d7f5f710ad5b6d0c559ecfad231500695170003d19a952d881d29c9e1635a8ca295ba0d8b83044ca10ee4d346c98a47e6f1792c40609b25fdeb75549c8824d46d7f5f710ad5b6d0c559ecfa2874282ee5b3c257c1c989521ce92619f0e30ebe5f58c2fc0b876d6bbccd91ced7e0f4345f06874f51129e7c722fae475237cfb4c27a1bc604a0ef04d32ffa9d5ffb3dc64b360f8635e4e9a14777aae4c0e5f5347035ca276834ed893ee3560ef9647681614ed6797fbe304e3ab5127e7a86218cbd9b51a6fdcfadc7351c61785f7b173d01f59c0391f76452bc3f80f3e05ff87863a6a8c88951b3617ecc25d61ae71d1211276a4739566a61e07388dbfce8facf4438fe03c92042e2ffc0b50f710aef907f753a6a1b97b0336f842724757c77254a7dfc06fbd4fcb754c5aafce2ea652a916d7b92d05969f83a7d4f870c0ec94fbe74acf165c9413cb759bd7043f9006b6b5c5aac224616a7719ad6b4938a7623c51afbb8d515249dc6877f24889b30bd3430e5a229613af5a2d584e3e94279b5512c70c799fad802bf354ff883156ad86e1e9b7f722b2237a47f405a4cdcc15b3aa72af76d323a537985ef1b9b38f08a46e572396b31a951c0a427403a1b660afd069f9eafa6ae257a2638cb04e3151d8d572c2ab16248f1dc8f8562c6f9b58f3ce5109da27b06fc8982966a5c01d07cf53b903a194c8ada1c85129ad288a059cb4b88ac8f5401ea5e0e0483cccac704dd2315b007e870ad67bb27c84c5d30f4b9b1c826ac7123ac8c5d1bad83f34779d8eefa31a37865a93707aedf9e1f604b4c943dfc341c4c64b7be1b86122bf032f78bd99c7f15240409a42adadd5a90ddceb8e7e6096ebe4206ddd339ca962e885b6d4a7fc55dc02da4304e94be481e5aa57dbde7d4f5b494d9eb5a9f368413bb93c326990a8a3815bd12d43cb0c9958bd567669d8a96dbbf9258c790d3ccc5f8ffe2acd7b191525e2d0a06388962c771a2688d6f9fbe3d0d79efaa3e4020413437f476af2766851ccdc78b180f3e0a9f7cecb5fa28436fd6697dd0f6cfae997f8de179f3b3ba2fd8b4a3b07c92dc80796227de2828fb068146460a6cb91887eccb52182416f9f59ed37097c2b6175cea9ea365f0744cb6f6475811e04a766b6c50bc7f1482334b1bda77c99a8c7089977bbbc27b9ea579cabcbee63fafde37f503c3f08e7f4a8907d3d31a7534b532f6ee351bf56d3f76dfea4685fe9b38f08a46e572396b31a951c0a427403a1b660afd069f9eafa6ae257a2638cbde663f171eafcc67c1c371c3eec1bec3ab6432708075dbcca2fb02a2d238d3ba26e886d060753c5385290554c4f814e0a1c6c09f14a811d909f81f30e54adbfa47e53a1db47a4af26d84c911133a59719e3283681a51f00d5bd17a0a65af86be0bf13be08fc2103c88327f3e280f1688cdb4f9642e06bcc5a7b4c6e08f4086435a9fd39e0c294cbddb2390c5bfa1a5c56c9d65000f65b3c4e8e2426676a9163330bc581a6c537de69e86c8a706d856bb86861caebdf027902df73195154291bc9f1677d7c9396a65c103df3c05ca6831f86bb17df2f5ff91b79b891fd108fbebc8ae708418fd85d525091cffafab6e520f2fc089bb6585197a6a2124f4ead82878c0adcfad9b02781fb1cf62196f871b824fa59a1177b1bc861dbc9ac7cd2793e75fd9d79c10ca1f4849a3693d2304674cb6f477c707990b70e0b272185b5732c954475add49896145f1a283c78230cee8a605d1856f86ec70e3df52098e15324888c3b0424f29e4598199bd7f3907037ccbc2cf7694a422efa8a6c9119361ad93f209608583130c3fcc192d187737d27818525f409c1d8f4b067fc2c8aad70a842f562db41fb208145c66e804fe94854a0e44578c5f0597297be414d79332dc4837b03bdf60aecc58b6b42fe75fc0e05389607f4cd93e9b823eb5733d86acf44b0b1eeb9d4cfa3039b568c03372f9d12ad41e1e40093e1a8867d6fc762e5604071a04b43f269b6e6548ab92985a974dc916482136db687d6571e44fc016b5187f6d9b87f217c94dc950bf73b89a2253feb6d9b2ff234e87a630188d33a5e203e580c8cc1ead7040f1e1843279038945eb5fb20659b21f33d1a8c5b4f80851ed5bb11bc2531a8c92edb7931c258ab6f763405d6ae7ce40f5c399e676a8e971cac62a6efc0920e43afc54db80c1828dc49256913303d5c1d39b50e9da851425b533a796c9ee3c5f12aff957f63ba8c41ef33a638108bc57614bbb596f533ce30d620ca23b0901f9a2e2a4a620b3d02abc9569ef68468e92fc9c955872e38f71dfe2be55968de462ec5ca9a309ca8b26064053dc69e1785bf2d0003234f46b91c57b44b6d25bce20c53ec598af2bf0998f60c16387708ec4010ebfb4e24f0c08885a93d3d2c4b4652f31267228279ad5750f3016f8997017c4b0387968f06e456c084e902d307f904b698834523cff96ef4442649e5034e4c67049ba2b7565e2c7564f095cb456f1625de15bf921db66d51d67f3a6c1a2e006430329e44e04a19bb5833a60ec9980f1756422b07fe5f433ae00c0bdfaf9d402620650acff70975e7aecfb377e623b28189c797ab8ee707eb0784e9fc3824e1a7ec8b69399a1fbf938cba66bd40b1bff5ae46df273eaeabf78d2250140abce904e03b6a8db11a4ddd0e7dcc24765701122a05bb09beb98d55595156097141c0a2cb8a906b433eafc83850ec81c9c387e467f6541cd1a1a7bac7ed4b62126197b3aae465947d0956832be80c39604ad98c19ad976db59f74f5f74a093fe3b0f35dc1ec2ae2fc254b96a7951ba6f2be32d9fad31773d41778b5d8790ca67592bcf3e998e1c9063de181c0f6a4bf91bc81fedaf350c40525e1f0112650b63b513cbb3d88b8c3b01ce0024310ee288ed8a3b7ce841bf4776f61fffb7fa91c8a9089dd065ec299c5e14fb47da502211e7d0522fc4c5c6ba1f5eb543bdf2f7f163e34102d3fb398207f5e33800a093eef7b264df9604353a218208a8874e84c157e0b5a2743a33ee364dc8e03f1f9619a9444742f64b72a55bd9e0370a8e3204b19f3ccc58663a74615baclibrte_acl.so.20.0librte_bbdev.so.0.200librte_bitratestats.so.20.0librte_bpf.so.0.200librte_bus_fslmc.so.20.0librte_bus_ifpga.so.20.0librte_bus_pci.so.20.0librte_bus_vdev.so.20.0librte_bus_vmbus.so.20.0librte_cfgfile.so.20.0librte_cmdline.so.20.0librte_common_cpt.so.20.0librte_common_dpaax.so.20.0librte_common_octeontx.so.20.0librte_common_octeontx2.so.20.0librte_compressdev.so.0.200librte_cryptodev.so.20.0librte_eal.so.20.0librte_efd.so.20.0librte_ethdev.so.20.0librte_eventdev.so.20.0librte_fib.so.0.200librte_flow_classify.so.0.200librte_gro.so.20.0librte_gso.so.20.0librte_hash.so.20.0librte_ip_frag.so.20.0librte_ipsec.so.0.200librte_jobstats.so.20.0librte_kni.so.20.0librte_kvargs.so.20.0librte_latencystats.so.20.0librte_lpm.so.20.0librte_mbuf.so.20.0librte_member.so.20.0librte_mempool.so.20.0librte_mempool_bucket.so.20.0librte_mempool_dpaa2.so.20.0librte_mempool_octeontx.so.20.0librte_mempool_octeontx2.so.20.0librte_mempool_ring.so.20.0librte_mempool_stack.so.20.0librte_meter.so.20.0librte_metrics.so.20.0librte_net.so.20.0librte_pci.so.20.0librte_pdump.so.20.0librte_pipeline.so.20.0librte_pmd_af_packet.so.20.0librte_pmd_ark.so.20.0librte_pmd_atlantic.so.20.0librte_pmd_axgbe.so.20.0librte_pmd_bbdev_fpga_lte_fec.so.20.0librte_pmd_bbdev_null.so.20.0librte_pmd_bbdev_turbo_sw.so.20.0librte_pmd_bnx2x.so.20.0librte_pmd_bnxt.so.20.0librte_pmd_bond.so.20.0librte_pmd_crypto_scheduler.so.20.0librte_pmd_cxgbe.so.20.0librte_pmd_dpaa2.so.20.0librte_pmd_dpaa2_event.so.20.0librte_pmd_dpaa2_sec.so.20.0librte_pmd_dsw_event.so.20.0librte_pmd_e1000.so.20.0librte_pmd_ena.so.20.0librte_pmd_enetc.so.20.0librte_pmd_enic.so.20.0librte_pmd_failsafe.so.20.0librte_pmd_hinic.so.20.0librte_pmd_hns3.so.20.0librte_pmd_i40e.so.20.0librte_pmd_iavf.so.20.0librte_pmd_ice.so.20.0librte_pmd_ifc.so.20.0librte_pmd_ixgbe.so.20.0librte_pmd_kni.so.20.0librte_pmd_lio.so.20.0librte_pmd_memif.so.20.0librte_pmd_mlx4.so.20.0librte_pmd_mlx5.so.20.0librte_pmd_netvsc.so.20.0librte_pmd_nfp.so.20.0librte_pmd_nitrox.so.20.0librte_pmd_null.so.20.0librte_pmd_null_crypto.so.20.0librte_pmd_octeontx.so.20.0librte_pmd_octeontx2.so.20.0librte_pmd_octeontx2_crypto.so.20.0librte_pmd_octeontx2_event.so.20.0librte_pmd_octeontx_crypto.so.20.0librte_pmd_octeontx_ssovf.so.20.0librte_pmd_octeontx_zip.so.20.0librte_pmd_opdl_event.so.20.0librte_pmd_pcap.so.20.0librte_pmd_qat.so.20.0librte_pmd_qede.so.20.0librte_pmd_ring.so.20.0librte_pmd_skeleton_event.so.20.0librte_pmd_softnic.so.20.0librte_pmd_sw_event.so.20.0librte_pmd_tap.so.20.0librte_pmd_thunderx_nicvf.so.20.0librte_pmd_vdev_netvsc.so.20.0librte_pmd_vhost.so.20.0librte_pmd_virtio.so.20.0librte_pmd_virtio_crypto.so.20.0librte_pmd_vmxnet3_uio.so.20.0librte_port.so.20.0librte_power.so.20.0librte_rawdev.so.20.0librte_rawdev_dpaa2_cmdif.so.20.0librte_rawdev_dpaa2_qdma.so.20.0librte_rawdev_ntb.so.20.0librte_rawdev_octeontx2_dma.so.20.0librte_rawdev_skeleton.so.20.0librte_rcu.so.0.200librte_reorder.so.20.0librte_rib.so.0.200librte_ring.so.20.0librte_sched.so.20.0librte_security.so.20.0librte_stack.so.0.200librte_table.so.20.0librte_timer.so.20.0librte_vhost.so.20.0../../../include/dpdk../../../lib64freebsdlinuxrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-thunderx-19.11.10-150500.5.14.3.src.rpmdpdk-any-develdpdk-thunderx-develdpdk-thunderx-devel(aarch-64)@@@@     /bin/sh/sbin/ldconfig/sbin/ldconfig/usr/bin/python3libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libdpdk-20_0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)19.11.103.0.4-14.6.0-14.0.4-14.0-15.2-1dpdk-any-devel4.14.3f@f@fxfLe@cwsc5c47@bK@bja?=@a;H`]`f@`_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= 5.9. Also see here: http://inbox.dpdk.org/users/CAJFAV8w8ozEkdSKdBHEHXJDxpChorGa1jUsNEcPMptG30bWykw@mail.gmail.com/T- 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 (bsc#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- Update to 19.11.4. For a list of fixes check: https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#id8 - Add patch to resolve build error reported in Staging:E project where a kernel backport (jsc#SLE-13536) introduced backward incompatible changes to the API that break kni module build * 0001-SLE15-SP3-compatibility-patch-for-kni.patch- update to v19.11.3: app/crypto-perf: fix display of sample test vector app/eventdev: check Tx adapter service ID app: fix usage help of options separated by dashes app/pipeline: fix build with gcc 10 app: remove extra new line after link duplex app/testpmd: add parsing for QinQ VLAN headers app/testpmd: fix DCB set app/testpmd: fix memory failure handling for i40e DDP app/testpmd: fix PPPoE flow command app/testpmd: fix statistics after reset baseband/turbo_sw: fix exposed LLR decimals assumption bbdev: fix doxygen comments build: disable gcc 10 zero-length-bounds warning build: fix linker warnings with clang on Windows build: support MinGW-w64 with Meson buildtools: get static mlx dependencies for meson bus/fslmc: fix dereferencing null pointer bus/fslmc: fix size of qman fq descriptor bus/pci: fix devargs on probing again bus/pci: fix UIO resource access from secondary process bus/vmbus: fix comment spelling ci: fix telemetry dependency in Travis common/iavf: update copyright common/mlx5: fix build with -fno-common common/mlx5: fix build with rdma-core 21 common/mlx5: fix netlink buffer allocation from stack common/mlx5: fix umem buffer alignment common/octeontx: fix gcc 9.1 ABI break common/qat: fix GEN3 marketing name contigmem: cleanup properly when load fails crypto/caam_jr: fix check of file descriptors crypto/caam_jr: fix IRQ functions return type crypto/ccp: fix fd leak on probe failure cryptodev: add asymmetric session-less feature name cryptodev: fix missing device id range checking cryptodev: fix SHA-1 digest enum comment crypto/kasumi: fix extern declaration crypto/nitrox: fix CSR register address generation crypto/nitrox: fix oversized device name crypto/octeontx2: fix build with gcc 10 crypto/openssl: fix out-of-place encryption crypto/qat: fix cipher descriptor for ZUC and SNOW crypto/qat: support plain SHA1..SHA512 hashes devtools: fix symbol map change check doc: add i40e limitation for flow director doc: add NASM installation steps doc: fix API index doc: fix build issue in ABI guide doc: fix build with doxygen 1.8.18 doc: fix default symbol binding in ABI guide doc: fix log level example in Linux guide doc: fix LTO config option doc: fix matrix CSS for recent sphinx doc: fix multicast filter feature announcement doc: fix number of failsafe sub-devices doc: fix reference in ABI guide doc: fix sphinx compatibility doc: fix typo in contributors guide doc: fix typo in contributors guide doc: fix typos in ABI policy doc: prefer https when pointing to dpdk.org drivers: add crypto as dependency for event drivers drivers/crypto: disable gcc 10 no-common errors drivers/crypto: fix build with make 4.3 drivers/crypto: fix log type variables for -fno-common drivers: fix log type variables for -fno-common eal/arm64: fix precise TSC eal: fix C++17 compilation eal: fix comments spelling eal: fix log message print for regex eal: fix PRNG init with HPET enabled eal: fix typo in endian conversion macros eal/freebsd: fix queuing duplicate alarm callbacks eal/ppc: fix bool type after altivec include eal/ppc: fix build with gcc 9.3 eal/x86: ignore gcc 10 stringop-overflow warnings ethdev: fix build when vtune profiling is on ethdev: fix spelling eventdev: fix probe and remove for secondary process event/dsw: avoid reusing previously recorded events event/dsw: fix enqueue burst return value event/dsw: remove redundant control ring poll event/dsw: remove unnecessary read barrier event/octeontx2: fix build for O1 optimization event/octeontx2: fix queue removal from Rx adapter examples/eventdev: fix build with gcc 10 examples/eventdev: fix crash on exit examples/fips_validation: fix parsing of algorithms examples/ip_pipeline: remove check of null response examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning examples/kni: fix crash during MTU set examples/kni: fix MTU change to setup Tx queue examples/l2fwd-keepalive: fix mbuf pool size examples/qos_sched: fix build with gcc 10 examples: remove extra new line after link duplex examples/vhost_blk: fix build with gcc 10 examples/vmdq: fix output of pools/queues examples/vmdq: fix RSS configuration examples/vm_power: drop Unix path limit redefinition examples/vm_power: fix build with -fno-common fib: fix headers for C++ support fix same typo in multiple places fix various typos found by Lintian ipsec: check SAD lookup error ipsec: fix build dependency on hash lib kvargs: fix buffer overflow when parsing list kvargs: fix invalid token parsing on FreeBSD kvargs: fix strcmp helper documentation log: fix level picked with globbing on type register lpm6: fix comments spelling lpm6: fix size of tbl8 group mem: fix overflow on allocation mem: mark pages as not accessed when freeing memory mem: mark pages as not accessed when reserving VA mempool/dpaa2: install missing header with meson mempool/octeontx2: fix build for gcc O1 optimization mempool: remove inline functions from export list mem: preallocate VA space in no-huge mode mk: fix static linkage of mlx dependency net/avp: fix gcc 10 maybe-uninitialized warning net/bnxt: do not use PMD log type net/bnxt: fix error log for command timeout net/bnxt: fix FW version query net/bnxt: fix HWRM command during FW reset net/bnxt: fix max ring count net/bnxt: fix memory leak during queue restart net/bnxt: fix number of TQM ring net/bnxt: fix port start failure handling net/bnxt: fix possible stack smashing net/bnxt: fix Rx ring producer index net/bnxt: fix storing MAC address twice net/bnxt: fix TQM ring context memory size net/bnxt: fix using RSS config struct net/bnxt: fix VLAN add when port is stopped net/bnxt: fix VNIC Rx queue count on VNIC free net/bnxt: use true/false for bool types net/dpaa2: fix 10G port negotiation net/dpaa2: fix congestion ID for multiple traffic classes net/dpaa: use dynamic log type net/e1000: fix port hotplug for multi-process net/ena/base: fix documentation of functions net/ena/base: fix indentation in CQ polling net/ena/base: fix indentation of multiple defines net/ena/base: fix testing for supported hash function net/ena/base: make allocation macros thread-safe net/ena/base: prevent allocation of zero sized memory net/ena: fix build for O1 optimization net/ena: set IO ring size to valid value net/enetc: fix Rx lock-up net/enic: fix flow action reordering net/failsafe: fix fd leak net/hinic: allocate IO memory with socket id net/hinic/base: fix PF firmware hot-active problem net/hinic/base: fix port start during FW hot update net/hinic: fix LRO net/hinic: fix queues resource free net/hinic: fix repeating cable log and length check net/hinic: fix snprintf length of cable info net/hinic: fix TSO net/hinic: fix Tx mbuf length while copying net/hns3: add free threshold in Rx net/hns3: add RSS hash offload to capabilities net/hns3: clear residual flow rules on init net/hns3: fix configuring illegal VLAN PVID net/hns3: fix configuring RSS hash when rules are flushed net/hns3: fix crash when flushing RSS flow rules with FLR net/hns3: fix default error code of command interface net/hns3: fix default VLAN filter configuration for PF net/hns3: fix mailbox opcode data type net/hns3: fix MSI-X interrupt during initialization net/hns3: fix packets offload features flags in Rx net/hns3: fix promiscuous mode for PF net/hns3: fix return value of setting VLAN offload net/hns3: fix return value when clearing statistics net/hns3: fix RSS indirection table configuration net/hns3: fix RSS key length net/hns3: fix Rx interrupt after reset net/hns3: fix status after repeated resets net/hns3: fix Tx interrupt when enabling Rx interrupt net/hns3: fix VLAN filter when setting promisucous mode net/hns3: fix VLAN PVID when configuring device net/hns3: reduce judgements of free Tx ring space net/hns3: remove one IO barrier in Rx net/hns3: remove unnecessary assignments in Tx net/hns3: replace memory barrier with data dependency order net/hns3: support different numbers of Rx and Tx queues net/hns3: support Rx interrupt net/i40e/base: update copyright net/i40e: fix flow director enabling net/i40e: fix flow director for ARP packets net/i40e: fix flow director initialisation net/i40e: fix flush of flow director filter net/i40e: fix queue region in RSS flow net/i40e: fix queue related exception handling net/i40e: fix setting L2TAG net/i40e: fix wild pointer net/i40e: fix X722 performance net/i40e: relax barrier in Tx net/i40e: relax barrier in Tx for NEON net/iavf: fix link speed net/iavf: fix setting L2TAG net/iavf: fix stats query error code net/ice: add action number check for switch net/ice/base: check memory pointer before copying net/ice/base: fix binary order for GTPU filter net/ice/base: fix MAC write command net/ice/base: fix uninitialized stack variables net/ice/base: minor fixes net/ice/base: read PSM clock frequency from register net/ice/base: remove unused code in switch rule net/ice/base: update copyright net/ice: change default tunnel type net/ice: fix crash in switch filter net/ice: fix hash flow crash net/ice: fix input set of VLAN item net/ice: fix RSS advanced rule net/ice: fix RSS for GTPU net/ice: fix setting L2TAG net/ice: fix variable initialization net/ice: remove bulk alloc option net/ice: remove unnecessary variable net/ice: support mark only action for flow director net/ipn3ke: use control thread to check link status net/ixgbe/base: update copyright net/ixgbe: check driver type in MACsec API net/ixgbe: fix link state timing on fiber ports net/ixgbe: fix link status after port reset net/ixgbe: fix link status inconsistencies net/ixgbe: fix link status synchronization on BSD net/ixgbe: fix resource leak after thread exits normally net/ixgbe: fix statistics in flow control mode net/memif: fix init when already connected net/memif: fix resource leak net/mlx4: fix build with -fno-common net/mlx4: fix drop queue error handling net/mlx5: add device parameter for MPRQ stride size net/mlx5: add multi-segment packets in MPRQ mode net/mlx5: enable MPRQ multi-stride operations net/mlx5: fix actions validation on root table net/mlx5: fix assert in doorbell lookup net/mlx5: fix assert in dynamic metadata handling net/mlx5: fix assert in modify converting net/mlx5: fix build with separate glue lib for dlopen net/mlx5: fix call to modify action without init item net/mlx5: fix counter container usage net/mlx5: fix crash when releasing meter table net/mlx5: fix CVLAN tag set in IP item translation net/mlx5: fix doorbell bitmap management offsets net/mlx5: fix gcc 10 enum-conversion warning net/mlx5: fix header modify action validation net/mlx5: fix imissed counter overflow net/mlx5: fix jump table leak net/mlx5: fix mask used for IPv6 item validation net/mlx5: fix matching for UDP tunnels with Verbs net/mlx5: fix match on empty VLAN item in DV mode net/mlx5: fix metadata for compressed Rx CQEs net/mlx5: fix meter color register consideration net/mlx5: fix meter suffix table leak net/mlx5: fix packet length assert in MPRQ net/mlx5: fix push VLAN action to use item info net/mlx5: fix RSS enablement net/mlx5: fix RSS key copy to TIR context net/mlx5: fix Tx queue release debug log timing net/mlx5: fix validation of push VLAN without full mask net/mlx5: fix validation of VXLAN/VXLAN-GPE specs net/mlx5: fix VLAN flow action with wildcard VLAN item net/mlx5: fix VLAN ID check net/mlx5: fix VLAN PCP item calculation net/mlx5: fix zero metadata action net/mlx5: fix zero value validation for metadata net/mlx5: improve logging of MPRQ selection net/mlx5: reduce Tx completion index memory loads net/mlx5: set dynamic flow metadata in Rx queues net/mlx5: update VLAN and encap actions validation net/mlx5: use open/read/close for ib stats query net/mvneta: do not use PMD log type net/mvpp2: fix build with gcc 10 net/netvsc: avoid possible live lock net/netvsc: do not configure RSS if disabled net/netvsc: do RSS across Rx queue only net/netvsc: fix comment spelling net/netvsc: fix memory free on device close net/netvsc: handle Rx packets during multi-channel setup net/netvsc: handle Tx completions based on burst size net/netvsc: propagate descriptor limits from VF net/netvsc: remove process event optimization net/netvsc: split send buffers from Tx descriptors net/nfp: fix dangling pointer on probe failure net/nfp: fix log format specifiers net/null: fix secondary burst function selection net/null: remove redundant check net/octeontx2: disable unnecessary error interrupts net/octeontx2: enable error and RAS interrupt in configure net/octeontx2: fix buffer size assignment net/octeontx2: fix device configuration sequence net/octeontx2: fix link information for loopback port net/octeontx: fix dangling pointer on init failure net/octeontx: fix meson build for disabled drivers net/pfe: do not use PMD log type net/pfe: fix double free of MAC address net/qede: fix link state configuration net/qede: fix port reconfiguration net/ring: fix device pointer on allocation net/sfc/base: fix build when EVB is enabled net/sfc/base: fix manual filter delete in EF10 net/sfc/base: handle manual and auto filter clashes in EF10 net/sfc/base: reduce filter priorities to implemented only net/sfc/base: refactor filter lookup loop in EF10 net/sfc/base: reject automatic filter creation by users net/sfc/base: use simpler EF10 family conditional check net/sfc/base: use simpler EF10 family run-time checks net/sfc: fix initialization error path net/sfc: fix promiscuous and allmulticast toggles errors net/sfc: fix reported promiscuous/multicast mode net/sfc: fix Rx queue start failure path net/sfc: set priority of created filters to manual net/softnic: fix memory leak for thread net/softnic: fix resource leak for pipeline net/tap: do not use PMD log type net/tap: fix check for mbuf number of segment net/tap: fix crash in flow destroy net/tap: fix fd leak on creation failure net/tap: fix file close on remove net/tap: fix mbuf and mem leak during queue release net/tap: fix mbuf double free when writev fails net/tap: fix queues fd check before close net/tap: fix unexpected link handler net/tap: remove unused assert net/thunderx: use dynamic log type net/vhost: fix potential memory leak on close net/virtio: do not use PMD log type net/virtio: fix crash when device reconnecting net/virtio: fix outdated comment net/virtio: fix unexpected event after reconnect net/virtio-user: fix devargs parsing net/vmxnet3: fix RSS setting on v4 net/vmxnet3: handle bad host framing pci: accept 32-bit domain numbers pci: fix build on FreeBSD pci: fix build on ppc pci: reject negative values in PCI id pci: remove unneeded includes in public header file remove references to private PCI probe function Revert “common/qat: fix GEN3 marketing name” Revert “net/bnxt: fix number of TQM ring” Revert “net/bnxt: fix TQM ring context memory size” security: fix crash at accessing non-implemented ops security: fix return types in documentation security: fix session counter security: fix verification of parameters service: fix crash on exit service: fix identification of service running on other lcore service: fix race condition for MT unsafe service service: remove rte prefix from static functions telemetry: fix port stats retrieval test/crypto: fix flag check test/crypto: fix statistics case test: fix build with gcc 10 test/flow_classify: enable multi-sockets system test/ipsec: fix crash in session destroy test/kvargs: fix invalid cases check test/kvargs: fix to consider empty elements as valid test: load drivers when required test: remove redundant macro test: skip some subtests in no-huge mode timer: protect initialization with lock usertools: check for pci.ids in /usr/share/misc vfio: fix race condition with sysfs vfio: fix use after free with multiprocess vhost/crypto: add missing user protocol flag vhost: fix packed ring zero-copy vhost: fix peer close check vhost: fix shadowed descriptors not flushed vhost: fix shadow update vhost: fix zero-copy server mode vhost: handle mbuf allocation failure vhost: make IOTLB cache name unique among processes vhost: prevent zero-copy with incompatible client mode vhost: remove unused variable - remove the security backport patches as they're already included upstream: * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch * 0002-vhost-fix-vring-index-check.patch * 0003-vhost-crypto-validate-keys-lengths.patch * 0004-vhost-fix-translated-address-not-checked.patch * 0005-vhost-fix-potential-memory-space-leak.patch * 0006-vhost-fix-potential-fd-leak.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 * 0004-vhost-fix-translated-address-not-checked.patch * 0005-vhost-fix-potential-memory-space-leak.patch * 0006-vhost-fix-potential-fd-leak.patch- Update to v19.11.1. For a list of changes, check: * https://doc.dpdk.org/guides/rel_notes/release_19_11.html#new-features - Removed patches no longer applying to the code base: * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch * 0002-fix-cpu-compatibility.patch - Rebased patches: * 0001-fix-cpu-compatibility.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 - Removed patrches already included upstream: * dpdk-fix-implicit-fallthrough-warning.patch- Changed to multibuild (bsc#1151455). - Added dpdk-fix-implicit-fallthrough-warning.patch to address build error with recent kernels (bsc#1144704).- Minor Update to 18.11.2 * List of fixes can be found in https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes- Add missing libmnl-devel- remove -Wno-error=array-bounds as its no longer needed - disable i586 build because lack of sse support- Add 0002-fix-cpu-compatibility.patch to address issue with older CPUs (bsc#1125961, bsc#1099474) [+ 0002-fix-cpu-compatibility.patch]- Update to 18.11; some of the changes are(fate#325916, fate#325951 fate#326025, fate#326992, bsc#1134968, jira#SLE-4715) : * 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]- Enable missed MLX PMDs for SLE12SP4 (bsc#1112307)- 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- Fixed a syntax error affecting csh environment configuration(bsc#1102310)- Update to 18.02.2; some of the changes are: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx4/mlx5 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added GRO support for VxLAN-tunneled packets - Removed 0002-dpdk-eal-ppc-rte_smp_mb.patch since incorporated upstream- Update to 18.02.1 - 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- Enable MLX4/5 PMD only in Factory and >= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- 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)/sbin/ldconfig/sbin/ldconfig  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     19.11.1019.11.10-150500.5.14.319.11.10-150500.5.14.3          !"#$%&'()* +,, -..-//-00dpdk-sdk-aarch64.cshdpdk-sdk-aarch64.shdpdkbpf_def.hcmdline.hcmdline_cirbuf.hcmdline_parse.hcmdline_parse_etheraddr.hcmdline_parse_ipaddr.hcmdline_parse_num.hcmdline_parse_portlist.hcmdline_parse_string.hcmdline_rdline.hcmdline_socket.hcmdline_vt100.hfpga_lte_fec.hgenericrte_atomic.hrte_byteorder.hrte_cpuflags.hrte_cycles.hrte_io.hrte_mcslock.hrte_memcpy.hrte_pause.hrte_prefetch.hrte_rwlock.hrte_spinlock.hrte_ticketlock.hrte_vect.hrte_acl.hrte_acl_osdep.hrte_alarm.hrte_approx.hrte_arp.hrte_atomic.hrte_atomic_32.hrte_atomic_64.hrte_bbdev.hrte_bbdev_op.hrte_bbdev_pmd.hrte_bitmap.hrte_bitrate.hrte_bpf.hrte_bpf_ethdev.hrte_branch_prediction.hrte_bus.hrte_bus_ifpga.hrte_bus_pci.hrte_bus_vdev.hrte_bus_vmbus.hrte_byteorder.hrte_cfgfile.hrte_class.hrte_common.hrte_comp.hrte_compat.hrte_compressdev.hrte_compressdev_internal.hrte_compressdev_pmd.hrte_config.hrte_cpuflags.hrte_cpuflags_32.hrte_cpuflags_64.hrte_crc_arm64.hrte_crypto.hrte_crypto_asym.hrte_crypto_sym.hrte_cryptodev.hrte_cryptodev_pmd.hrte_cryptodev_scheduler.hrte_cryptodev_scheduler_operations.hrte_cycles.hrte_cycles_32.hrte_cycles_64.hrte_debug.hrte_dev.hrte_dev_info.hrte_devargs.hrte_dpaa2_mempool.hrte_eal.hrte_eal_interrupts.hrte_eal_memconfig.hrte_efd.hrte_errno.hrte_esp.hrte_eth_bond.hrte_eth_bond_8023ad.hrte_eth_ctrl.hrte_eth_ring.hrte_eth_softnic.hrte_eth_vhost.hrte_ethdev.hrte_ethdev_core.hrte_ethdev_driver.hrte_ethdev_pci.hrte_ethdev_vdev.hrte_ether.hrte_event_crypto_adapter.hrte_event_eth_rx_adapter.hrte_event_eth_tx_adapter.hrte_event_ring.hrte_event_timer_adapter.hrte_event_timer_adapter_pmd.hrte_eventdev.hrte_eventdev_pmd.hrte_eventdev_pmd_pci.hrte_eventdev_pmd_vdev.hrte_fbarray.hrte_fbk_hash.hrte_fib.hrte_fib6.hrte_flow.hrte_flow_classify.hrte_flow_driver.hrte_function_versioning.hrte_gre.hrte_gro.hrte_gso.hrte_gtp.hrte_hash.hrte_hash_crc.hrte_hexdump.hrte_higig.hrte_hypervisor.hrte_icmp.hrte_interrupts.hrte_io.hrte_io_64.hrte_ip.hrte_ip_frag.hrte_ipsec.hrte_ipsec_group.hrte_ipsec_sa.hrte_ipsec_sad.hrte_jhash.hrte_jobstats.hrte_keepalive.hrte_kni.hrte_kni_common.hrte_kvargs.hrte_latencystats.hrte_launch.hrte_lcore.hrte_log.hrte_lpm.hrte_lpm6.hrte_lpm_neon.hrte_lru.hrte_lru_arm64.hrte_malloc.hrte_mbuf.hrte_mbuf_core.hrte_mbuf_dyn.hrte_mbuf_pool_ops.hrte_mbuf_ptype.hrte_mcslock.hrte_member.hrte_memcpy.hrte_memcpy_32.hrte_memcpy_64.hrte_memory.hrte_mempool.hrte_memzone.hrte_meter.hrte_metrics.hrte_mpls.hrte_mtr.hrte_mtr_driver.hrte_net.hrte_net_crc.hrte_option.hrte_os.hrte_pause.hrte_pause_32.hrte_pause_64.hrte_pci.hrte_pci_dev_feature_defs.hrte_pci_dev_features.hrte_pdump.hrte_per_lcore.hrte_pipeline.hrte_pmd_bnxt.hrte_pmd_dpaa2.hrte_pmd_dpaa2_cmdif.hrte_pmd_dpaa2_qdma.hrte_pmd_i40e.hrte_pmd_ice.hrte_pmd_ixgbe.hrte_pmd_ntb.hrte_port.hrte_port_ethdev.hrte_port_eventdev.hrte_port_fd.hrte_port_frag.hrte_port_in_action.hrte_port_kni.hrte_port_ras.hrte_port_ring.hrte_port_sched.hrte_port_source_sink.hrte_port_sym_crypto.hrte_power.hrte_power_empty_poll.hrte_power_guest_channel.hrte_prefetch.hrte_prefetch_32.hrte_prefetch_64.hrte_random.hrte_rawdev.hrte_rawdev_pmd.hrte_rcu_qsbr.hrte_reciprocal.hrte_red.hrte_reorder.hrte_rib.hrte_rib6.hrte_ring.hrte_ring_c11_mem.hrte_ring_generic.hrte_rwlock.hrte_sched.hrte_sched_common.hrte_sctp.hrte_security.hrte_security_driver.hrte_service.hrte_service_component.hrte_spinlock.hrte_stack.hrte_stack_lf.hrte_stack_lf_c11.hrte_stack_lf_generic.hrte_stack_lf_stubs.hrte_stack_std.hrte_string_fns.hrte_table.hrte_table_acl.hrte_table_action.hrte_table_array.hrte_table_hash.hrte_table_hash_cuckoo.hrte_table_hash_func.hrte_table_hash_func_arm64.hrte_table_lpm.hrte_table_lpm_ipv6.hrte_table_stub.hrte_tailq.hrte_tcp.hrte_test.hrte_thash.hrte_ticketlock.hrte_time.hrte_timer.hrte_tm.hrte_tm_driver.hrte_udp.hrte_uuid.hrte_vdpa.hrte_vect.hrte_version.hrte_vfio.hrte_vhost.hrte_vhost_crypto.hrte_vmbus_reg.hrte_vxlan.hlibdpdk.solibrte_acl.solibrte_bbdev.solibrte_bitratestats.solibrte_bpf.solibrte_bus_fslmc.solibrte_bus_ifpga.solibrte_bus_pci.solibrte_bus_vdev.solibrte_bus_vmbus.solibrte_cfgfile.solibrte_cmdline.solibrte_common_cpt.solibrte_common_dpaax.solibrte_common_octeontx.solibrte_common_octeontx2.solibrte_compressdev.solibrte_cryptodev.solibrte_eal.solibrte_efd.solibrte_ethdev.solibrte_eventdev.solibrte_fib.solibrte_flow_classify.solibrte_gro.solibrte_gso.solibrte_hash.solibrte_ip_frag.solibrte_ipsec.solibrte_jobstats.solibrte_kni.solibrte_kvargs.solibrte_latencystats.solibrte_lpm.solibrte_mbuf.solibrte_member.solibrte_mempool.solibrte_mempool_bucket.solibrte_mempool_dpaa2.solibrte_mempool_octeontx.solibrte_mempool_octeontx2.solibrte_mempool_ring.solibrte_mempool_stack.solibrte_meter.solibrte_metrics.solibrte_net.solibrte_pci.solibrte_pdump.solibrte_pipeline.solibrte_pmd_af_packet.solibrte_pmd_ark.solibrte_pmd_atlantic.solibrte_pmd_axgbe.solibrte_pmd_bbdev_fpga_lte_fec.solibrte_pmd_bbdev_null.solibrte_pmd_bbdev_turbo_sw.solibrte_pmd_bnx2x.solibrte_pmd_bnxt.solibrte_pmd_bond.solibrte_pmd_crypto_scheduler.solibrte_pmd_cxgbe.solibrte_pmd_dpaa2.solibrte_pmd_dpaa2_event.solibrte_pmd_dpaa2_sec.solibrte_pmd_dsw_event.solibrte_pmd_e1000.solibrte_pmd_ena.solibrte_pmd_enetc.solibrte_pmd_enic.solibrte_pmd_failsafe.solibrte_pmd_hinic.solibrte_pmd_hns3.solibrte_pmd_i40e.solibrte_pmd_iavf.solibrte_pmd_ice.solibrte_pmd_ifc.solibrte_pmd_ixgbe.solibrte_pmd_kni.solibrte_pmd_lio.solibrte_pmd_memif.solibrte_pmd_mlx4.solibrte_pmd_mlx5.solibrte_pmd_netvsc.solibrte_pmd_nfp.solibrte_pmd_nitrox.solibrte_pmd_null.solibrte_pmd_null_crypto.solibrte_pmd_octeontx.solibrte_pmd_octeontx2.solibrte_pmd_octeontx2_crypto.solibrte_pmd_octeontx2_event.solibrte_pmd_octeontx_crypto.solibrte_pmd_octeontx_ssovf.solibrte_pmd_octeontx_zip.solibrte_pmd_opdl_event.solibrte_pmd_pcap.solibrte_pmd_qat.solibrte_pmd_qede.solibrte_pmd_ring.solibrte_pmd_skeleton_event.solibrte_pmd_softnic.solibrte_pmd_sw_event.solibrte_pmd_tap.solibrte_pmd_thunderx_nicvf.solibrte_pmd_vdev_netvsc.solibrte_pmd_vhost.solibrte_pmd_virtio.solibrte_pmd_virtio_crypto.solibrte_pmd_vmxnet3_uio.solibrte_port.solibrte_power.solibrte_rawdev.solibrte_rawdev_dpaa2_cmdif.solibrte_rawdev_dpaa2_qdma.solibrte_rawdev_ntb.solibrte_rawdev_octeontx2_dma.solibrte_rawdev_skeleton.solibrte_rcu.solibrte_reorder.solibrte_rib.solibrte_ring.solibrte_sched.solibrte_security.solibrte_stack.solibrte_table.solibrte_timer.solibrte_vhost.sodpdkarm64-thunderx-linux-gcc.configappdpdk-pmdinfogenincludelibbuildtoolsMakefileauto-config-h.shcall-sphinx-build.pycheck-experimental-syms.shgen-build-mk.shgen-config-h.shgen-pmdinfo-cfile.shmap-list-symbol.shmap_to_def.pymeson.buildoptions-ibverbs-static.shpmdinfogenMakefilemeson.buildpmdinfogen.cpmdinfogen.hrelpath.shsymlink-drivers-solibs.shmkarcharmrte.vars.mkarm64rte.vars.mki686rte.vars.mkppc_64rte.vars.mkx86_64rte.vars.mkx86_x32rte.vars.mkexec-envbsdappfreebsdrte.app.mkrte.vars.mklinuxrte.app.mkrte.vars.mklinuxappinternalrte.build-post.mkrte.build-pre.mkrte.clean-post.mkrte.clean-pre.mkrte.compile-post.mkrte.compile-pre.mkrte.extvars.mkrte.install-post.mkrte.install-pre.mkmachinearmv7arte.vars.mkarmv8arte.vars.mkdefaultrte.vars.mkdpaarte.vars.mkemagrte.vars.mkgraviton2rte.vars.mkhswrte.vars.mkivbrte.vars.mkn1sdprte.vars.mknativerte.vars.mknhmrte.vars.mkocteontx2rte.vars.mkpower8rte.vars.mksilvermontrte.vars.mksnbrte.vars.mkthunderxrte.vars.mkthunderx2rte.vars.mkwsmrte.vars.mkxgene1rte.vars.mkrte.app.mkrte.bsdmodule.mkrte.combinedlib.mkrte.cpuflags.mkrte.extapp.mkrte.extlib.mkrte.extobj.mkrte.extshared.mkrte.extsubdir.mkrte.gnuconfigure.mkrte.helper.mkrte.hostapp.mkrte.hostlib.mkrte.install.mkrte.lib.mkrte.module.mkrte.obj.mkrte.sdkbuild.mkrte.sdkconfig.mkrte.sdkdepdirs.mkrte.sdkdoc.mkrte.sdkexamples.mkrte.sdkgcov.mkrte.sdkinstall.mkrte.sdkroot.mkrte.sdktest.mkrte.shared.mkrte.subdir.mkrte.vars.mktargetgenericrte.app.mkrte.vars.mktoolchainclangrte.toolchain-compat.mkrte.vars.mkgccrte.toolchain-compat.mkrte.vars.mkiccrte.toolchain-compat.mkrte.vars.mk/etc/profile.d//usr/include//usr/include/dpdk//usr/include/dpdk/generic//usr/lib64//usr/share//usr/share/dpdk//usr/share/dpdk/arm64-thunderx-linux-gcc//usr/share/dpdk/arm64-thunderx-linux-gcc/app//usr/share/dpdk/buildtools//usr/share/dpdk/buildtools/pmdinfogen//usr/share/dpdk/mk//usr/share/dpdk/mk/arch//usr/share/dpdk/mk/arch/arm//usr/share/dpdk/mk/arch/arm64//usr/share/dpdk/mk/arch/i686//usr/share/dpdk/mk/arch/ppc_64//usr/share/dpdk/mk/arch/x86_64//usr/share/dpdk/mk/arch/x86_x32//usr/share/dpdk/mk/exec-env//usr/share/dpdk/mk/exec-env/freebsd//usr/share/dpdk/mk/exec-env/linux//usr/share/dpdk/mk/internal//usr/share/dpdk/mk/machine//usr/share/dpdk/mk/machine/armv7a//usr/share/dpdk/mk/machine/armv8a//usr/share/dpdk/mk/machine/default//usr/share/dpdk/mk/machine/dpaa//usr/share/dpdk/mk/machine/emag//usr/share/dpdk/mk/machine/graviton2//usr/share/dpdk/mk/machine/hsw//usr/share/dpdk/mk/machine/ivb//usr/share/dpdk/mk/machine/n1sdp//usr/share/dpdk/mk/machine/native//usr/share/dpdk/mk/machine/nhm//usr/share/dpdk/mk/machine/octeontx2//usr/share/dpdk/mk/machine/power8//usr/share/dpdk/mk/machine/silvermont//usr/share/dpdk/mk/machine/snb//usr/share/dpdk/mk/machine/thunderx//usr/share/dpdk/mk/machine/thunderx2//usr/share/dpdk/mk/machine/wsm//usr/share/dpdk/mk/machine/xgene1//usr/share/dpdk/mk/target//usr/share/dpdk/mk/target/generic//usr/share/dpdk/mk/toolchain//usr/share/dpdk/mk/toolchain/clang//usr/share/dpdk/mk/toolchain/gcc//usr/share/dpdk/mk/toolchain/icc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:35175/SUSE_SLE-15-SP5_Update/1ea53eabbdcf0695505684089f8937b2-dpdk.SUSE_SLE-15-SP5_Update:thunderxdrpmxz5aarch64-suse-linux   ASCII textdirectoryC source, ASCII textC source, UTF-8 Unicode textASCII text, with very long linesELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2a66eff3c68d31254c6a5ef44dabff1f3c46d5fb, for GNU/Linux 3.7.0, strippedPOSIX shell script, ASCII text executablea /usr/bin/python3 script, ASCII text executablePython script, ASCII text executablemakefile script, ASCII text RRRRRRRRRRRutf-8be46960f35f6818b03cd5f2d62d880d6bb0ce7bb3bb8ce4d01116aba25067bfe?7zXZ !t/DN]"k%zIOO.C !~}lŻ>6yk/yD#@ )Ulih'5thU^}Vxёrt歼 iv;N3QNurjy .y>Hy2am7>u< |fl&b{ pqLnC4B_Ujv?--L7,!?Zt#U^'{?뽈^Z-cR[mD7qoݲUX3J榉:]u3p0$PZA ywPC4R_1JqORl_=LNt8 qxl?%ߡQu ,GtG9Gx} CTCA&3U0_s:mGM Sp*s !.>PizMG+VA3,z:Hn0-F'/I/5H3U8bk7Elt?=ǣ*@KLp]M{i 9ft୸g3o靽d b4m5k#zzsdx'8>Tsٽ:ˊ&yT!4\0˥bS<ro~{D,ȷӟ,,u౑笆u WEX,֭NSjmkFq{XS0M"&m_\\U# SySnۍE:M+f{L`XN D)`eȑ"ڲA}zZ.[ˏG't{8qx7K/xPL';{9"M ӛ4i!-^đC/e`sGA//#/i)mcUG _5 m 4boZ k9vzvYrݎ QHI޼q&Kp_|d4-W/$}h7]pN1S0g,v z9){-$J$X[yUʈ_A[Cjrq`hynD+Q^*Pi>cWІa5mRX&5[#FzҍC4~q3O:KaיC4iAF#ܲ$$ɴ`Acf C(ǝn&:]] bs=.W5hf٫ G/mN9WGw9! Dӏ`SnitwP$I洲ZYI{F3LWg8vo|ѶֿXv![(pu=o/ bwZ_^3mQFjNI5>rawipJ]r`b4 Ǡiť-/k",sy^rrxu)j;)r\H4;[|?2:h! nl- YdЧcKک.A.dBQ5]hĘNi3 vjwXRId&j2YW0^ϛ`CN% S]9KO|0+@ /pEw6*MP%y=qH @LԶoBqVS21T-Ug}g Gݒ@ pUL=alUnV I0' :we%wPNv3F$-$hq"/RZY23f'ȭ$'c5~Y]\e܋yBM9Cӕb/yg3r9zG#Ê$Mo59Sbًp6eIşL@r7qQܮ!:ݮ EZ+ B\rdF;tt#%;!q'v{RhȑGw,X#™3>r##. )ish\RBK}ƗATnǙ%jWz V/k<}a 8$H:-(4c>T?.2eMPѭg'TU"(|LL IJAk83dIM] O+ )AgETM*Mڒ%4,(l^/4^dJ1{` J5 )ܯBggiRi>9S̖jY0^E؊ب?z W kx}Q|JR$ ^ٮߥ_l´~C45y:9%[q;yA+]ːCcw{VZ$U,ڶ\LIÁ ANL\ mRQ1ΫoѢwvѓ5$ ?7) w?ZJcQS\h|?.?R/nB@9Iβ 28 /?]h$,UJCx!\i0X7[P2_HU%3!H=<$ 0]FGJTm2䚇X{$!؊"|HP)P^xjWW 3xG=D=#VO, yA&:RRG')L%I Z2% G|א4.bђ]d`|4z9Ef9gzijJe)ڵ;yǤ]a-Sr\Z*~4nqS0 6ެq2@F"d-Gz!Xt#>G " OpQd)4܀7ZoG+%Yr.m~Bmhi]%%{q"vwqVIZE~%10W#e|},M%MPV[A]5sƾb 'l[\ $e8\WưԾ\W cxD3+jH~e3jkK6\5Q#ل'HݛDI}Ԑ.Xj`FAfן{>Ylސw+Ʈogkd}|ًr+c7h7`q%/I^m-!bdr4 s85í8BQA+|NZ2ܮ! 4bϚ/շl QO0 Z^ǹ04ʆgJ OY6X z `V%c9m Z$!RueoC5 %4q>K+V̔T?a@LLʀ܉e? 4t5yڤØ>ݻZbAG<1ݚDC[]I Fmqd1GdDK~|QmП@~~E;?4+$x #F[dXJ;6G MXHSnI&_~0Z<۩KkshkaXc@zhn!9=6WR&5$OA5hf50żiOlH;GDžp{Uok|v[.GFc]=%k!'9։aT8{M1nzJ:+D 4b2rѤh ?Tc!9s^gljWeNR=趓g-9;;ҲG''7_Iv>=X⍛zCNkK]|M,585 6,kGcCa'D >.ƴjGjQ48&{;">h˧}w\9w_6Qb0 Uz[|pZ2-z4^l9}&@ 9g#ƨ,hi[>&:/5AOu % @K0ـ '{R'ߢ4A5>~~$SKB Hs?mt9Q]&Ą{׷. 0iz|FX,3[ a4*AަH('9f5`-Mh\zk\[,fy#ZX%<c.L0q=7G&n!3H)u;7 s`<=((vxC|W{) zNJrTȀ9T{b6lwCzVG%\s )DӝC䢸#VzsQ@i1N4FpDElG{ Ui0x򦋖&Dd='.^S/unC(j,jBIbBAz~˅Ҡ:a1V2]&K{T} lz|^H2foPYwFw򡚷n¡YldXIܿ$wjXtxl86_w.`)JGQ!s$=YxtAΘ\D 7ŏi^c`RASS  LB ~~kaAHN{.-<10?PAD "aj F( %X K" *eU:\BT!hQG*C\U7ӣ(/iea|m9pD>H r+˧EetZZG :G/S WJDi 4M7H3j?"S({=!bLG܏ÃzuÈOfTq責BK+:.HӖ_CψU ?CGJHu l| 5CGhewZڼ㌺4 ȝ]۶K%lDzPD=)E!M Mg4n_tu,ɕB\f7tfQ瓚 jRqۙW5 Xv{iBhƐ c-I(#5Ͼ?dA/ 2o]Kez{5M:<5rAi $Ufj??Ei*O.}5t5ۅ.A.xgw::Qkߠ{I.LP[%:ң w>m*{)ӄi>$p;$f SY~{UO = "5S bC?omj%e?hzR0X.^02,eq9:Otlכ|aϿınb~z'@-֑`&qgBo-VDNn[;Tro1]J!}>4zmVj$ g;❒G^mԲH/G q)VTmh1E`5謷O1A .>VOmiTIBNBБ2&̕@D4>m$l";/_e,,lb@sb;ڂצɁ >0.U?_(2qyY "qLw?_8xMxiᕒl)V0u0zƢj{}&U5BSs7O|pio,U(xC1C`,y]gP^Byո?*1{Slq'p[Ǵq@Ho7mCm 6ZT.I 9r MJVɥ'1b0aῂeS2~ $`~92b6O#㚵qxNfZ2q@r Satxw|L% \O ֡HӼψdp un<_#ZfRCC41Lp[ Qrc q q$T 7GC*Ҡ\TOR$& Oo/^џđ&YZiXhEN&rYaF1΢W6D60{B;Pgoe'C%򉵒X99W d cpo\E:GDCam 30n£㺃v~ܞdv+,kALoclQf_ YUH(<]*jBRȎ |Z<ƶ-rBQ]ՙ2?qT#r:0G_.BysYT)SSIB]eqÂ:/JB,|@}t*qG}x%s28ɤu{O/0=5GyZSz_d)7I7 ,IJ|M93TU#qm xTa1jA`Pn-]9aof u,nW؍H"bOXvGoި{ x :*|''JhÈz)a$)hl k2M(wڴf/w~ňS>!uvrQf$ #7Lrrp*$8M} 6ݥl!|'Q%]|^#vZIq[oc|4SѧCW׭p^/p!X/KORtW| XÉbDJXL(U#l^fu@ϱA?xHmC_Cl͵BA0Np#N r}ˈ8ݨ$|l(B1>*L:zTX04<{! 6w:/Q{c,~(um*Y' dU4: Xp jFJ&qq՜ڱ,0k%l!,_PJ T#M=$:z\ɰ I?G Cs+fNWC 97iէOfߧ^cF:>4O֗3 q΅m>/Q@ ݽ8'%6u27w_]m̰\I]'e>u4c?{jJP5lwH9FSm) #D"˞K'@=^ӊ^?Ih665!f\w ­F9Ayb{fA(?FH֔Sb$i61A>pṙq6Tn-+*7r>B t"tc|z".lNVKJ,ً!I.=.!7{+)&dZbx\qng$dJ`ymMv~6+fRZ@׾7Kr%5}jf jf'9GbU`ͩ $QNZ|8>['w ^C[F}J |c0_TG(r]oO*q4'&h_f&Ey8 |iJvO XuG1 ЊϪm7CPO}dPY' JY/+DCItY.yLNFzRME*?i+h3Z~oᒶYۗUYξdw,[xŞvqPu6tEsYбR3#z)ΙRN.~e.p89 dv,uwtd.M=& ϠITTJq0hp8?mEkJv=~PtQ($JF,EPűCHܻӰJ3[C~鳫$6{/x6$&q&Ҭmn'~Z^`h& vL2LKpi4T8[%+aaG~TZA7L'+v C63"+=7o-`G{>eƬQd}1Z4+U7(cʅQ#=]"eMDKdD ]&ۇ)/z `(:_eHG'0 <ؒ蹔-0V7t֍A➰z@̍LMT|eEI|M.#lo`Q6 行yʍ6A3P9 >SĜI ~6&.]#,83Kx`~IeG=8բUtt)Do>(cWb*pPVK b "nphh91UJP80c]:" XGۏI4P?Lz2dUzQ4cB73 ,\Z<{ZT-rȷXSZ-t E4ļR>xXAs_7W^& QXaV+(X7I}>%l"]o{`9B)wZT)t!QybdžÈjnc,5@ b"{.J UˮI  @H 2 m[%ƥ ]smL1}KQD~sf,01a7ocnoƼE(Lh!(B˱M]xoykmv(U}Lʢp ⑨Ң|7 qyRu7՞QE^0QUǿz_$FR?Q*&?ݻA=9|B+7|~V6{T7 RU#/;({mnts5ebB;x +'c;vkRF$Y7B_l1iS ymʒގ![Ka>ί/P~"0BJ +?!38OlQ G/@/%215B*L;$ %mժ`dZ,Wc?,l,\-Ȅ=pSVNFc3ɝ9+sG ][KK[2` Y]AyhF 1`GPľa`{J)?r,8|4su?tȢejkĴqD|.0z_~X$9gfg9iد۬IT% <-ƆL#C3KPkBmAw:Byd-817 jڞ܃!+3oO!C*#@u +OAl;w@ƠnWh*iTK vHoRzFGXaFJƮ[ir,O"D#Y17-¼ &dKabg|1B4Ur_2#Esuȥ(@Hwgssj? tH[!㭁-4S6u_']B;2i'3 k6ֽ8ZEZKp^XXͽ6"nI BN{s+ר3'QYW;޺ ҭ M& ے"詣@xLdևТWH-m$Vhj7r *iN޳ D4{3I$IBt8ղ3C8ҷN~H** nV D.!STY<Nb^^} +pem-3'FڧGzEC~{@Pl5$;AIV.sQ\ϷCImES%Wڡ?U4,_B|1!| O2djYeNUQk0jdp%i8Ò>`l,Ɋr#+_WWI6V_87U@=!Zm Nl~z/^'Y+¥7 UR2EDi?H {m8EKb5$*@;2b޼\EB:SC/jeʾOl G[W) qHs_ݔ/poB fZv@ ' v G%풔O*!vk0$Hń/ޜݤ­͐f75f@b6^j_fkQ[0}'Bt"n߄]ϑl%N]SW8' AfŴ4H`Q&hI:Fø[B%4ăӷ,~BYf3f8yU'K51R;eޤ}kLՠsΜi'3x{` fP&cXb ݛ4qlA@?sKiipXa, Ga

%UHZM3c7%mQ0P 7HyljU SBQvsxr Z4nI8i>A[)q  fֻ^~&u}&7M] ς3 ' S@2Za+2qF6-BEMma6 $4nJRҴa31DsRU+R>%e~q:_3ƍ+542+[OTWYxωk]6JlmtVP4ݨ.+:=<=PAPD6B⼑;Ws1!Ѵ4a/\[@13=k^b~<+r&jhn\[ӧE@Z1uWdЛ''׀oL8 > v8y: 3CDNKP],J٥g.FV,G|K\LU8cIMs[>>ږ80{Vl+r~b_G<NՅ hnCw1#(@hS uS[tpNSo)@WųWl1Ik d&ceu|5;VI$C׼~놩}م81pi1t?WI bdcS 6V:_Ca/qw҃ĆGz[Z\X{u\_C`)W8{M@n|HyRMȂAn$SO8I9}&6f1/}tg$Zd2=*O Ěڮ}Jq)̻F>2,TDpY}7MjkfPb$4Cnv/~Ӽysuf> 0t#촺s,q6=mQFI Wr銇ߌe QP[%&fIDH߲^5Z]5-,$;^{#yt@uHr6uDcʛH M$ĉ'DtY4 Nˁ@ ˔~R؋S5.^b\43VX'ZWM½]En[B 0#Moő_t63Waxq]QI#LV(kyj߁2;QCPua RTU-gEdZ N][Bӄ7 WOmӢr71`Rcems>>ˍ|tuzH8fP`x}'-&JP]lZ0͜hz(@dVQaϬb@PPMw 0▏/)qx|=#(sܫ 'Ny)yˠC9FX!xxmR^MIh""҅ahߔn[\h^=Jg {lWў3gak@^ i{^OE} >{1, /ےIjhio .@UsըgE0:z3־*%`.c+oZFmvCFz}Z&320Sgub}N<VO=yڿZKNi°oAytCMŻo1mCJo3Zb@laγ\6agbZ:yʟx"}-ī픻ۑNLZfS!;앝)%y.ɸz<}+/d֢V'nOeV$$='qHY}sMj:y;`9?8IV;W㙇IjSR>!5iI]x+)l "d=[޹/BJnt)I9ڐģ)<7Miۯ9.HK@]`2"e\ X*NkXټ{UGޒL1_$9ߥ`z!ĉWݓ[90nǽ[Oʡ)Ҍt(@< CS53XUw-kpT}6 =Uj*M,m>j ~E> ]PKvDh^tkĜN@ y@U-xHp2Zc$tvv\aj_6D@޵vkyshңq Y~$dGɇ0D@,)7 eZC~'=yz6?7`D{im'C c<61eQdBԖ˼ 1&\,z:o!ބ8`˰$UޖW)l:$X[fk\ša= y!Շ]:jR -!7-44- NKK=W`)IоǟwP2L\;*m{R>.,o8RI?0:kܨryR4Xr9l%]AOU%fVI PŲ/ݎ!a ys.Y.@\ _}O jS|哼:ov'K\D&5V`R:Zo˶ar'<-c4voמ}]Lx)wѬw k.$܏_b.=h@>Ss_/TNx||ihIcI2خ$o>le&ec7`j_;m-%olyv8٬?H*FϓF2֘C椙o hxGg8p=$9m$b{{J8;;D(^^tEDYbzQprXcVMQԓՕ@| h~'Ql`4`jcT6!x@ ; 4/ S=\,9+h,5ǧCm]vO%pn'UFc?>12K&n8ĉgkTF{Weda jUA,X֩D;j l"F2!.'u*#66@*јvI [P[z8Ɍan*-se w8r@J4-m͸}R1sSS@eֽRge=tr- +@׉8[hr[IG5}ʊ{F7E$bPY %v赉]y(9VHpNҲ9:Hpu0IնIeM?VУbAʋmzo? 6Cfu_ 2ɺh/1z{VC"lじԫwʖ?æs4#}XDD|[aWCǚ؂^|s |_`RBi aQ5nlJux=8 K*dڜՎ&S΂ :Dn@{aGy8 E#>'3  ,dtpN TX6Kr9 ?S+ۋOl!I|7?E2E+YRi4nWg8@ґϝQǛn6]}eI KL {q_cB!LS^^Q4V)3kQ徵\-BP(Ŗ]K%q/kp@_gAR{0Ib+OWMn" 8Y?r3Xpdm8G6wLjq7L 5Ʃd؂jͯͲW(F]hsw%X.!h&P^>O7|rmL_Q90_H*C}.Ko!7/3 s؍y?iɅ f_k'~-m}(.ϣvqMVpOE1IF'H9*oYCq^ ܅p1qQ-5/"T<;zaЁ^D>uCqlc/8+ȹfŮ74]fȲVLSʽX>co"Tz-\t2Wܓ:D3f- $n=Db%p>^+Vf!&tYS xtqt2 JMcK%Xt,%LCKV3Q@XBrnUmU* Gm f.Ħ,?Y .pk}FQfr OSJՇd4tO7|ewo7`U|<ݎ 7(ǴNoaZEέDc41e4"Dި;@%iQGoLdecxN^03Z[DY@"*i(!օyAcwD77FAn놟K32}cԡl~62FP)';S{զT/,ۙ% UE,pP6t ri_a$ [Qb5 QEFulq#N>%'YT"q6޽,A3a;Nx{#t83V]TY3{ j2 A129ޥK71uQr`*޼^l`Ed/j6D$ @2-?t` g|lI)[|O8*58nc/ kasv%N/>qh)STcS]rnŲH?|WUjIĘ.t8a|5&D7CV_FSbpvF?T:ؓ԰f;P5Mу\xL0Hǭ<ôږ{J&KOQ~ &eݙXf=躭,oC_ [H6ICXZޝwj_4Do(> L ȶ =D; {D#Hj޹.*ޓ z eq=!#; L'ѽ{w RWRNJzs% >OPHχx85\KcH2K(Yס!gnr24` <w+4($H c֕{ɎxK,"w^/-s= 7Zc6% KG- \'¡H*F\1e j#jkOd]"+w\7 埣9VrKϮ1vZܥ`PFgtX4T<6~$1玵li <즱bb<yf)mOmV6V;7]vά*ى$gפ[ݾz}L}.1Z |(`t)>n˲R?5YGq Ml ~l26cMGNog\FWU u!dA~Ifk!F8U5o%ʁt;AI%Ν1ƭُCXGΗz ftk.\ cɊwJRO}1I6j~`3,#:͂d1_<2J:N?ȵ7x[tШE4;=>{bڃHE>F LocC)v L5~'n8^{Z"m:7S9{~Y˄9ǎE\E}@+ lr֛` #;bȭ #P8W 0r潘6Psf5b/Jk5o8"AF*vTwWv|P܆X p.k>CU5Vd @tGTVWJ XXTҼzε"ňj2ߔ NZ-n Qo+SFwo_xMPh+ѲZ}j(L("zJRȮ,!zP.C8 v82 '[\c ez{!{2URצ nj52Cڿ5zS?%07C>q{a, adY @3йOHķ)^굧 $4Cl^%WT]Q(#{cJV @,ԡ4K1MmeRFKE͊o5ڷm=_šUm0*cTFd}<t3Ԭ["מ)z}*"٦lw P=/.&;+Le|Di(Q|x7)̷e3]*q_^066BlfQ}PWj,=. 0'<_ʱ9{]0F ͩqq&fp"^'_ ލSgaW#9}sd0G@72~n=]D \D DO(wj:h3>UiqPZxFA(-7Sl"'ƷYֲX旧˛;9ƅӔo$s\6\ Wľ$ӊ ӑ^3}< wbL7PЄL\:;?kWM)LF=!C`-fGwp-.nUY$]-EG4WN/IEfA9݋:XY'kVݺ*c`9ڹzA ] 0==Xl~xT>H-%;=v.Xy75$NP9ggj1ʆ{p00+\ PK#2xyH\$j3(Պb -pw1-Lwy^Y濫JhRJ!]"fITq(,"a/AL?#`dO|,)[L9NJbq+MɭOꄞZ 8=gt57s7ާk#{ڟ8T f4+7)=8]@ps (*$ fĹ<_i ͑xUQm?ZX$8_Go ?2I';҇?VlZs svλ+9MP;߽RU_ck\Axi%Ml~֓O,qZ_n큍&A#0؜:!+Uzn@@?_Ε"AdTnqb M?'ެ`\t'wc^7Q1{DlHf `crguqSmFk+%b+Z nx۽GMWT"=SS`pl{#q;CMtϜuvU:GjfT*Y|DX;)@ j6[.o9x5z6F-v׌m~:ʺbHZ@ E^vM*޾t,L2[%w[d^5iheu"WL_&._" Sy$mX jAe*?Ͱe[8E zy-:,iP Sِ2FKh=?4hܮA"!\`n5XT j`*~ 6&5D2(CAjI=1UNLtq2U\3Gr\=|oj5 mm]Znj ~ ĸ9_…Z^-k](}' 5+ȤvXcItXs% !NlB?A3g)ǦD׹ ɍԋ.ifHvF N 4\ eLFYG`Yd -uhzӄVH; qե[t΍ Ԧ z9\wЌ1=H4rg/$du~>vΦP둯!qW,-cc~,e, V@ ߃cH0dlDh'wW+/"ߎūV#x,3m"a (=JkͮƋqGXD\DTK+ڮzU[:p1IrxZDp1V(ˆ|Ű!N/CU/1IX/"ƺ2;vfZ`r/z,;B Ař%`4KZX^Ɖ\=k s4dwP@/8ݜ!z/gk2MV2uRC|<:ɪ+]rP#޽9 dщQL8CkqgPp@7V&du5;ܩ/T:ecS P_fnFE9sZo#jҒq7b1K^rҜ0\3l9H R {3g+P.Ja5ϓ!u4ch9畎c ^ۻ% } l X!dˏ3*:2jMDB9SEbVh vLOzQ\KtC2.N_'~vgʓe) Bc` p-}ZN>8Z9)f4ػgkdDrWy*OUDw)ji^RK8dinXkʙDŽUQ5՛,a5Z{ffmF"Aٝ߮Vm4wsu(&aٽQ l Y*W `"& Mu?NJ vOM+W<)B))K43XI:sOwPVC|b𦜾 nij(CY!+ |?W"jH^C {x!`׻ R!*g5DnxZAvÑRQr_>}[ǡ& 5lLMamىcQ4 iAǙH`HHڀ: Ν:kE~ gF،Kef,*}fu#صja;:Jtݘ2^yʄ T:^kUB$̺Qlv7gM;{_v7yh0_$n(8lA<":.^xZIl(wΙ렦3IFQ9 &9D |t-LܚKD*6_WDɑ&雘(k*Yn5G8~MPI.)7l[C֯zmUڑvC`;;_lZ3V-A@$VE"46_ugPeppBO)~X.CkW`Y*2$ץnSS]MrrL%2n\+6KZѱgc܏Hn uieF 8M.G23g\|-˟=w)ws醙/5# 3Fl0(KCѸW\%.7]f _f[=[~f =X_\Nq] K$.7dB?F"pjP K7 Y7e_h[F05s,~h49+J=ۣ|1&^*l)w~>|za$e7yvy*¸ EIOrdލ=;qu/t#ۺ[*Gc+׻X ?ӗ ,P9Z&$AoGlo// AO*|̡A!gLt&|)cÙr䏯ez3B7h3I4jwɯxழD>>H(``sZ hBe⯴3Bf>crٺ/A [_Buҫfx2U|R1T>^S;c^fwC 3&_ٳ}XKúdTu$`lцHrF5ն=CS%; yKʗ:v+BQP^#׆z2kT ু_x{+sa0y}:qRCX)TGK9# r{4iZ'e _lĥ9b덨x6- 3+ C胨θg$d =( {{]ړ;}7l$JVAͷɥ1zĠNHTHJ<}97@"tavy :8OH1&~LZ S}̈́+&T/?omYQݶȎKXY:0loǼA1{ :Ma!MV=_ .UpA͆G`]<#;l3,$?ѐT *JAR-*Knҵjd}ת^F%^4.РKQ(iESbp#ynU}jЇM5ۜjѸ/䚮FEDD)7L&a7ǩ%#aSᡆ2Ib02z1ai;7ְPWKCwWY~ʼm/S`U,[XwXG c]0lB@岏'0mx!zw!֫Cun4&f̓;CkZ5OIV}Ɠ5yW>N֤v4gBD~o1å ̲;R1N7ڤǘ<3:&,WYO}sz8`5"EHle%4[dw ޱh>gBrL'AixrayDeL¹. b@2",=W to*$*9_hFW h4GR6o,߇%n4\-K#~VMQ#ODC8>hCY.nsW& I[k &wHxl ?9/$ u67ow\u"#/}P@J4j#whtymf ڧ{}>%9lFx5?L`'֓kzkGF:xr'g)y?'[P66R_eO ١Q|:*BEɢK *Q@.Gⵠav9~%_\*eH2E|~6צiA[4v.v+L['槜dpTNg A\M>PWDUzkHMJ&P; ڈrenvόk aLEDX{ZwI_F1oFmfG"DNzAǒ h""_MIaSu,ςY^faj T/PXȂsi܋FWwAX.1+ެUʧL[t%Es{Sux~-EN>O1'́"+4t!*{ bD5`ԢWo\~l*7ϥ ^]}gXDhɎv"+p J䆛h۞,u.QSiDbR ek6 ¿ V1[qX̪f@X{3>#YȎTpT_mxq[GgN 47mk] LLBGrzW?pۏ#"ұ,]@Ji1 c+=f2/۩c.ڢ=3{Z9ÖR</K(Wp3ݮh1kq v~">i`S(;gsRo6 5xՠgjN͖cu S!Z&+Q2V4 (Ga;r3VKլƥ4!T<ɟf;5$}S]E5ri֑&Fll6)b.zf$N*dʁx_BoelU34uo@ Sv HԲmY$> 2u*:-XcD zbqdFe!?1%w']>UVjC=*URc n╹,H£pҰ!Nb-C#;fxHGun?$cg۶IDz! E#z<[?j"n&SΖz}U=y7l(hIbl 0j\ۺruqkfϯS=ƹ 5]ȯ.9)m%^uUKcDHCɎ7Pz)ț~zoMvҲs a`HwbFw!ewaSxwSlGbvO'~\M]Kr+m/aﳄڪVTh"t3RQIJ]m@˙#@5E1\(酳Pl9k6E7!_ .RX/d }_]7.%q][Jw+( hM X{d(8H7NA$%%=!RiH3=!: jZz}&6=c2b ;0 +_9Rnv]"w9 1rņ 04GK_˖x tdɔ6{UiЌTy q;crxK3!13o"!gWgU?oz+NqD@<犔@95ܖ:vsL/w8=^0lVU:M7[%%%},֌ܓ̇ \wEeⳚ'dsGԑwn+M  }.ۦ !?nEnPc,wtC蘳j|W'x®!*{ZCYӕ'{vlW@z^{Pv40P%̺  1XN {]D8A /@ ۶.YYYȇ3V3QO5ܣTk*r IMhN(Rnp}v‑ٴdv4ji KtOE_I1@x@h N~c /h&bz_B*UFef;l]Didz!FX1,t~k|] lQ?f48|~1HTx2j,\;&<$ )_|=Lf-$2㽄vJEA `Y&gr@nℜ>޶pWjHݑCSeb$?_H{eZ+f0g(uB> Le`4 2\d#qơ6d{X8 iNKF#uJ:6+ͧ 51Q1Rߵ|f{X~jh7 q.mV[д`2 ?']}urqrx. "cq 6SDd~H5跣)wmeAL]0T'1S$w{rR3>C64juKdDp\ɫwf4xQQ~os+EطS0!%Ч C!Z! "Ikd٦ά׷xVLZ|XK,S}^X ~)V}MG`t_roYTlzxeTM9=12AKDr!|gٌfHnhI~6©Tii^(t, }$na3Wgo6^kܩ:pœ v#)I y]V%k0Ddڱ`Oi9M9e V ۉZײJ%p?@?~€z](p9ʋV<8 ]-Ze+e.v&gc5G=|BlzױC -c3RЇ2::Gmuaio%$nL|z<ESQ6FYrx^1:%$ )NʄCP{Q"N{O4ZӹZ Q!:iQ,4|WѴiIMw1Y'fk{Cո^@MqrX+.TB+R 1}V˶O|` Z'=.T7ϞұMu;,ٖD>o3-uvQ|mXTh>"VJh,N˕JyPeAv/^_5ژb.Tv)5yqkosɔ>eg*x+M;7| Lt+L-tg5v6 )52Rv#o^ e.*tɛt)3S Cʫ}ϐv3cԖpa 6Zjp_uFr1mN*]b4ّd-+ig$\>DO`eJltmD^8or4}ݾ}<7T>oN` <GL+|$SDozq!Ł^U&z \2T DM ۰31_Io Cc4<CeL[J[2g.[h }4T˻C nB?d;WN`zT"(oQ/ #]qvmtO۷|bιV vsu7vRۓ. 'ttf||? '=Kb b'5 LC$ok.5@d2p3 `%OpAJ6!ofE! 4;>~c}7=vv^X8/1`G{O泒u) z?Wތ9qs6کT5^FxѝO/>0{Ì [(fNR\{R :1jH ;8Kci+v̯KX󹡈)HKFU6IB'`A6wIiUSu_04oY 9T,{#<2לwa __p94H@b^ɨ951EtT8\5csbJj|hJa.U bΊHԥPtn7Ӽ;VK4;nE2 VE0WIH2|qVٴHfF uON0ޔ{Kb抝X6{?α|$u|xHZ,b>2;ٿάє?.^-] *iK_z}鼽͍(Fx+gl.{tZ.kW@$ Mcp \OnW9^NzŮdqjNNu]֢>j[RSpi2_H^f|.WY=>͌iI2LQp AOt=DM2Ki~uKן%Ry),<'+Hìyv1w>ґ|UFZe b{v0Vg|ow:yyJa C2hۅ$ϥ&8DYc)VEd.t}Ng85Vl45GfrSOCY˩ށSGd ʫrz\0OM,Pn6! XK]Ȣ ~A*t- Sڪܑw~b֦|ZF5"UILľ,mP%j2Pܬ*Xc;J$B@OAĩ'5gWblRjŎeXyl3NV^%lr4Bj~>M;W:fVc@t[*5yr|lJɝGR)2Qu?GN+U 5M^hF1O/P۔,hq5=44r\0g4BII7'gCZ/HSJopU$|WOST 3lWi_oPg8SMگK 1>l٦(S?חFQRsBgK.\j7kv;ZT/YivHgRFz(x #jlV-zwpPDA r`Q;߰;s;cN#7gK%qq:Qƙ)Ճ*'GcP.| +Kee/L b&N!sҘspHLwbF֕Pzp|bAU38uҗD_nrZc#[.XcyUR_ڑ#v5u9N훽`mGʹc@LK娧=>:o&]mazD5Yke{3U'Fđ)~c\'Ż @ 9Xƈk ]_xc& 0jZywI\) WYHUVzuc G{b]0Z Xo""BXM<&O,vT:s#Wp66{g7q_>kUCgSxP+RA{"JT"rr2kc\NdJH*'DAaNA U.oeW7MbǘW la\Xh!Ad K-c!a hC~k[Q#IQ͈ 3b!46uヌ2rf1h$ K#:FCS*9Mv'Irj.IlXV%0 B oʉ4bqۍ4c\yFk(욹F[=c k=D/$n5W~ʓG崰u@WP^6cCCdRk%'؅3e;3+V%$׳El5߈Q$5O&\|+F !k-o*6i%jY`Tg"J^48LdD.Ӎd[D?~Y,S#ŗ74n5a[wg5SNApDQ9$bܪ rV> :c}o_h>(-M'g DϾ{@DMMcR%0}~z ֱRPXI&O"1jf@l92^z7eӎ̳!og};DtE(;fgRq+h)AuX K *f;+.4ka%_$tww0KӅ9t7$ q~"ӡ\)UhS51 L9A0Ow:5GV3(9qx EmNYkswsKsPPj1/mUz(^F'oguWBO)t23uJSy(&i3iK$P=zV@p@2sb8#&fWƛ@/uk1Ru=cbMya ӶO@?2 M~|9 F&p@gXT?*[T)UC0rhe /Ɯ(\(o)5kH] ى>I`p~gǪ~'S; 4nɩ7D?;v 0X^Dۗbg>) $ dL[|T 7T sWB= u:Hu]@m LC9- RH!9R:0/@dŦe Αr\Kk1l,X06-N֯Jilkpsͫn%mφot(ĐS(Fۑ.21{\AT$Ui}7KqWWK}8A}iVy|n vܟQENhjYP`.r _)!Q%oJIN qK[ҫ!fwÁ{j8EJK5h.Kx%*nRHbAqQO1r5 Y*K|bJ|LE51 -m儀+j wXP3X+ʀ݋tX9G҄G צCg]JFXXuKk?t [a ݅b׆68y/_ESaPݗ׵ThK`m 5SR_ʫ[4; j-dl48nli}ő5y7Vq檰 #A.&RB!j T7LBڣxP@i-`\!tYL"B߹ѫ!Bz92<9+U,wX<.%'JOx.bC|0b !暠gpb`t,`U2砖)& .JB@$0޼I=JwQ1#QL{v=7t@>#JG\K+n\4XyyVk MKn∱k"0prߨm5ΕÒ\Y-yh.pWp*&$K6)NZ %1YA!*Gm GUHj8

z%VzaS#:BBWR+׍q֩!\.YK͹!UPX3I ňJs;wbax^eF(,}%2/,/oO%_݆:ImB&(c<2 SYTʍ㩼\|d_V8tѾlVWk}K*`ICC[ i =E3L9=RL.(xE<&&)PX T m$ 㞢vD}hB`pG.hԡOKm&f 8xe]AliҲ+pP ^,t~I}?h;c+~jfKO MVy..e/}IiGzVD I&zQ,6)fLN,|EBHxR`b~fr9)Cv&H3|"h uu3 $24G/ 1SH]2t{Q}\7 ? xc~u_8Y6 >y2`&\lx4 lMĤ-?(e62:AJ;;ܤhI'$;5mZly6ʉkڋMK8 3Bɔ&%4y+ࠪ<C'M\t"ᗋqzցK;V$&l;j.k J5c1v,o%j܅)}vRtv)7|]O/|ΈN`,fl%(u]]bXn)dzMcɚ,P #꒖[wչI%/:n x}zt/CWh&rjp[Uf-B:o'/4`a~߇Ku9jߡ)]cZj4+h1GP3%ӶV&C#`I9Eo}eQ#keJyu>;£[7ì:*R`GfPY<1^ι~=1{%S I#K2cV%h [ĽۓJ]Vdh;ar$GvI'$:`L2+H߿B;^=2۠(yT*xe.qy;2=_u y7/{v%m)>O`xU5< !}.=",2=Zbse=zxMoV Of'(Pkﲛ11}CT1> *TlGSm@?=I{Yzö7+X(ɮ %L4{9]@lgn \3x*W=IBPPdj.4,1gROyѠkb0^*'.X޲y}mؼ"r %܁Ρ-JĦLNW1sV!;XRV{7&ɷhKquɆ谏Ӗ۬u@b]IQ2t2uFX|Y9‘7\* pQ)vwarW2oTOfݷ`>h evmFΠ"'iaDVvg9ej/V%շۑZi[8)?K sF~j=~qNGS䭿ї)~965R?pgHfe\k6ҫIZ}ݞ&C%zɌ}55M)CSfߟ+Jc◌V3a**ie,vT+hJHwHć\PyiOiXzF\8ntΊ^';kE,9F;_Zk 'OÇ>gMg(r>jyH7$*l^/OvFW:Q\:Tem`B`5VRttI[~]~!Mwm"^EL}Ƶ)pR-:UK |&6]PmV {"ߥ~Q A`V*잧[nkr賺m~ dP;̙mJ9i64ITkLA9!/K+8j: |h;CFT1 PH{=/+hROwu0Mñs&irsy:XP4Wi.M'zkJ+s/Uթu\+'))sF3R a,5 #١ Bq)oI3=~27jcE-w 1k@|{y]!o9n3fu8(|~GU5z!$tS-=_Q@ĝ(ҤnKmS?jBk ~OC'ְwi̧^8i-p8AFN%C=nvi(%Pg1lg@z4y"D%t޽YGu<);ѡ>dj@ͥCTE٣MXLwHW_*;հcwF5WYG6@h}c8'erZϟ0[$FtɆru?abQAKF򾹎_/NL?Cq` bn>~ǝƌfJs_ɞBjL]3HRur o o@,sTWqGs LY-~9,ib7n I(Zb  Y4V]H7V eM ։VdL s%?My5? v<)w!N. Vy:)]BxNFOOJw D q/{A~mA:SxlXq5M$ !i1Y6)2|xmK,3RCD/:;;}?Req1-jo4G5)Ì 0'Uzp",.ϑ%&Z濫 Kn}(#@'GGoؖH Q)̹gJ[. Dj7 #ԟĐ>z:P=T%tʅR.g2AQ8Y߿ "KAARp? f%ӸfߍBU,u_Xl诒rОʺYe[BXj۾Rᦏf;H K<]RlJ ET̴Q񷄻SbeZá/k48QsgZ$+/{I\j0]奅yI tUN50EEfe",N#MAZrH?/Vώef]&@CSۏYirLzVmAS'ʡg*EycKv_&#~OdP:g51)/;df)#<٨pO,H"Lu p1 Aqn0n5۸juGirm~"܁ژiT ِR#?S>=(W@M ٢}%_I=Qeftw]$`PЂ#ow)ER>(4׌W;&,ʷ~je!uGW沫Ԁ8ЫY8 H~-ɰKU9h~v7r=?!rCGڽ 33? `}h3ea<zHdir6IZ<:uX«VDR/,:zSU}8)z}R=Hxr&?`;!Ji6x7Y| !B-u7&$P"%G<]3[gc{tb.AxG6!\go;JV'メ "X׀?/RÐl8qnס4of9Z}+uqc#u O6 |7]02ڟSYTfz$PZS!R|Dh<wlՒ25聯7R%g[ko9N1^Cٰ+}y|ؚ0u5*9 qB r(l 8Q5y90(w(Z+<mQ{lVQF&S|"yt?^;Dj# (C]ā.뼕ٷgkw ȳȪC>}Ė (:* BX`kXz fum VVSl Këwu*ŭ7>>&b:V036Qh& "luWG{j٥@{Tes"ޯn68PztUl8[ljN7\CD+G_#BV4:<%Q݋j~&+kp`˽bSS3r+؆[>up[jLUp#YhtQI#Ql&W]7x^?A# .u8Y41MlwCK Pa4 {.r:Appq' !EͺϜd/Bm(aQH[So^Aw2 LUz1 w/653A@!Sg|SV13UTP$ܵ,oT-J@{nFܸ4|QX쾏+dEI7)}dJAw@)-5$lAЌ>zphGY N!?USnTt"QO4Nb w!8ngr T.V]$Bugq{w疅&PBNKD(3A~͔\m @d vw mR2aX?5@LwŮО<+ 1L36~{ ҵѻgA(/+SjB}Xײ@Zѡ;GLgb;1؝FF j0)",EG,_/]{!Eg.EY;d%l%࣒{5'$"Ir / }RjVcwJW*ʉW-b2[_fsj b|AqV,+ڟnETQg+)B.@3\lvJFzBV.1?kelӸt)͖?E= oqϓt= ݐv}u`*˙ֿvKۅ,%63ozyE+SI{Lcc*jlOK҇ g NY{PeLM\Ť <؀J9Cnko҃29,HC*C}AF'b'ШI篎J2i3zS4LKxtf1+0nI˓E`g8uSYA3Gع7HqX F/S7#.?] > |jTn7M(E{.NImbW)FfT;.@ ;VRt*\b}k])ڋf2 C2JXۏqrAž,cÓ߸'Î`d$a難KI۞2v^$*Sτ;L*ϝY{@i};6WBSXW0ΐM5+>:&FLH` ;&ֲK, k6ʪ Q(uyKǯ>@ 95@t#ӂ3?z9j M ʓ{g-i|ȳR}4Bt:jg u,ˤʸ%YΤZgj"T#[vBŕІN2Q҈K0(fwyS,z sVo[A&P+?Azp~"?]Gd'6Ab%'EhxGA\(J|evζ0ޒfH(#g1(sCT)6y[w/E$0 e7UHMFŷ LNB=?Yjj0KFl=u!\[ޅF1󀴺_QC8/mi%|M#c/EΊ6gj+,k8 ܃N+qDrfܳPf^45uR&U8Z'Y$>MftVQ;\^Yyݕٜ墛P."[SZspQ1@:S."O͍lcQ\d{U'[ˇFde0-7\H~XӚЊI Q;C}yXS}.w=<&QVF瀎]+޳FUԣ=$<79Jubh"$*UxؔGƂlTmAOZ ն;ҟw{8Z$S@[%BL@bM}Wh)*cfĞ}p8̲jQ#SW7b( _p.ˇ@g6}=˧AwKTBʝo^`M+S:H;$3[hSLc1iőF\yd6'(Ab=={":jKKG+!ݩ6_(E4ts}'}SX(ܖM8T֟ù ]"wLv((+".朑S_?(5}^nyݴ/]O< /GfFPO_|NnbN'Dw6ؘZ#;{_+IEfRrxu5Ų'Ja#Q˂i4KħFGtjWA ![Rf_֦0.t؉ =(P#M[0=F96ӜTܯ ;g[1P4B%5̼Q}Ӑn⸘U`U5_`]&~I*Zg&F,g/_C99\jS qq)ꀚkSaq{#oI |v*I8Soʺ+CIPfG=Q>D%R@ %pb`>V:J}s/EbN"5&7OƻXNGSM~:mSz).^h#*V`bB|P9.9]iYp-˓ry]wrT/Ԉ.Ă/C% mqT/>]ޟ_g.)vX|BZ{F3=sɖ?TQZ+!>֬:IC)bC*/MaC"p{OqT=׳\10l,C6nҝO=kx- b)Z"yyWd_&h/+d9.+l1xtT) 3@~L_n3LѪ\CA 5c@$Pܞ"'D]g|Cl.9a D-ѳtwL|*3>5tc*2}$?!X lG`s'UcrZ^|[d0O~1uǯRR]iUFhBuqbtf$ ¦ls~AW< t^O?hEv1Z!xNv삭`k-n =&p <XYx xxtUptxn̂[>9B%1%Ӈ49CfgR},!򘼽LqC]A[0"~mmٮFRG BF)½V9&} 4q߱ 'rD;'OG)NeZ⪹}oEe-]>yCy'XJR37Յ2|tЏ~o械 PŸ)-Z8*0Ia]g,.eWJH~R$8:P>~}іX{vygWFOZeӹg?WU⊈|Ys[#zrQj}}z:Ygy{j%UcF"h's7Bq(+V%ZaH59:2jMUxy`Oq/2f~*d!Aoe7]&oP>m-s*_0GqXC^6%vI!Ξօ-0{20j[+r'Z9>ߢPgמd 7+`%4D [*',tW7@ufJOVr/: F_0Jhw}Fd2f5%4r6~\ITyeB/<ً 񃔩%=Y#UTşʖxl*JH xXD/$].SY~?B89x~F["c) 8Z%zjiϕ znL-L%FSD0{E Ew^ )[8qo Ic @1ܘ{h9`)}@y+h&/ 5EU"Ӌc1OClG'2L!y,l"GCkx0 dq ֈIUYMj|,fhKo@9Bً0`4%ke븶7/$eѨ-\J{ 9[?036;jd#k1)5M _.ͨ zt/V[=A&}e1xe $l۞&eU~3=Q`ofm%Ou3Иrtpfsq^xl`.ї:'60c1«@v#(,]x$ i!^KJt}z ܁D ì EE+*2? ұ"zAڰ% ?׉yt-,j8Ld%sٯߥ 'Tr$LxPdJ|l@13&;Ė">4p$9fq2th3LJ9iƽRf )z%J  0׷QȺ:xZ6Ҥ iM X!!Փ.v&Oq N8)szaؑTd׫a04j9`CNihy)JK熳|(ˆ;1VmY]RV`F8f-ž%%vD\+@5hdvU!}ղS@^0|g'q`-no3MR X\9yV )UݐCڕ|ގJ|޺qa67kȟG-CUxj+sD/RX:JIڑ,6sm@4J&E{,K 8>1fI6+1#.{7Ύf±/wUʘ[M4(G8ę>4Ba80@T>i'K(w7^8WQǂt^X->-iɊoZbrEk!\oV (Xj5!xכ~0J&bʹ #Y~b'29k>]B-Ħs.PfP:TmcvAkOBCP"}ْ(i%#Nws5p¿;LzEr-rg>!àPtcC`]xf#fl]\ZȨ`ő κ\VW E<]~FZ^Jr5En Ss)sMhp Kfc1x$QA ;]Nw x.Aq HN| 6c7MN#b?Ou*o`c0 ՔwXmx+'@4o:M'Oؑb.=\{ {o` '?+iM ""boG.VIq&|YF*ҶxbU73 ^:^MEL JQh㳑F&yIRPB1EOqc;@2dukG 廢 h>R'{!JF[B&y=\^ʼneG9\WTѴy4\;ϐ>4řMQZ<6bAtJO io$?;$tԁ囏Xq?K^u(\ؼDߵstm#u"lƦuPs2>#񵴵L_]+HJ_UMC_Tzt @raUd2ӈ˶ "J$q48O]5LJ1fɊ"Z3x9̋#_'mbQXo]L+-mu噋 O)rh:x(ϻz}qң|I]n!o@ocYİ_e %bbcY0&Iuʕ4U3拽OП= IsPcAq٨; j5 'UTT2?*}+,i7=$y͝ ?bKA"6p\77\UYv:k,˧%~,v\E{p^ jGf޽c 'Nަ.I(e(d F5s2_M"Ox]S"AREž:`uz^A x܆mE(Ũ'mwU͐2;IT耄ۘɽlCj9P5!IK#x&H,OP{j-'Zc OܠUЯMH1{gêUlkU"TVXZHtQL.ϋɥ}h,Ϊ[@Ǡ[fL1`l~^]t|pi9-Β8~V o/ =6?t*dZzS93w3NL`_w(Q + j-dx$,GQ{oIv/adZd8GU LQ!bwS[pTT0!$`%:,7.0c;Eofu2y{KK $ M")>[q)LO45'(Yz Mu$7&ԔVv5@|⟹a}<lL\M( (vfsn7nw>y{>ar\XIO5[:XZ$Qd.Q:] % +X [ g6e||鮫{x"-U ;@%S3%12SI*(:DؔNi?(m_AQgؗ+gZmzFD>9 fSx~@Y~"Edٿ7XhJ"lϜM?I&@{/NzCf;.Ttk %`㨎V']Rtӎ)84_zM52Y; ]|i垝VAL g)P&svSچt5!h@aŗC^ΰ3Pd̮OE uYcೠd9~ 4و?\VlֺD%t |V3n@G9acڙ-8dzdč iP/Z(Pdcƪ[ܒM]N:0q `)|1s%r&tဇvGac@xn};Sؿ|Ȅ@>l8m,EQ!?02ȯP3uv%)3SX$.EB!F ERxfAńBh6*%rɶ-n/;a}/%Y h/Oڧ'h>“Py}cCeTB.HԠ|r3su6~ʼ<:ڋR8qӆT92z'Rn pdJǝHP`Q! ş=n$>D/{ t Nm A+Q8LwYsOcQ @%5~.81BkF6J 6:|9+lXuf:91ƓdN3}.iײ%u$sot/?51(G: 1]RkP/>eEQKMYo%AkA宥,SolF@ĐLVO/#=#%ܼH0MWf< H!;[F<"xt+,%O⽤E8&Ke+ &#~kjg((z4)=zОQo*BVd GxZcgasS~$D{x(S%! VFۤBEWEҨ٦ۥP$72{:9覿Xְy(!A>8wH۶$P*A7onĢt1FVÐr D8/% VXBAdoJ`K8O]؄2v edE:ꅔQ.)m#z\TPLeTӆ#e{"4䊅LqGxۘt;* NUeica9 b'  X؟8&OjD4LO8PZZ`۩0hsѾ)w VuZ(kϝ"il(Wjl=N^>}D4%l<{w$ebXW'ch ).QiH~iA*[?W&?͈BcI<};6.Jvz\hã6žb23e BXq?e.t>PeRB›ׇ8eA@Z4Mps, y!Q & 䠯4B, -r_ xul]uwvĜcȖj̍V* l9VPR S@U8n72W "%Ta`+L~:Fn2ZlxS2MsI@,J3c߹γ;<)Zw7UԹ9V E@dc,uZ3"wڗ8ij\4k|cPr'xLd|wFwҀW_D^[y]EтW7&rV/"NWF0 C|&=Ӑ\Cpx5S@EZEOcvPqz1ĸ\h󾎭-̕;3UCj>=&+/x:): MXmNG uHo|44j*86ᵗvkC; ޵1j2v׍KF+Tg|9yOۇlj lzd6XWvOMhoY1Kݡ f*>/sY7'h W~rcLspO=b [8uMUDDpҗ2*8"u2uRi,;22U5!Viof4 AkޔuIpܫj;F;>ںm@Cl<1{:sǖSKJlC}oX9S6_DH8q+`^XH ؼ_S*"dͿEj=#m> G$S5Smx61O!~UxM0lhS;S""i"п䐋-iN,ѦψcX\1m<õqj[>u#^V7u%}g/f@ڂA3! Ga|p+겎ʡNBDEuƚ4X _i:@%YUQQ@MFe! @zO;FZ ]KxzL[M0nAK !Ql E7ih~GI<I2FjhPvP-Iߡ5A]t쓠_CTd'H,\6kQlmrJ|kg&6U4.)iS K,~\wz5m͵pH31y!L*^uwT(Te}bNv2!Q>+YRHʧ03Qc R@:>zw l"3iZ n_m?-\HEr.RgMsA٧6@.UFUIɻtӭ& l>8ƌʅD?x|a{l]"w{XHSWmC'ea$2H<g<ڎO@3Pb>⢐ )+SðZqT3' ,QYs|/܉Ӑ_ \NҏQ @zF O.M7` 2)}Pw"QΩ"i [X+uj/H |UBX)14;t!`3f?Ә0WjT /V[oPB:E7D7BC68&8Mi<c G)`TQ[ :JQFjJpTclU5FŠ*oo$&|jH @2S}nePu=hA, =AI4'l_^]ŖR)_(9r/A>M0L).|eM8 ţc3p|T=Y1fVɏN F}td(_rT2"E#ITj(a] (FY&DroLҏ]-}:b$)i6 \+ ;wjn&;'ژySH>Za6z#q5 1O#:5Vta f6snέ ?(hw!fId%%Ƶz<71&PiO/:nTlsHPyTri>_&*/q3Y^OD iccS|@KP')g| svRp^rZO=0a/HvRGIA6V]G8z+bG3ѿ86!PA¬0Zcڊڣ ?רk6?Heqystk_4N9w2{˩EYrsY %+T! WeC/P?5U$>:fIBؒ-fj9@̹mp ) pMuTcx䪁1r\80/vhvKk4P1%BFm, T2͠if%Jxf_\ b{*zqH.*ɞO@BE̽8m6+.72uX ?GFukc0u[Mj[9VOTsN-(*>l;`/6UOkZF~*Z vZysG Qz]ül $0GɈjƣPzM)swdpB콠Ru\eirLGplʼn9 ONpEj],᫡YT1C7Nj(+ sbI?Txx֯51*svؗ4gDJdH[:*ܻ4g 3CRթ7_lb13ȋTX H\SM<^<~E!_5BI`F8D'\ikխW㑚1vqM)i`禭A-fV =#ҥ\l[Թ SGQ]w؄VN} hQ[nBtANgB åKusLe8tJ\gJX譃Vyi"XNخ+NqզfVL 2]0PՕ p >zz\}UCB7XЊtj;ܢڂU`I!B>%]CN5 B5W'' (9'NYƮ>:؊UZ :=ZvIڰgrQ/f )BSjDУ%Mgh4-ͻHqv5|Ь05)X//[f#^kJc\_KN:Pќ~o&JI6$ӋM4@a۞ 襬j5DXQ ȗ7*އu\2fDRjPکn>)B"[Ƽ*x77 d 5ősa4.A)ٱҿ//{8$=xÝV̥Lb ^= 񙉅hI'DZwl#;D:7m֚~Q])}/Slif'R½8iu B'{iW^bܿb{õ)rLQNq}Ozh 햛6e[1iI2v絁o8~6 Ov7mx˳i_x\=-%G|<`U%=qRBw tLMOL^i^EK6{] e|)HXޮ9=)~ T*ĈR a=t:^Ex/f3Oo7Jx Vʰ_mtXv~ޢC|y41(gKeG^ƶ[37eK|kӜ*$"SwX`zI~"eTB9S;a9+t1nJ1B2?ܨZU{#q`K#V9#tE]@bvFhqKN3*b:/gft?T߇1bCM4/piGJ1S|s+m&ozj8UL&V}m/P ,j_ؚk><|n0Px'w;N~?#8=@kaƟu,Pڴ7pBb( Q4G`]ǦnJ_115xe;7o.dd5f֩k}p|q=Wm~z |;.x7 gµ]5R1"c?Bhr e`] uTOۂ1*^E;0T X<1{=Z FAC,.`Ze Wʘ0-E㥐~)0;]4;!9Do$ ~fdS"g ÝWY,[E9ߔ"p"21T1o_$O^u,Ӏ<aY3}՞ O+V(0r@j̯ $8-:TfHrN2 }ՃZ.*;ܺYmkVZ!IJqfjtTwܯ o.$!#!gj9zv&r9Z;$n ڡSk5w!-füdcЌr5o6kɳ~f> :(TڤQ(۠{f3C\Lk. X+<9F%$T alitع.䊽sT ZZ1+ ĝ<+ڙ%%0|~gY.AЉS /يz# :Spի0y i^lΤ zM`]\m%u]r4#@+zT*>SOXc wU m2mc,= Et] {P/ܕ(cy~* 8ul(Tt߃y-'%:]M{+Ǟ-*Me v1<İF5E玻 e3#V=\s"aPීv.*z8-TuƉMr=r !'bLV~"&q=JSI|5ޙP Ha[MVĸ歷YxsZNaH<2bAlH2FĩPkmwstb$WCHUS S+T?!{0 BmSS;z.~XxE膖erp_{Nk`bN޻}n&B߿3N8UiCC|`Ԃ@eԷj^!GphA՞:Fɒ(Lp=<,хlY+⻈~\Ymkˊ01Xh*&v.ictfԻ:8WV|GbmCj o`Vп?@n+ "pzxh*dlWn4XƠސڇNaS-REoЏWvu Vv+*NAX#iQB N%=e-u*)A/*mUk!y?j1) I#B |bZn"i~x>~|42D4X{$;#~Hk";-4 :%'N2_[uXڹ.RYφ@s$J3iK(piϹ6(ac#::٧Rwry ЀE {)ǜh[yiܠ"$HL )u`1Xw):)DVbmsaf iHr$lt<v* 6q_.F_fzیizv}j-IQhbRT0: u_?TN4&Ydƞz<;^RisA>g9妗GDͽTt0E,~59{Rh(]0n,ↂUN#iPfbKzut:o,@R*c*^~/qb An8rBۣ!iCgZ)>T3]VV+Sd"^# ߊ4WQfI:Ԡzܹסg\sjO6 %tB+'iy+:\Ck1lq<L%r~GGSl6FLpb2h7)zª<)>E; 6]b_iJx2,@q>.ttH|=CWqw>^~z$zt)`2>p=T~-02_ Dfn;,m?OR@5(N\ x$T5|luK ji##9}U ,IdIPXG_avyQ^)4::ZڟZ5Xv~~gHK:)o5|Ņȃ f5t}#|xF .H5~29c)76)6&KV~Bm~tr\Z*̥[oްWu1 /{H<>PJz,9;]S1JƏכK53@'N7~ۦGe84$G{0Z[6|xb3h/6fF coY9`ABbEWѶlXD$ 3PɫA%Uh H5\,o -F gԭ@#k6CZ3 q; -ZcDA1׊t*V8 ƑSe\=_y8̐ܒע4ZXSk-!J9#os}`rj@6k5͊1mVH=6NP(:gƨL:z_t1DNG0S) y5T@5!‘w\7gjdD ]7VQ*ʊ#pp^~9^5ʭ B?j,N,͙Q!}Yyx0*5lB>˒-uI~ƓyQTTi[Vf䈑=R V'}C$R{߳ !;) lOW3XiwIN*'_P⼯8Fm֯xK g;]ֻ̡b3M&ZeR"*pv(*yï`BGz'e#!t_٬bhÌ, ]j l#1.tIR2E2\p,rucA [ײC](w- @U-U gs_21~C/hɃn(߰o TW"ˆD޽zܻҟ5+]B*յz@ @^ٝhTgDu(ET.~6d`6LP:DW"avw4UJ I+GJe{$uEQ@xY ?#Tr,#v,%!:8[u(j N|޿K\;*j}ZZϏtPUǂScнqbrc)If\o|4 [/ f5N3ȫl\uM\Su8:^E"KѨ͆B-L7RִCCgKڬ@VLkOM٤(*є#"fks@C#ery0NLOSTV#fNӏYyc[>U>M~MZ4xtHJ1w Z~ifJJz)MR=)rң5GCK`nҵ󶩴.FȦ=AtF|a)kTD玕tc۵mOϣN_Hl2\qvzFP]N|X2*hɢi(OJT10K:)D( x)\N? nJ*r~$y'Y}ܞ9!.tHjnYR=ovW3t ([2X#vGz3"k$~{@|46M~$޸27#̷wdHW6dqD0aQF T*ZؠYbDmV:a۽-T̋@G|c @A-^2e' `4&HD>h/1 Y먑η 0[n(C5]sļʸh\ v<mbj S*?{ >ޝjo%3^w E~U}D塭#zBDOQ_ s$ ݨ>fĮnHbX_X"Hm?P<|$<&%SIN9fLծʿ',  {߳~$$՜&Hx56{GytÁ7㎁W|zGbtj"5*õySKP#az*|*#m*]E!GОiVCLx^&#W2Ec HR\" AH/΢ٲpngP94y G2*4`G'# {x #:'1).>8!!4[-9WcY"u-܄C 6&B( JI@¬'TSXr{ ow*F1fx i/&;m-hLLxH@t5̏z|6I0`W!FH5EwPmKREJoF^CC^D gńo0Zۉk]l~] Z:#F%&Ȃ Рs%$]p%/TC)9ƣ|Te[ٝ= `1RuF4|!Tg q/ɔLG®olA(>:΍ %^g +~pUOYW _mǖ\WMM'@EWOd!HiK7=[P( maW ]jLaNuR%w6u7"sw 2rXP@7]&f@5]zI["7]sFbuL5C4b~{4+beF'N4&j D;N kDN't؞\½n>Y, 1YqvIVek@@J/.~HE7HPjt!0ƻOcKi4;u|aDLd otu=$>:/j{PB.#')ؒs:4I5(-D P/(YM#YIQL )E|yy0y*r RTl"HqgǴCoxl6hVTL*;1`WYx &кK~PZ/twJk~ÂFh&lM /!./8ghp0Ϋ8CcEֈn"jY k4gpk)K ֬A&¯?~EsbpK폸jɲ pQK95ҩY[FFohoCm{uVX3>R/V>lsng ЏdR':m0ǜ{c6.6"V,?kᤌ*Y ` QH*CHe~X$/JmO>6?gTY*'4]yW<6jmyO .&`9ޚV%_ 1X{ ; dvGGcd:G\5KsO# bl=9Aֵ*) ) qw؅u KMNčL J 6+B Ę't8b[(_$z"Ny5ğF>%9[Fz[ىvzXXvjLLidDMwL#0掝Tz%.D_oܨ߯-rM9Rٴ.h [ U#PycS=M'Vk-?dUT_cQs]hx0c%ta-U;Jpng Se`ͱ!3'1}f~'U)L($\muNH,/*Ȃ{`Ax+7L3fbɺj뜊Өb0/P6nI?Bl> QkBSPBME➄6& i. 1LbJذX8:qr%&ׄ9h|Ƶ~˷S>ZF`H݈4,)BJ[䠏^a̔.F xcV) -kg_T:rJYc=;:Z ndJ -X`(g#}L]bx{t'_^Te jR\ Vo"D?' n2~j!-4)B4Rva<'X#3Iyo9=&'7[L# Ė:$]67~ Rf뵿n䊋cIͩ#)ȲV ԴUb%mק \>>4*n qD޷+-1B, 2jKZn$G M U:ォOCP$kHY_XEx$ ㌲+> $&[2t!tFQ0UMi4brJ2=rЧn>in& UTM\Y +#[W-ԧ x(3qsE+ʚX=Lt26(Hj>eps_v{!QIg?ٗr&uw2X}v*Dx:;5@ ZԆLѥ=aT\PNGCSl:D2؊k⎁nCfjDeo*߅ϗ6 2syXAt:P2 c͒R|o{Ns\AtC͡ RA Y`ܟYᩆtUD,%\/S 5}͙z({o0+g'* "Ii4#ٖ pT x?MBkJ%`[sm\ВS|Ԧ|/i802sds^ZyRg/n8xBɔˤi bAL\N'8v}=㥲a?.+ڡηd!G,M=r'OĊѩvg~0M< E!yY'[mD)tw%\S4ik륎AŇrSc"2M 츤q_mi%[x `jJŃӵzxy~nfbt9yrD{=,ۄ JϾk˦Y'(E -Ȳ(FQ5LMU5ĨpCX *tpsʙb-'#iRRdJԾڦҸ̖H Ε/?e \Lo|^ k1U]+ɥU*muyN n2YQ<-8n< nee Y ?b?l=<W^r[X/{Й5?aD$!Iľ9yhl:0v0ax!B Q=l D/VJD