dpdk-thunderx-examples-19.11.4-150300.16.1<>,o0c$2p9|dh/JMh+?;Xxs҉ us'op=GAHޯˣ7 3{-D*&=_Bgnzy2U(8Ǝ mb=hHH7J-/էHO';w[݄(NeCpS7ѯY?O+`H!P91 oL%V_dG3ܑDcnw@{)_m,/qWO/cF?[Ga>?'?'d! - hJ `q   8  ! 8^(ffǛf $6(78@F9XF:FG(H|IXY\$]x^kIb?cdpeufxlzuv+wlxy'p't'z'Cdpdk-thunderx-examples19.11.4150300.16.1Data Plane Development Kit example applications (thunderx)Example applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding.c$2ibs-centriq-5ZTSUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxaarch64    0 hp 8 h 8  p  ( 0 X(h   (  H  p  8   {NcQQ!62A '^e`5'2.ci =_1/ h E {<W*_{  tjpmj[;iE  R k o    } uL%3,2^ H1i 5jr:3i;jC"L"8:-7F ? U  M>|dg{f!5{[fovzoar|gH{of{fvzoaHS.r{T( Rf i p)T( #|f04PC J8 ,  R^kJTKc `sU  g+3 26aQ1%M1Z&}(i_]0 $<; G3Fwh< f;EJ $M-@0%+\]6l &Wcn# #B$!pU_# A.IF /(s ?*( o, B77kl k.2 7*Ka  >DIFA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤c$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/pc$/p_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$$Z_VCc$$Z_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VC_VCc$/`_VC_VC_VCc$/`_VC_VC_VC53e6555fc64ca9398453002363bf51a7ecde57fe23b35f70a562a3c2c13e6e87a11a1a4870e99b8cf7ab6b11e0ea996fa977b918e8c95f8dda617e24f2ae28b5b62e67d79c605aab14936936b7bc04040aca9c9ad3e33b1374133cd1606e6712ac954e0278232a28fd4f925a8dba8e7ef8b03273da4f0020c6e45c87dc88ad852796feea669d0860df054230723e14a12bdcce98f4b2e3f4486867744bcbc396f887206284887122d33f861e20d8d02e6215892ab3b9dec186eebae295547fb219cb5587aea22256fd634940ce58a516c0d5ff855082e5679868ec0a056ac575ed5e8308fa1f05e3743be170cc34d67b00064b9772ffbbeb17c3027694d85bf7f61d0d79489429a804546ff8dff80b59d4ec0aad42f8c49d3650509ed2a4f74caaf3866ed9874328472eda6703ff4db038126719a0a435c61ccbab9881c4bd1e49fadd580aae8c9b9d0d961a9a71b09672ca821714375d750de174f39bfc4ef7b5d9e65455b27eb4cf601505e5b7f048f53efe8588dda9b75a8af1cbb8e2c45f2b3ddc9bb7ee094d7fda9fa75ae4b12e9891a1e3a57ad4788df76b08531f97bda78d2031694936c3e2d13834e125ffeffa140e1626691785e80c216a28bde9cb0df0660881586635858e16bf92a10b91e3999f3484d88a23a2a9744945e17ef7c5dea6a0a6207f10bc4b129b637ebbff1944f47f2954a9238e102760c98209a1fe19756fd1b435ecead78a97437dc0e69d9c9e4402a79f576f75b5f5f595a77c32fe4d3e02e3b88541bd0b2e14f06a7c61769cd072701f2bb6040f2be8192d2ea12572295bffeb64fc584dae802e999de57eaa6502de1e8ae992b9af08cf4c9967f61188a0efe9563f872c57a61ac8dc7f276e5a637519439181195cd770616bdaaaad90c06308bf2b7c4aaef59915511685c1a2708e9c640a2f9c2c5379e8921666c2579ad2d1f1bb13f8195768f1c2429e3a2f35408b18f13261f06f81d3c1a5fdf3fa94d3343ef154ff479371f4c8219bbce83881734f6978aa3b21c65d7a4e2c199beb066b7c94644ec189f3d482cee1b6e840cef10081775ff796b111a0384d244a12dfcbee3143e403cfb1482af649e2d703f3f578b45de44143f76ace86a17c646169110cff614927c1048fc48ff097b3fff61ba222354b0ce941fa9c7de01ddba74442bbc26712c0858e8cfcfd0ef7ebe98b2785c995d978aea93a0f96fcc8a8d55ad661bb3f4bde5d9da5548d425c153565511e0eb108dd2a54a85e3c58347bc345ca445396dbe898ed26339e27787118a1aabcbbde74ed95fdded851cfdd657b134c956034b554c6f1a599459a3812455acbb6418bb80df6f17ea7a613aa60595e9144f4724bb0cff9da475cfaa7828e1b62e678877902ec08c206ac9343ae8d45e8f93f95fc6f82660da3af1c643f64b21372db3d7884c82ed40ccc29c89b32d70042578c0dea4d822a817fe902edcbbd878a20868a271622eeab5a8d6e548031386b936259420cba8e881b0448ecf7fdc7e7f37f67d5acddc7adad3caf3c9b928cdd283c3e2228c2068d38ac3739520bc775fcdfbc0fa8ba4ca641fe59d69f42795905e60fcc662392992428047299f82861962ef48758dd083314f75661b5ea17a1991b8580c08e5d0fef826cb9da53c3eb23dbb3cd889c9d4183d5ef1243ef309d82f81a97fbd81ce1f62e2b49683e75338d42480465fac06f7ced9b69fc3d25f227ff85377e1e48acd89858ee6a5a24405894a1f0634458f509c7d4641b9d454793c7969063bff61ab1bb963165e00a46ec0f78dc3e10bd486ca1100707e73075694af91ffe35b1a2b9ffd03fc1028572dfd5f1ba03eb2875c6ad832ec48efd1ed5aa7691c295fc7225a6c55786ec9f58e676aa931dc41efe0fed002c5e85db9704d0b3514bced20b3b88357a0f56aaabbb6917171bc7a924401481022be0cf1400b4558ebce6366eaab6faacc5b2433e50a59487ff0b1f514ebb250803d16ff1505a730ccb778492abd4d7a111499a4877a4567fbc5d3b0f116af41eaaa230408263eb25c4eae34c442a4ec1d5705858d38daea23a451b73db80e6b22ccf22cbd7b2b40b6cf7741cffe0b7f705ad1cd0ce9a86c98309f4b5c4aa62e911a3199ced2c5c324389933dc9e74ff8805a27141390e1113fd4545e2b28f1e906a166767a4fdce6befec18bb27d961ab96c391c2c76f4d5be960f4d6025d395be7d4a8af3dd5494f7f7ad4a46138aa179ec0b8ddb925c128ccb65a119eb8ce214b6be2e10d3d6fbbef57e12ecbf18191aabaf5c787a586baa0ab0a887d0f344329264e923744c50537bf0753fd1dc484a4545524103d4dcc20a555dc910efbef36df3c1bf49ec5467902b7205b4848ff932acfc60a5d5de353d061d4a31602665bd02a3f05c34dedba518cfde397d7a64b06a6e3ed6751785d15b7b3ce01d7715edf0f828d79f568bc0314aaa44217c68a41ad198121c2a97d956b8e8b3d06226247809adecd9edc36c20ca4354954f06723f70becfd299d19eae0fbbab7e81b58ea848a5fbbc74b81053530006147b691d812fe20fcfc0e98fc9189f2bec316e24958302b77d3e20861d356cb8880e71b017660de5d1e87e2188c88f5c9a1cd46b2d6d527a4c5460b8b72ecea0354a13a42aaa71a40bddb4bb999ebae16d25cacfc4a647026fc5b819a31c4e32712936f078e6a293d91c79fc496e71ff05bc405417f0c1db85a7190394b2036261f492c3c6befc8563e0893074c449300cc95f5fa2741a28340e5d3d7ba03bddcf3144f58a46b117ae94d9671326518bdf5e2780665ce1410271206a4e7a4e6e2517ec43bf57be9e3878277deb92cc88972954080bca1b8dcb2d503b738d311f3de4d7b42bc3e7e6ea22c249781acc1fc597e59f1b39ba7b9ec733b04d7fc51c5a6ef6665f8c67379404be45edce275866d67c2d5269b5839a26b75f07b222484f4641e309e998edb6f4716a18573b4fbe270e7c8dad8a11102f63bf6c6ebbba858080d20e1fc19c882bf288d967fc300be34584484d03694313906650d72f54db7a502b2f6682c9af6fa3322103e9b04b5af9dc7d16fa36e19d209fb072d012b94b18fd7216d5cea79a754b496c5fa392b189ca862e929587ab3c7be8bb5a5c4e0d38e33516809a00b3952f1906307f01dc1d55493e5691361b863f26c4eef2347587603e9e9f1532a798c2e8f42e13c751e49d05d1b3ab28987c40834c4aedf1b660cacc00398f45bfe433e36a90892c6d7b76eeef51c4e14b284fffc4fd90a150946c62e3ea720194d03f84263a92a11fa25858a53886d89a472221805a7f73afa0a78cfc52db058d15a17a0abe51e62a2d24f99aa2494ad8470662721e21b288a33d1fab16852b787ed1dca8a2369d2d967b4c981332a0c70e597072d845b9985d80a11202bd2a8e6d194d0be8f5bc3ffaaafc022d94482104543591b3ba8292b287da77a49a55015a810d6b6802690298576be78914c7764b6bf850b53e6c14393f1a87f80bab4418b8c1bb8eaac31dc886a71bcf7cb5ae99998c26ccb5a8ef55244f232eaac0340654e63ed47edc4fb46e9b2a89e2e06cf05100a5153b87dd6b98a726300f006d3e15cd30250c60f01a809b04e23c3accd7252bcbb388a7b6cf600d7f1de5c9971f52ae15f67ded82220e9b7732ab93c0a3cfd8ef2faca87d31d8d902969bc891b3c139dd15c07e75f02b46c9ce01912452109ed516bf90722c7f63e04b3fcdcb9d2428aa1fb834ec75a01fedf9caae9740b9a712735de0dc2f988ce3035df94bdc5594166830d5ea05653a096becd7eb90cc4f7c21913043399f4de8ca13b56c1e6ad363b912cdf30fedbf754b1e8dffd6771db8b77bdcbe9dba97d8dea0c721a502e493e4c0df8e082eaad6d39709285e622b2b8f09e340c65482756124790d27b56a94ff2bf35f9a2d3e23b65ab851089ba159b11c6fd0aeb337afc2ac46ecd1997831427fbec41cf6f58a08b36a457b6930d79ecfb62b0cc05373d99f61a570c9b39ed0f3c8ac56fb5560ae9b81208fdc5a7f0604dcea12d5d867e79886e5abe0b1342989d1dd07dce6132ef6de4d6fcc0d8fa46f77bfd8e257cfaadf47fd8f11aa83901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bc20d636c804aef706dfc000c0ac2b28ed7f92fb2be046ed349effd0e91742ebe65a6c9d2a9bb9ed8da2161c48d9ac0d7d510471fd8a1eb0d01f7a5a2c68daee0e9a20333989d90292f2da295b8a62e6a562894c19c7d22c65cb66c5cf49605523adf07791e076526e18f616f0e3b1026fee734b9162ee924bcc90f7ff5ba3451fcb2808cee33447b1ea1d3db697830d24d39c81a621a4f01cf736e100084132b28c27ed85d851964cca5c99e4466596bb070a8b774ba2c550793e69b7ae702ad003206fb7abf0560c8a2a24cefed46f38ffa3d3b494ff74920ad85ceb58b8153a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0426c3e2221f59c4cf3e093624f02dc55a1913e642f2a9278a0c417ccb14381472827a70eac52bdf00514fc4d6b3bf71b68ad234da26d2914aef88d406c91ed7a72685f22ef057a4e9f12c255d7ea0e5e12cbdbdfe2f378485d647c79f08caa98f3a0f09c3251644082ab70844ba205a4cae1f09e54c6695a1714fa87ce1f305dce8dffb6b9047ae0d406d8fc3bd00e539e7596166ef4b788bbf2b0f062488e1095521cc1ec49e48bf17d94e776deabfa4418e6611489e50849e3305a4861ddcca1871a9ba06c8a18dd55201dbd3f8bffd14ce6079006f1c63bbd86667c0b4f6b19121324bf4acac7b9d7cff94b3c9190c623f6f1d12d604a299e84b021d3106e23809fd8f7c53bd6e6b35c5a1cf467e28723b96cae687703bfba9ea80843cd9d562df613c9f4f1b504f2cf1a4289ccb529d46e5c37b0244e1cde6a79f04d369af415f01cec8dd98736a2a3ce4d9279b14c908d19800c932a85f8a0c7c0d9f9a6f05bcf0bd576bcea73bf0117eadd1c99dc437447226aa36d574331f2101738a6d5d05751e5ea55fff128a257675fd5f46708b590757fbfa369b447269e7c6e31c5ba533d8024c3d292393dec38594548c784c24c54de8532da5452649b83917434c046686bcc35400a6f63fdd1b31d37e87f2d3ac3202331ad226b29949e756f1e6fdfc5c3c983f15e8c67fe1f5df71080d0cb9c7634effbe38ebdc0116bb3e2b28753bbc859e1638b8bb94817c58c52e1693140455bbc3f4381f4171234cba6f04e9e9aa0c16395aaf82cb91ca65bea3ef74a07210b9b7008a061dc5ae20a1361aafc89acae4313b00853663866b0350440ce8cc1680d59679f10c825ef0f99e4f8d251e2ba02d8a2534edd76c15f6fe2ae3c383c55f074276b813b1e1714e51e124f53e647d5b18588bcd1fc1922fe51b4f8b4ced445c185dcf55141a33ed38a93a3ed520e2ed7b7fd7d02fdc602bc6dab4ccd6f288de5f4cacf8a27e07cbd3436dffd7364a609ec4af546d4a994e7315193c5b3d4a5f626b4ce3c1c248e79a9dff8761138911c9325223a21664cf2c430883fa259e4966487d2cbdc8d7617e14c00a3eb8ab61db274e42cad0846cc4639fbd794d93c70fbe16b2af3ce605f8fbab65d6f395f0cb879fc2b2a54194c79aa7e609cd938a4b6abe15ffb664893f538265aee853e4c49e179d2e14e9284fd4152714a56d4f99bf75805aa3e9eb959f361032e727d213b74122e3433e331f75b0d0f7fe91e57ae9c51fb2be0605beb6c9011bcb6a3c94ec23e7f5924cac8c51446a0cd2e15526082c7021fa3bedac7fc2d85d85b38b1ffad094026cb0a998b178fa09d5b9a615c6626b9ff93cf86f57f238510a33691b0afcb0fddddc59710ddf4d7a991dbc3100d816e65c1ffc76b3bd1575fe3999292404a90c5db90eddb4c993cb591e43195ded1e4343861b15b9aef6599a17bbdd56164a2e1237d4ebb206a4ecc67bc66ca5715597f8f147cdc9de5be7b623e54c4d412aea6a76078a1d4505046a930bca82622b8353a648f93d6df6bad2c622109ce023a0df297de940de3e15242ce38f78de1cb131006dab06c9744276f6010ed77df2335145ab36ac47654294be33cc3d2fd208b64bab35573b1a533f67315861ac139cd69133713fa8f1360bf8b6faa44dc12cd38ec2825c7e68d79559ecdf35853bf96d9505a3b8e40f2a7deecd1e30f01c1815f57686dd4be74638e9a34757ebd4a36867f79a29c9cb4400b8e08c6004e070c01ab232a85bbed499281c0aa78aab530fd818da2868e08a0576ef96108fdce8154dc6aab9f488e364d84c7e705862e2f3e9fb88a686e8c953720d110aeec334d6fe9efb48597ff6557b8b6367b0bda3ee7090d566d8e640741e093ae8e095bd97a2e3061ee7b2847d38f51e6f306a71239bb9f241c9fc2e86565a489686339af537b4b9df45069a7b507b107a97fc0d6801711806eab9584d45db7551bbb8ab4be21c5b8b7fd689204c38da2c6d287918ea0bbdfa80c6c98916d0e20c3ead40e56d5756097078ca7c974f5b66ae14fb780c9448095466a1d4b51c773514ef2064bcb2cb2729928cb5e53714095398a7d854a23c352e7631111e7d0f175fe86f8d594bea7d518e5cbabdcd391cc0fbd68a9bfcb3717f926bbef09566fcf722b757f919a13cb77d28dcc593193ebc88f2eb35a67cdd8302182b2b33df56f95503c89eba84f65c7d478908f53e00833d716c3068e3c991b1c3271d1a6575cb3ed5a4a20d86e7de362b55259190cac2d191c5cafe6444cafc3fcebb97d401aee72cffd23f2db0a623f3d09280bef261e7d3a1fbaf93b2a3142d9b1083538ca0f58080753aee84e21bca7333a60e44f9fc1b87c5dbef50f438be7522e8f28f1ce25dd28c6e9f08be8a593bbe046979f2f6e989350c5471844b951c9d9d2f1d95f31081e61635647ebb5e4fefafcaf4b37d7bf3ce319c7a54ef1b4313fa4f6c005fccd8689cf13e1d3b78c424ddcae133235b2f5731e78f205a27a7e3e7b2af0c6d9b127f2a22208ef62de48d967b208a79eeb4948bae8c0383cd145c2372848cf8c4fac79764463ba059186a7f0fef326f1fc1df77eb7a4cc40207683cf5d9b3803d6baee62b2aa5a0536675a60f67b4a597d017cbe8d5ecee975c8ce5b55e8f4f898740f74e71b27940f0cbdefe591cb43de9a339343dd2965beb60eb551f53198c4ec6d1a05b56a5c8e882b8fa2860d906e78f48648231ba826d2c31495c367432f8ec0ed6a7cab1f930d0ad7316bf0906be26ec0fe4baa6aa6114e98e96ec4f4e2fdb532c6259a15c3f9923a6dab363371e79a54a7e0b81e84a3afa587d65aad84649356ef4d5cb535e15c38e20c57ac984593f13e82ff8ae7a16e31b76364edbc225a96ea91929241deaa83a7a6906084cfcf447194054897355f10ba8c35d0a0e1370e907e5796ae47c63a0256268ce459c12fb83572b1c6bd66e39135b1850102d5d5a7094106e4061412cd167c44417127808c0dff868a93d7935e05345fe07712ba3a93e71a66580dc8cdee8063d56496c0bfb7a0bb1ef2f34e8f7c2fb4d247f8ede4530da98e207828ccdeaf0b44478f74d6a5f7adbeee98dd65df87c81e1aa351f9b872b743560a4a5a214a640729bb23591ce8dc2a3190a7e876ecf4314458cae2dec48c1991bc0bf071dec085cc3c4ff628ecbc07b5b8fe8ff9ebbaf2c3a32b229b67a8f6a780096987f1c42f7d88f7ce2d92e720749c82992479fcfae49b3b20cbba391ae0b14e11c5da3cff003f40d99a601ae060116d3630251a2712a7d4f5f48db0dcb0d24169d8a6947416117c491297f23c4514d549364cda690c89aab1f5190be649ec149254978acccae25d9ed2c2de5c8134ab88010032b7b68061c91cb52244f1a96cffd68b6b21d707d09c28285f8e9a44f7f04f959b16cbc86815b3dd194d82ed9999d90ba74a1bd50ff8fb0e00850ca8d12db73333cc2621aece10d6933ab265b1feb1ae28b114e2a027e7dd442e30284accba99907cf2e647e8d1837a6d8948a0320463e5dd9142a25b98809de4cc30b4f7f8641dfcd45305a15345dffc85cb28a555aa0487232f996f3efb817b9faf80b02d324d13702ac7ce64e68e97ad45a9fd68131cc20a2aca96dec717ec03f81bf543824b95e6867d9ae4534cdace48e0d972175d5449f92c6122643d9b66bc7125bc707c5d3ab362c1d70764dcb4ef24e8c8b986f383f25f0fe0dbe35f60c2e322ae5ea6afb15e7cf2a3b3ba5185aa6296c902c3a34ec6865d991b10a1d5325005d61110285cbec4c9c6caa3dc326d6698a32e7fa4d844a25f5f014da3debb28f2566e53a7783189e3dcad2a44803c90093dbcc4fe81eed57debcdc78b3e6c3f62ca2df18d2f5f5f31d54938f9652187d9136e58ab4cc4960414b2b50f3adfeb0f5cfa6978849e31fd54d74165dbdbd82eb3714d9cb077800e8a3f317a95b918378a3f4f5841d6654f106099b6dc0f1555375e8994a744925c26a821204bf9801ecc07bd67d05d11c91cfe67d9984c84bfac65bff71674a1253877a01a73c8614cf652a4363d2b2992d4672052064685ef5e63a6c62e9f1659e388d4b862b9f0abb9575dca785c6ae445acf24c8f1cd0c5bb11651f8280b26f80779ac10acfa4f9a953604403e50053953b9e1c3e88a5852ad4aa20686df9e3986324f1077abeb2c512e4da1f69be27f5064e82338f5765b692e6da25a979d9e915f60aed69d9958037b7f6c2fb66baa1832bbdc81a109257a793022f86dacca7e73a886a670ba2623fb87102107c97b85d1e50be6c438fadbed84d2827a5032e36b2308312efba0d52654ece4760a5a4b758e27c3bf983d8208c6b97d429a141dcced5faefd10055c0569e985025bb74131abddd1e3321d63b77e4942eab8649748ee45070b613f1528813e5d8b9af3a427d102591e60f381f2f9352ed1ba1dff112bc11241212b8d67d14f6f0ba0c61d6a7717161d4ab316cf6f195dd8cbcc31272b9c556e0fe67495fd92574c299e0f387696d130d211494f74681b0bdd66f95027321f05fe951020a1fca5178181112abc5e8b1586082ed2de8dbb8476095c0c18a0852229c54d5fdec17b0a0c3e34bab9cdce7b7844eb396f5e82eb6613ed0680bde005f3771d64fa19cc7c6f0a7ae2dd3a1ccebba2167ed6fc04d07e24bc6469dfe480de10709cc457cc093dd2a7e5a4cb5ebd1781fbe8218050e1d4f215df575dc0ba24c5fbfaeb0a3e967047ce2eedbc5805cfff9cc192d8b359a0ef143a19d0a01e9b7575d4a2a057bcd0db3ea710567b1539da3d077da3251398ae391299f86135f33fa3691390bca6ee5345b8aae20248a221b8db3ab906aa557ac44b9cc3ec55680c254c0480312e97f2470fa06b45784eab74f08b36df4c334d795eee95fc51d562dcd25d5e5dfbc1327cad12c0d51d5bc81a1288e025e6713b3175cc5c4de3d159a88f6c31ba4c68b87b42d03917c50b7c4df70b68dcce6224787336a7a17e1dcfe8c1a72bafa8cece832e4fbbeaf624ce98be89c70245bb9d06f213fa52ed73035e5077aa0ec7153900ade2fe073d5c34b9ec5f4f8c8835f9474379f9089638df4d9fe129a8b6ff8447d1c06178a7bdde44ea3d0e2c44dd19ba9d52cafc6be419a3b28a83ca4bae4cfca813783d0f6f1b9ad1081903379559b4cf5aca682faca3d36984843e18d5ae5f63467e64a5cf48ba7484da7b98375d9647d0fb02430014499a7e72018f475bb28b19ead77834d658a8c7b8081f00a121150a375809b59ecb5dce9efcb821c2c84e90f733fde306f647ac5cd18f18c6da2776c9df609665e8a79d95b149b12fdb1224c2f27fa3329292ac13f279f0be918c33bcabc497f2831d72d9d66aaccd4ad9d1bc5683b729bd8f2bf3194cd90df192d246132f1cbd584978e5cb5d1fc3c01574d558eac71b07bd16feb7320c7896e92aad070d338388113aa18b7c796bc2dfcd3330fee702e917c3a10b736aa1833d0b4bf751741547b84587960cfc1c652c4b66f61efb451e601115278c224e091fc91eae444a10a691aae0b0724047fdb33a61f007cffad2a7a217e021b368eaabed4733271ef5d8ade03715032c181432d19273d7fb093736da2aa8486a8d31675f3411f0375293deb64df76a02bb6e5a4192571816a9f43a8b85e0856c864fb33d3ea62220fffa0c58df3f44e2ff69c8fa4565661920c2a7c1b5f305aee210b9ae68887c590d1d83a48e7ae35c68a9c9d6b75b936bb1344d3463391d70f536c7da5f54af2f2d0dea2613dbcd121a86a438116976d1ae0eda067609036da99ba3f7aa221d52dccc979c43148afcd40e024e0647276d2c26d93f732d7d01dcba88a020070c8c0ff8a0a70297ce39fc7d4d379a8467069d2e2a060afa05cc004962ae95fad34bbda65d2713d961cc4a2ea68a12e417acf3671341083028b634d75de0c2ecc3502b0da3eed9b680e2e9eff9411ffcf32eb501ab3e7aee2c36ae1f391b3640b6cbd73ff064755f7bbd55eebfbb5c1c89591ebabca36409d5fe7a9cfd5778c3d089a9ae118db83e1b1fad5b65acba3d2f9fdecfef3e947e4a60e8089f7803daf4e8dcadbaab3aeaa44218824327275dd7fd6b9a325aca71b0d6e75cd179cbebd022e617fe593410231041c0399734fa42052cf35f2b1bfe7ed141d7b1e11082a8e211b9f8da623423397893d725ba8a832ac9981180aab3d9df8b00bdbc347a61d52f0aa3304414bc98f97ed2dd3a70109819451198a43767071225341b4fc711ec47e2efcc550a8d091139e844ee95284b3ffeded4b1ee78f527c13d0834b34b5b3171536893c0b0e667e2643b285a82fd45db294b990b71308310f753d181c06e942e95b11ffca37fa7c5b3b7a83b6970865573b5440a7c0ba1d8e4612b6c877f6f89f2d301164dbc34a79e21ec7bd514ecfdfffd4baabf727c0e421f61e371506a1bba4fd37a94fb9750d0fb5d285f27654fdaaefe2f9c29536b731c875d1db30abb01a5a9a782f5b4d705828fa7c3959bb52ad8b84a491033ec1e6d7c15d1c3ce30cce37b930a012a0a9cd047170046e0a6b2f2e9002c19e7d7246770ec2d7e157fb33dec4b05ec0dc2eb1bb56a4d6d88fbf34d72315c12d05d33b2743f63cbe218b4771bfd95660f0e955f07d2b5952134157822c761dd3ea3586458bb08af543d158801f6871b5cfb052e1b337e4d2df61f5642dc639600621a58f78f07986f8d7e1d7c07e9b5fbbce7f999cf86aeba942fe9a2a75dc91cd1350103d314ae1871045c3900e206379e06dadf1784ebd18f0576afb7aeaacb1d060fb386498171d4ec7b19196b39ad6423352111447f4dcf5771923c01a15f58b45118a59ce194697abc8fcfc91140513d97bad21041e86c02e4a3d2fcc2a12dbb7123f27209ce3a6011579a42ed29dce9c69295adb4307960f621255e83cbeef83e46e37bfc4f89fa7f7b2ee88db9046c206ec712d1ea3d5dac5b0a63a3706363290c7844e9dcfb8bc2ef95424318ad208ef4fa4dcea7ff87e23a82a99561e1d190233499fc8e4052c46826bb8b7cffc372096e89ee3b077e3a38db25a26aad2839387de50272b3331d26c329cb4889c4dbdcadf4fb718ec921567979fd59194916c6a526f863336fae153eacc0bbce497e5724acfab999bab3b0e1096dc0461f3f5e6a0db54d5efa82a06d02f8055f4bc9fbec14973d73572415d36d50bb7b94b057156caf8b5d9e611fac38d964dbc869a67934842810d2e64d09abd5c2245f0fa99721069de3e4e031b4cd3ed06b13ee2404e805219e89631bdfb97233219e2e06b0539d2e73206b30647798c2b60ef75dac08eb6d00b054ced65691000d370bb66981a7d35700fdd6a83438240ecf3e5880287fd10bb17d447e15a9ece1d797c04c3a8c74eb20ad27cb05e6bb741949e3556d74ddb654e444856c6a5172599526e1eee7c574d946fe34401ad16d00bb4e34dfeac53f20562698a553a928617f88f3efe0c4a28a09e5451b55ed0fbb91d724e237e0429dfbab3e315b4e3fcc4b322bcf824d600a74e9accef0c428268b91ec9ad4d189784f07155f587067e1e548e0ecabcad353e09b2fa22598c3673f68fd2250e2fb12c427539d5e96646f32813e783393a60e662575ce89c614a31e33a5ee93dff138b631868d6e24fdf286830552a20163ffbcb920fb72239b32b8823ea26b2456aaa0f12634d7b744b13d5e7db9cd3890333edb9932987c14629dbdc9997aa1cdef73c9ed98177ccdeee30a333cb30815eab45e186f8c92fe97cbc5cf74f51b09ec495771720a59f830df893dc4527ff1f55f283709892779106fb61c77b0a6473ea11fe1e3833960351725794bc39fb0b9a51395bb59c38e849010020fcc11a2b15a8acf2befeeb711e231fa7cd8354e80e7010bb73b78363d2935345fbec2c82cebf8a1a356c2533c1d4678324f76995e2b962638fc5ea5111428c481716f4f3dee1952c8bacec7f332272b23ba5342c4aec105fbb093878dfeec1b40fdccd2c7503babc01f467d535219856e24d79d4e608e2a86d50426786d418f9f82ac324e68e7eb8ad939f1a34785e2f62b049c84d2ba5f9f0c2036332cf770c78cedb72a9b270ed793dc1ef90eac905732a86dd07459ff3ceeca3482250fea10a570a6bf79b823bf27fc6f9450b53a0cdc7c988746330afc33a027926d99768fa862a7bc32c8233204a858fc5628176583fbaf192253f8a1bd3d3fa88e67f3646fa72fa08ee483370d84930cc4872266076dc1e7a252486a4778a5518abc4ba106bc0fbe9446a8a06d2c4fcaa4e831f5e80a2795aad812e90ddeb57af43b03b3c03fbfbe83f88efe674c1317443324119caf564353fde807ea3cbc66ae07d9bfe188d87d5ca304551c614564344ac9b998b959bb38f0ad35c5dd473015478b636ea5b50e11b253dfcb7d9673cb36b037d54d14ddccbcd8423a9842930988ff29f6b9b6473191b38e8160cadd3db4e97fa7796abadb1978c4e425a3c40507adf635029cdcbd14cd35e4277c03a9da9e347e0a64d4441cfb1b646dbc80b1afafa6700742e6d55f553d92659c9356b97a41a369f295a07b3db3a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ea255d87f9612dce33b022d81d71449f5133090f8cfa86367e988c4735baac945649cc862d4e0a6f3804e93f39b3e2de3291e15796032084189a35f48d33f1ffe42c4bb50a5ba9aa175ff9a6ca257ce9b949832c4ba2c052f8eb86b6d87f03666346f549719d34ce69f47b9b4c95077f88d9a8ec2e8f061d9095047a9b5d60d0fe52b62785a3fc4f08dfbcd1850bcde511d8550209f1a6ae2dffe8b7960e43b47146158e16a9ac1aa335a55f8dc1c88d07efcc7ab458a517367528d495182db4127a84c3912bb0b24b4fb0f1528e18166ed41ebbf92d622d91db219ceba1df30f118ec7b300237d5946fd4c443b14298eb4b554b1360531a52cde83595d0427ca067c34521cffb6dd042f8ddb002b3cd7fcf2972d833f3cb6af24ff8c3829e428f75d08f04b7fe5f021904d904bffdd40c987387bb648e4b08d8a51dffd9e30197874b4c72a155383690542eb985dadd338c99a74c9cf7728b4958e8eea417cef45bcad80795bc9098ca8a8e738a6b22847deb101dfb0abdc36dfa8e880c2d5747874f26e7f26ebcab38676b14b5c3bcfc7523cea76c4c2f5cde7fa777182f031b3bed899bca516714db68079a997a9bd470fd07b24b5cd4757369ad31465088d2971306519d1a92b1c921055249ad904556256701254a0b3f2b4e7f5b4c9e3e07ca9c873a53917af29ad06bb3579ce0e481233116e0eb0b28744b7756fc453618dc47d43907cc8190e777420b6c093d78436b19c41b6a434f94a0c6ef5e968142fda70535396ebaffeee4ba7649f19ca432796c0ba33622db0286a9f462f99f01945eebfdc6312fe471abd2513d7dcecb4beecbda089e1a063e77568c0059d98003cc0b6ebbf908e0c84d53632963b1d1ecbe44eca9980278cf469f935ee4ae5362d55269aa9e81531e8091201985b9791bb4acc728e9daa6d39df4f4d01986515d4f0fef15c3fe2ad7f51c1c5383853cde8d8c66f39575e588041481df72a2eaf8c689db216730c2a0fe4aa3f6414cdafcb6e8ba82c3915be86a705e7c12c48cbccd490528432f8e8a1dcade195f037c03cb62bc354f6f97acb795e31717979c1f36bf98d240b743200047c254d0d732d4cfe08af926f34fff3ff10ac6118a45ac7815499ec921dc1f77f57f3bc449d0c23480724440001d86b130a3ed9ad7a4324e5789df970c4a5e762c9ef572d4bab8f929f40f097ba04bfadf1a9745cbc3f64ce717745d9ced6d81fe1ad6f33a908269293fc67f822ef31023362eaa6bffe8af43e1fc0ca5c46aeb4c23c45be23adf79bf125399a6c8b11e87094627f349bebdde65b82c9174810307ce888f68fad03fa0cb92cf54fac5279df1fc2dbd09bdbac1f648532988ac8270b2f298197ff00ada38824d070339d472b83edae08a47ae2d93cf4b3b08618183e342b80bdb6b585627d886bb80b4df23a13c63e7b8e3761bf3e754dcdb5f55029de2739024c66dca82ef3602310c728a9b94d827744c4f204dcb3cd037a55ec4ae152ed5c3b8013f36798c0eff74a920258d191eb133a04b3515cd18a473618ce3e1c01616731070a2e7755ef4a33a62b5a991e02b9246a066c508ed21df9cea46c8cec2f7aea8552531da85edf79c62fb27a63c205bb44b6c645dbd1c9a26a3ff1c9b6a1d3615735fbc0d2f38ae8d57ed17adf22959f3e16029bd44e4ee0939d56ee617468a829a424fec5a52f64d9f3ef9eae6a2c3c1aaf35cfade70c7ee2f8a656c9b682c068ac95405891dc58638bfd1a10474e9ed8ce27d762bcda95e922e56013a04f21d294ddc0a5b720847782b906f7175bc51d0ea5b6830bb9aaa7727124d14dce62bfa3277dfa3320a55de8308bcac97d350a958f7da6d7edb1c242bdabad03717dcb128eee027fb16097fd700b26d558d6cfcd85617f1e1a53753dc22ef780cebecee3de68956e321fba4792778bbfafae60d4157eb82e6d8a7bd74eec9b879c882444b9a5b29d5de5db8b165f2d021322d541b0c2961b9cfce7581ac4560c715144aba3a62ead62b5843f38d63fd1f80de095567738725820170798cd1d075000154bc813ae683e56d4fea7845e8af74c91e2a7ff3d7bb585e7e57337a5b1c4c831b3ab6d1ae145473453beb15a4e7be2fd821a65107bb1226a679a80897d8548512207bd84e3d721e1266ec70537fcbe8a5d6f92c6c11bea0cdef828f9e362ce033d8a98b5007784bb99fbc49e577b05ba80ed9e4751517eca42b54fea51265e2dabee188ed3fb5cb6bf41f1348731bfd6c719df3ec0423007190f9918505ca67ebc081833edfc2100a99fe1d548b41ecadaf6d8d96a2af186dce60164a001bc27d6cce9240e78cd6df66b7690d282882f813f2aa661f50f9d3b497e6875488740fff39acf113751a0483a5030750f2f6024ebcf155d73d0aabf87ce2d76fb378f1caf6c59f7ad044569c987c5dcaf207022d5f78ceffd21ed3caef5c8910f0737d3c2377ad417d3e1f6c46df96db079513acc9ac66ee76d9940c07f1012275664b005cd6c987aebd9f6de1e11c527f274627b1048889bb61ffe6b5360d97123bcda35e89d11e99ab032f78f48054c71debe7b1c05f72cb1566445a7d0fab4989fe7fc53e8476a5cd671fed3536338b8531a10fe133a92b5a3f3f6e4a7772529cd5b9e1c4394efb6f755b6eb799f28f67d51773c81610b6fb407778b2d23f301f54999588af87868a580f180d8c0661844c6e153f202307068cb47e229c4c6a3152f1516a07efada60388e4fa2a77727b71c5e5b7554ced4b3cea784c27e9745612022192449b0b01f1bbea3d024902d9f72b5ac0a9c3ea3585494a55df791cc8afe15e8b5bce78a2e591a05d85301f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc88330e3c56c9ae6b3979b7e17e72c0afa3ca9aa6d8091f8b28858ad12c792c8fab3503e63bb7d5efe4653d54e4462a48283ab8d891c91976e910678a10916a78bdf313d3b01c6ae934e4a1d4463dbbb4111b79547765fbbb141888556fd6a938b2fa413e7763e364b06b69084876104db35d5c1b67493ed5de7f179d537f09e08b383c76079c15bef6f19029e9db2a8a574ec351b1b2b106006177e95e7d4d1a746306e40feaf0de6c99341848a8ec0a50849d1affbf75d6285a73f6db3d701cde04925d840acc6b257562382af0644faeb43de21a4136d51b66465aa9888ea9f8c648d0e26208824f15a81533d8c6bfd12f83af530c4e0f061d5023d6bc8eb9886568b3e26294d0df38ed83e438c245f94aaa52c2ece4c15547756e0d328c330b89b799dabb596e9d7f51fc949b12e694c6bc7a2dfd189917597f0eb2641974d244a189eee5a52495edd5fb742daea06806c1382f500af741ea55904acd51b7876979d1c5c7c5f79561c0ffb457cbdcca932bb5ca4e63ebfd00342aabc26352c9599b515a63f29d5a2bd3dc2a123b43cb9186535f6443d405d5a63511664cea1abe39a8b52dde3be600783b825b82060d9709ee8f686569092899d0602882071dc901987903f869639ae2c3f7859c459482f1cd8fbf7c7de4985af4e748ea057766cae63f93e71ba01808e3cf3e2d828639a2037f2eb0bacb829079d660e547df1cabe42c17ad82df2b6d89e1656cc89b5c080c5ed75a243acbac7573dc3c051b55ecfb0b510376da8ff912f2ce45eea541bc918488c59819ef791aa46e0e38d1481b6afbeeffd28a1afbffb484d926c3a58ba686047bbed7f985da7ea986b78275bf6b4aa7f95341769cad1401cf3640baa28fe8a58bfc267c0ba4f29da551233237e3fa112f25fbf1c25cbeb780c53b93bfd401a40d63a932dc5022bc01a922504e6c420b5f2bf9ad58e8810f4c606ef9770790351a0ea33d9846b52749e8c5b9ef4d53bafce397f097618a900d1320a7e9af180ae19da9e62f4c91d1b9af4b59a288c085c97ca2a44134e75db8d567b1a61043945830b22a21ab0741e235c11c83e0bbf7d9bc2508cc9b4a4d7a51b7e416ad9fa5239ddbc5d3293c40c488c1e459c8629e83f3602ba558bf005046cf7b11d73cdcefce0bb34eee4827e07c0f89a1a2e3a6c8d804e6f85e27d40700ca8a7aa4b3646949ae7883b9f15808e2ecd04aa8ec64b855eec926ea747c0a72f14e1c52a6f7f1a245cc19b346a6eb1eaf3d11712f5b970465d4d7ad72d0ab88739f60504f303f9522f5bfe9d0c1dbfaef8c65c775842b7b6499a6b56cea60ad8580b3ac4e1b892fab2604a05861fbb31d9fbf4e1fff7c1c9170ede854796eb498d04b1a2617c4da032970c7075eb3c3aff41f75cefd756fbb79c447e7d3033e8f688242e0b7a8ef074534066e5b480434d440317caf533878b6a45c9fcaf7a97f08c178f22beb584ccd1e264f86e08af127d7ffe4d8edffcb6c27a0770a54378c0bd65ccbc434fb6af012b2cb53c93be67056b0ca5b0f30cfa9018b91f6507db810db8b719c1b8196579d2c6a444b170887c66714e2fb5467b7bd6c97da777c7afa12e9a721efbfa963e431fb32d9a1f14a98eb87c6bcc7503119dd705bf6c52080229b4e2a025f87675cd290beda2b770c7f152cce2f8b1d9cae306737a11cb3b5a721fe9764bc269877f243e71cd9762d95dfe07dffb8664e470185bf43033fa5eb5b9d313dded82be20a4ddece8c4209d3b36b8452d196c4dc733bac4bd4b2304271c0c0e315e93722c2c49928546e15910ce13c41cd0c50cdb3e104ce94d06417436a1f548b39a340d3b5e11c62f8b1eb7be2ba5eee8879ec6bf9d2bf4386c0a70deebf03500c6f99c54f0804cd641c159035f947708fa625dfb1a66a3be8d9d8864453b662d667db512e11df6ed6e2c27f1259c8b865c492bf483cf9d1aff6946e2954899a55853acdb1a08f5ad23a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e0f41f309c84768b036de3ad9764cbf1010939fdb7349ce1bdebdaef6c0db2278a3010205cabb6e4587c5b45b569261bdee0e41ee0056a25a4fae5e4341d2f744cd29d915a806255bd0e584ab2999e75fc63a5a71b31e0f00824e79eff4befd42f1033e84169b25616e727b8cb26c7ff49207e9bc4c231fb8d81c53c746586c393eee067b083f131d5a9076d56e47cdd97c0b809c2ae6c46647419a183a22abf0edfaeb144c7d5bda829665b8f7985176ed985b923d69ffe74a4976aab0eb1d9236ec4b8847ce4d3288134c28a71b7674c8c2078d7b8b439a56e661b11b3a4d59ff2a98d8df1c7eee6162fbd6c397726d6ce068d4bc80262070393e1e19f57a2000cb24a6dbe436f9305adad1c71bed6181f1701497450f09588cf83fb577434e853e1919e4f94a85dad0f8223a29731a718114facaa5ff06aaa75c965da94d428563215e3ff7e88543939cad3fa9d68f7789af59dc00ac915cb570ed1e19220f5311f0d61997c18cb6f6d119c7a3a30bd16d3339ba75f196465f27f23d039f26d01ff545fcbbb9e2f9fe189e15eb86ee8814c7dc245e850a192a67e2fb30d93251a67893a6a604644eaebc33f0ef3572e2967afdb196be635df715297688ab95fe767d8adadedd1e526d0c459df38dad7c15fb87b96212573fa1727ba9ec0b392dd23f40233669cea465aa3d6d1f6c794a6168823f1d2c6324101cbccc05e74d721115738ec1eed85f9e1db1a1a86b560b2c4973e3837e3febaa0cea22e52418a73e161aa9fbbf7960e870dd323de52149ffc534b8b20532732d4270da9b2f8337559e98979b5e2fb83d8333d74c8d65082069af52359f85d6b43bbc9f50dcb31e39982a532f094299851a0125e434c4c6f7711f02887b022eb17d3f2ca4049b9416ed9de4c2163d6d65c9b392902b1ca2b8e5058acb0c349f7b0b75a95ea8bc25790180c09bcbcde8691b21f8792917c691077cc605f31bbfcf3627a96ab08f5e15088554b0bf462745980905eec414a38d62b0bbbf7b5505e5992ff670e6ae9cbf2a63a029c2e7362ddae3da4e08a85f3a960dd70d6d88c48e120ef009d172aedb6f60de80c781f33d3b0b88ca73857b6db1a0d156e734a2c3c8547c3462f22ac8aba018ac4fe4589c95c1469b67d592904f1effc1e0cabfab1f4cf2873c11068c553b2fa0b832c8efac20be1ca0964df993dfd18f34c2ccf832bf12b6dba16a419fe192f95f6825aaf4a29cf4345d9268882341c3ad1c5e4f572925fcfc7d7b2b5c53e9de81c0744878cd3814b82e1533af0a1e8c3475843b6c72235deccd1891a958e77c8c9939cfd43321c21ffe8f89778b88c41dfa3fd130c580dd06e6ef13dc49d484257fd42ea32744eea59876350bc23f04ea6a4fe1a92be297c08bf412c1af5c3588a81fc37c223b409270a2933dab993e0bdd8a843e3510c9250e19d038815eed4bfcf029c9f7e8e843cbd12ccbe318cfcc4e2d695780628b51c23d271cb12dbbad01a7678810ad2ebc379c9cc32b3728bd9c08fd242bcfa0ef3abd1c92c3fef1568b2d4539ecc5fe3dff83a16c7c70e5419e7ac998e86d92510e06431ffeb72af0eafbbacb32eb8d255d5e922bcd7febac4886b15cfc075e1ba8d6e891fcbdb7030ae8d1021a9cfe746d32cce9bf65e3b66087ffc615224ef8917d905f7be964bf96ecb4de8c0d533f359d37731bbaa06415b4ce8959bcded51a0f456d9cc16c2ccbf898902fb38753339a3367af3bd45ae2efc3b456a79533c90cb5bf54b13af8eaf8f1197001d6acc542acaef8d8f104141fdf0101afde9a8bdb6c65afdb78d4b11cb1f627bb19425631f440ebe44f3d299d8f0cb7773479d05c685d848eac07834fe693eb9537df199d0374150c351d28c96228fdb0dda1ff31c1c2b3845c302bedbcb272184c61803c8caf46979c41075be45fe1776da732412cb9ef139ee3cbb005547b74dcc316490721b0c419588c069bc8986df50530949a755aa99f33a349b74466ae33fc687bd6e2d4ad89da101820a0549036c523fef0e72b00677bdd84e29f32487facf6f9ba6781b413002acdb7df5e7d2c6ab2cfcb7f2e62ea375c19b987a95f429bb61bafbadf62e4e3d5d716d8504de744945be3c6ee9531f43c21da7d7f75d43e611549b972dccdded9c313701d7a3c8af6f403ebc615dad02f6c67ba7a0997aabad6470a5b34e58fe3233c7064f13906d3333170a7674c19349fbd9c07001abc0df53f336d846a9ad6bf2a378b38e129482a0cc85c83a9b17d2a6ac3d2f893125211435d0cbd1ba7a64add003e655eca2b4c975b6c2f64ab0348b0ade7b8d86a89743afd6707e71691ded7e006e552b9a7f42abf7217920863a62c79bf96f5b9854d19d51b020dbbc2a99d240edcc3e2fe8da60ddd800d37e14fa805e1d1ef3e67827d3f341f12193a6ee64dbfed7b5ed62a08ec06dbe9dfc7aace65c3eba7b32fedb9e797c639925ee3d86da52877a8197890eeaed92f36b22cc8983470e18f744643058aa3a5e378a91ec733653496d7c67eceec7066c82b0e2707b19c04b2f0bb7e4d3631823532a6a90ed870057e34a15a5e81e92866cb938e15e2860db246b698f0fa20ca0acf4f561a87a56dd3bfa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62eba56cf9c6ad9aff5b2f19a202285990a8fb058971f2884aaa4c97af70dd8dfbd1da84ee916dd45ccbbe1726a572af48e41b94b1c92c7c7371a8f99a018070eaaa5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-thunderx-19.11.4-150300.16.1.src.rpmdpdk-any-examplesdpdk-thunderx-examplesdpdk-thunderx-examples(aarch-64)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/bash/usr/bin/envlibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)librte_acl.so.20.0()(64bit)librte_acl.so.20.0(DPDK_20.0)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_cfgfile.so.20.0()(64bit)librte_cfgfile.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0(EXPERIMENTAL)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_eventdev.so.20.0()(64bit)librte_eventdev.so.20.0(DPDK_20.0)(64bit)librte_flow_classify.so.0.200()(64bit)librte_flow_classify.so.0.200(EXPERIMENTAL)(64bit)librte_hash.so.20.0()(64bit)librte_hash.so.20.0(DPDK_20.0)(64bit)librte_ip_frag.so.20.0()(64bit)librte_ip_frag.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_jobstats.so.20.0()(64bit)librte_jobstats.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0()(64bit)librte_kni.so.20.0(DPDK_20.0)(64bit)librte_kni.so.20.0(EXPERIMENTAL)(64bit)librte_lpm.so.20.0()(64bit)librte_lpm.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_meter.so.20.0()(64bit)librte_meter.so.20.0(DPDK_20.0)(64bit)librte_metrics.so.20.0()(64bit)librte_metrics.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_pci.so.20.0()(64bit)librte_pci.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0()(64bit)librte_pipeline.so.20.0(DPDK_20.0)(64bit)librte_pipeline.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.20.0()(64bit)librte_pmd_bnxt.so.20.0(DPDK_20.0)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_crypto_scheduler.so.20.0()(64bit)librte_pmd_crypto_scheduler.so.20.0(DPDK_20.0)(64bit)librte_pmd_i40e.so.20.0()(64bit)librte_pmd_i40e.so.20.0(DPDK_20.0)(64bit)librte_pmd_ixgbe.so.20.0()(64bit)librte_pmd_ixgbe.so.20.0(DPDK_20.0)(64bit)librte_port.so.20.0()(64bit)librte_port.so.20.0(DPDK_20.0)(64bit)librte_power.so.20.0()(64bit)librte_power.so.20.0(DPDK_20.0)(64bit)librte_power.so.20.0(EXPERIMENTAL)(64bit)librte_rawdev.so.20.0()(64bit)librte_rawdev.so.20.0(DPDK_20.0)(64bit)librte_reorder.so.20.0()(64bit)librte_reorder.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_sched.so.20.0()(64bit)librte_sched.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0(EXPERIMENTAL)(64bit)librte_table.so.20.0()(64bit)librte_table.so.20.0(DPDK_20.0)(64bit)librte_timer.so.20.0()(64bit)librte_timer.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0()(64bit)librte_vhost.so.20.0(DPDK_20.0)(64bit)librte_vhost.so.20.0(EXPERIMENTAL)(64bit)libvirt.so.0()(64bit)libvirt.so.0(LIBVIRT_0.0.3)(64bit)libvirt.so.0(LIBVIRT_0.1.0)(64bit)libvirt.so.0(LIBVIRT_0.1.4)(64bit)libvirt.so.0(LIBVIRT_0.7.3)(64bit)libvirt.so.0(LIBVIRT_0.8.5)(64bit)libvirt.so.0(LIBVIRT_0.9.13)(64bit)libvirt.so.0(LIBVIRT_0.9.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1dpdk-any-examples4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= 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)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDrFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~r     rr19.11.419.11.4-150300.16.119.11.4-150300.16.1      !!!!!!"""""""""""""""""""###$$%%&&&%'''''''%($)))))$*****$+++,,,---../01110222////////////////////.3333.44444555666666777777777777788899:::9;;;;;;;9<===>>>????????@@@AAABBBBBCCCCCCCDDDDEEEEEEFFFFFFFEEEEEEEEEEEGGGHHHdpdk_example_basicfwddpdk_example_bbdevdpdk_example_bond_appdpdk_example_cmdlinedpdk_example_eventdev_pipelinedpdk_example_fips_validationdpdk_example_flowdpdk_example_flow_classifydpdk_example_helloworlddpdk_example_ip_pipelinedpdk_example_ipsec-secgwdpdk_example_ipv4_multicastdpdk_example_knidpdk_example_l2fwddpdk_example_l2fwd-cryptodpdk_example_l2fwd-eventdpdk_example_l2fwd-jobstatsdpdk_example_l2fwd-keepalivedpdk_example_l3fwddpdk_example_l3fwd-acldpdk_example_l3fwd-powerdpdk_example_link_status_interruptdpdk_example_ntb_fwddpdk_example_packet_orderingdpdk_example_qos_meterdpdk_example_qos_scheddpdk_example_rxtx_callbacksdpdk_example_service_coresdpdk_example_tep_terminationdpdk_example_timerdpdk_example_vdpadpdk_example_vhost-blkdpdk_example_vhost-cryptodpdk_example_vhost-switchdpdk_example_vm_power_mgrdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebbdev_appMakefilemain.cmeson.buildbondMakefilemain.cmain.hmeson.buildbpfREADMEdummy.ct1.ct2.ct3.ccmdlineMakefilecommands.ccommands.hmain.cmeson.buildparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cmeson.buildethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.hmeson.buildeventdev_pipelineMakefilemain.cmeson.buildpipeline_common.hpipeline_worker_generic.cpipeline_worker_tx.cfips_validationMakefilefips_dev_self_test.cfips_dev_self_test.hfips_validation.cfips_validation.hfips_validation_aes.cfips_validation_ccm.cfips_validation_cmac.cfips_validation_gcm.cfips_validation_hmac.cfips_validation_sha.cfips_validation_tdes.cmain.cmeson.buildflow_classifyMakefileflow_classify.cipv4_rules_file.txtmeson.buildflow_filteringMakefileflow_blocks.cmain.cmeson.buildhelloworldMakefilemain.cmeson.buildioatMakefileioatfwd.cmeson.buildip_fragmentationMakefilemain.cmeson.buildip_pipelineMakefileaction.caction.hcli.ccli.hcommon.hconn.cconn.hcryptodev.ccryptodev.hexamplesfirewall.cliflow.cliflow_crypto.clikni.clil2fwd.cliroute.cliroute_ecmp.clirss.clitap.clikni.ckni.hlink.clink.hmain.cmempool.cmempool.hmeson.buildparser.cparser.hpipeline.cpipeline.hswq.cswq.htap.ctap.hthread.cthread.htmgr.ctmgr.hip_reassemblyMakefilemain.cmeson.buildipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hipsec_process.cmeson.buildparser.cparser.hrt.csa.csp4.csp6.ctestbypass_defs.shcommon_defs.shcommon_defs_secgw.shdata_rxtx.shlinux_test4.shlinux_test6.shpkttest.pypkttest.shrun_test.shtrs_3descbc_sha1_common_defs.shtrs_3descbc_sha1_defs.shtrs_3descbc_sha1_esn_atom_defs.shtrs_3descbc_sha1_esn_defs.shtrs_3descbc_sha1_old_defs.shtrs_aescbc_sha1_common_defs.shtrs_aescbc_sha1_defs.shtrs_aescbc_sha1_esn_atom_defs.shtrs_aescbc_sha1_esn_defs.shtrs_aescbc_sha1_old_defs.shtrs_aesctr_sha1_common_defs.shtrs_aesctr_sha1_defs.shtrs_aesctr_sha1_esn_atom_defs.shtrs_aesctr_sha1_esn_defs.shtrs_aesctr_sha1_old_defs.shtrs_aesgcm_common_defs.shtrs_aesgcm_defs.shtrs_aesgcm_esn_atom_defs.shtrs_aesgcm_esn_defs.shtrs_aesgcm_inline_crypto_defs.shtrs_aesgcm_inline_crypto_fallback_defs.shtrs_aesgcm_inline_crypto_old_defs.shtrs_aesgcm_old_defs.shtrs_ipv6opts.pytun_3descbc_sha1_common_defs.shtun_3descbc_sha1_defs.shtun_3descbc_sha1_esn_atom_defs.shtun_3descbc_sha1_esn_defs.shtun_3descbc_sha1_old_defs.shtun_aescbc_sha1_common_defs.shtun_aescbc_sha1_defs.shtun_aescbc_sha1_esn_atom_defs.shtun_aescbc_sha1_esn_defs.shtun_aescbc_sha1_old_defs.shtun_aesctr_sha1_common_defs.shtun_aesctr_sha1_defs.shtun_aesctr_sha1_esn_atom_defs.shtun_aesctr_sha1_esn_defs.shtun_aesctr_sha1_old_defs.shtun_aesgcm_common_defs.shtun_aesgcm_defs.shtun_aesgcm_esn_atom_defs.shtun_aesgcm_esn_defs.shtun_aesgcm_inline_crypto_defs.shtun_aesgcm_inline_crypto_fallback_defs.shtun_aesgcm_inline_crypto_old_defs.shtun_aesgcm_old_defs.shtun_null_header_reconstruct.pyipv4_multicastMakefilemain.cmeson.buildkniMakefilemain.cmeson.buildl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cmeson.buildl2fwd-cryptoMakefilemain.cmeson.buildl2fwd-eventMakefilel2fwd_common.cl2fwd_common.hl2fwd_event.cl2fwd_event.hl2fwd_event_generic.cl2fwd_event_internal_port.cl2fwd_poll.cl2fwd_poll.hmain.cmeson.buildl2fwd-jobstatsMakefilemain.cmeson.buildl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cmeson.buildshm.cshm.hMakefilemain.cmeson.buildl3fwdl3fwd-aclMakefilemain.cmeson.buildl3fwd-powerMakefilemain.cmain.hmeson.buildperf_core.cperf_core.hMakefilel3fwd.hl3fwd_altivec.hl3fwd_common.hl3fwd_em.cl3fwd_em.hl3fwd_em_hlm.hl3fwd_em_hlm_neon.hl3fwd_em_hlm_sse.hl3fwd_em_sequential.hl3fwd_lpm.cl3fwd_lpm.hl3fwd_lpm_altivec.hl3fwd_lpm_neon.hl3fwd_lpm_sse.hl3fwd_neon.hl3fwd_sse.hmain.cmeson.buildlink_status_interruptMakefilemain.cmeson.buildmeson.buildmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmeson.buildmp_serverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hhotplug_mpMakefilecommands.ccommands.hmain.cmeson.buildsimple_mpMakefilemain.cmeson.buildmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cmeson.buildntbMakefilemeson.buildntb_fwd.cpacket_orderingMakefilemain.cmeson.buildperformance-threadMakefilecommonarcharm64ctx.cctx.hstack.hx86ctx.cctx.hstack.hcommon.mklthread.clthread.hlthread_api.hlthread_cond.clthread_cond.hlthread_diag.clthread_diag.hlthread_diag_api.hlthread_int.hlthread_mutex.clthread_mutex.hlthread_objcache.hlthread_pool.hlthread_queue.hlthread_sched.clthread_sched.hlthread_timer.hlthread_tls.clthread_tls.hl3fwd-threadMakefilemain.cmeson.buildtest.shpthread_shimMakefilemain.cmeson.buildpthread_shim.cpthread_shim.hptpclientMakefilemeson.buildptpclient.cqos_meterMakefilemain.cmain.hmeson.buildrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hmeson.buildprofile.cfgprofile_ov.cfgstats.crxtx_callbacksMakefilemain.cmeson.buildserver_node_efdMakefilenodeMakefilemeson.buildnode.cserverMakefileargs.cargs.hinit.cinit.hmain.cmeson.buildsharedcommon.hservice_coresMakefilemain.cmeson.buildskeletonMakefilebasicfwd.cmeson.buildtep_terminationMakefilemain.cmain.hmeson.buildvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cmeson.buildvdpaMakefilemain.cmeson.buildvhostMakefilemain.cmain.hmeson.buildvirtio_net.cvhost_blkMakefileblk.cblk_spec.hmeson.buildvhost_blk.cvhost_blk.hvhost_blk_compat.cvhost_cryptoMakefilemain.cmain.c.initmeson.buildvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cmeson.buildparse.cparse.hvm_power_cli_guest.cvm_power_cli_guest.hmain.cmeson.buildoob_monitor.hoob_monitor_nop.coob_monitor_x86.cparse.cparse.hpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cmeson.buildvmdq_dcbMakefilemain.cmeson.build/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//usr/share/dpdk/examples/bbdev_app//usr/share/dpdk/examples/bond//usr/share/dpdk/examples/bpf//usr/share/dpdk/examples/cmdline//usr/share/dpdk/examples/distributor//usr/share/dpdk/examples/ethtool//usr/share/dpdk/examples/ethtool/ethtool-app//usr/share/dpdk/examples/ethtool/lib//usr/share/dpdk/examples/eventdev_pipeline//usr/share/dpdk/examples/fips_validation//usr/share/dpdk/examples/flow_classify//usr/share/dpdk/examples/flow_filtering//usr/share/dpdk/examples/helloworld//usr/share/dpdk/examples/ioat//usr/share/dpdk/examples/ip_fragmentation//usr/share/dpdk/examples/ip_pipeline//usr/share/dpdk/examples/ip_pipeline/examples//usr/share/dpdk/examples/ip_reassembly//usr/share/dpdk/examples/ipsec-secgw//usr/share/dpdk/examples/ipsec-secgw/test//usr/share/dpdk/examples/ipv4_multicast//usr/share/dpdk/examples/kni//usr/share/dpdk/examples/l2fwd-cat//usr/share/dpdk/examples/l2fwd-crypto//usr/share/dpdk/examples/l2fwd-event//usr/share/dpdk/examples/l2fwd-jobstats//usr/share/dpdk/examples/l2fwd-keepalive//usr/share/dpdk/examples/l2fwd-keepalive/ka-agent//usr/share/dpdk/examples/l2fwd//usr/share/dpdk/examples/l3fwd-acl//usr/share/dpdk/examples/l3fwd-power//usr/share/dpdk/examples/l3fwd//usr/share/dpdk/examples/link_status_interrupt//usr/share/dpdk/examples/multi_process//usr/share/dpdk/examples/multi_process/client_server_mp//usr/share/dpdk/examples/multi_process/client_server_mp/mp_client//usr/share/dpdk/examples/multi_process/client_server_mp/mp_server//usr/share/dpdk/examples/multi_process/client_server_mp/shared//usr/share/dpdk/examples/multi_process/hotplug_mp//usr/share/dpdk/examples/multi_process/simple_mp//usr/share/dpdk/examples/multi_process/symmetric_mp//usr/share/dpdk/examples/ntb//usr/share/dpdk/examples/packet_ordering//usr/share/dpdk/examples/performance-thread//usr/share/dpdk/examples/performance-thread/common//usr/share/dpdk/examples/performance-thread/common/arch//usr/share/dpdk/examples/performance-thread/common/arch/arm64//usr/share/dpdk/examples/performance-thread/common/arch/x86//usr/share/dpdk/examples/performance-thread/l3fwd-thread//usr/share/dpdk/examples/performance-thread/pthread_shim//usr/share/dpdk/examples/ptpclient//usr/share/dpdk/examples/qos_meter//usr/share/dpdk/examples/qos_sched//usr/share/dpdk/examples/rxtx_callbacks//usr/share/dpdk/examples/server_node_efd//usr/share/dpdk/examples/server_node_efd/node//usr/share/dpdk/examples/server_node_efd/server//usr/share/dpdk/examples/server_node_efd/shared//usr/share/dpdk/examples/service_cores//usr/share/dpdk/examples/skeleton//usr/share/dpdk/examples/tep_termination//usr/share/dpdk/examples/timer//usr/share/dpdk/examples/vdpa//usr/share/dpdk/examples/vhost//usr/share/dpdk/examples/vhost_blk//usr/share/dpdk/examples/vhost_crypto//usr/share/dpdk/examples/vm_power_manager//usr/share/dpdk/examples/vm_power_manager/guest_cli//usr/share/dpdk/examples/vmdq//usr/share/dpdk/examples/vmdq_dcb/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Update:thunderxdrpmxz5aarch64-suse-linux  !"#$%&%'(&%'((&%&((((%'(((&((%'(&%&%'(&(%'((&%'(&(((%'((((((((((((&%'(&&%'((&%'(&%'(&%'(&%'(((((((((%&&&&&&&&&(((((((&((((((((((((%'(&%'&&(((((((&((((((%))))))*)))))))))))))))))))))))))*)))))))))))))))))))))))*%'(&%'(&%%'(((&%'(&%'(((((((((&%'(&%'%'((&(('(&%%'(&%'((&(('(((((((((((((((((&%'(&&%&%&%'(&%'(((((&%(%'(((&%'(&((%'(&%'&(%'(&%&%%%(((%((('(((((((((((((((((((%'(&)%'(&((%'&(%'((&((%'((((((((&&&(%'(&%&%'&(%'(((((&%(%'(&%'(&%'((&((((%'(&%'(&%'((&(%'((&(((%'((&%'((((%'(&(((((&(((((((((%'(&%'(&ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6159553b9011f7f50234b7e15a34f5afffa5fb2d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=55c9dc80d4b963095afb3f10d4b452e320572805, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=44aa4ad4b716e91fc857ca474b534b04e621a52e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a11d42dfce2a52144497f09b56aafcd8c76697dc, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6f812cd9b9a6d1c2af72a8fc85198694b890d7c0, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=359d7643000fdf1d3cb62d8b022bdd0a7412ad46, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=7f2f3172757da8027eeee37870e5add3dcc62def, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f6d315d6978f2eda79b0d46b32b239b5bbe70074, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=95630f3bbb0188022b26b0727f1ae10559d4c784, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ba48dac086bef4539052893622633d9b3c9eea72, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f0f848d4e802fa849bff5e80af177a6b80fa6bb5, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=294d55e15d6ec639a04cb92c8adce6ca39210846, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9214ef5fa8141fd8c91b5b671ddc00a877588ab2, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9acae0b023b78cfe8b82f075d062ec898de2d5f3, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=78cc56807b6a5a83adefddd2f65985df647fa2dd, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=50e40d099a0dd92210e6f33b68c75c59fca51a4e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4e686e7c4f512ca20f294d50cbdc7258e3f134a1, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a343476f9fcc314ed4688533747c3e5e1f86f820, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bb60cc4df0f83159d1c62d7e62e7d78c9a6a4e89, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=688f390ce2ca7d6a24452fe8ed41651e3a3d2369, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=67e73d022bb05b610be19b77bc7408b7fa87541e, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3759821efd2de734a5ece659b96d7c9fd61e1362, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=94135f84bfb4ebde438a62e23d8fc8013196a9ba, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=dba540ea7935001cd0f3f1839f70484c1e1cc3f9, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=488553d8688968d3d74dadf90f05dd828e1c9ebb, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=d61c75d031af440a471d699900fe24affd47ab2a, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=72043e1d62d2ee6270bbe0484d3967514889581f, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=f95fa8df38d81e6b0ab551da90e731387ee26bed, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a1a21ad6703afa42c6f92dffa01361e49023c311, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=39f0948c40dfaf11338d32a20d7812490f1db0f3, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=9d6939a651e2adbe919531d6902b4cbecaeb16ac, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2393d3d471aa47a7b9518513530aa858b0625174, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bc1b0117c8445b628e38864bebaa9eae0b8621df, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0e284451a4b14dc266b9fae6d1f998878cedceb6, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=b2b6fdcc38f9990597da9a3b3493f898fe17bad8, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=2315eb024c66c194a8c831a3e1e242a2b0e15ee7, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=8172264ef7c5212890d48d7bd39c53ba9fc68005, for GNU/Linux 3.7.0, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executablePython script, ASCII text executable )0;GTdi+BKZiv           R*R,RRRR)RR+RRRR*R,RLR RRRR)RR R+RKRRRR*R,R;RRRRR:R)RR+RRRRRRRRRRRR*RRRRR)RRRRRR*R,RRRRR)RR+RRRR*R,R2RRRR)R1RR+RRRRR*R,RRRSRRRRRR)RR+RRRRRRRRR,RNRRLR%RRSRRR*RRR6R7RCR5RRRBR)RRR+RKRRMR$RRRR*RQRPR,R2RRR(RR!RRRR RRRR'RR RR)R1RRROR+RRRRRRR,R2R*RRRRR)R1RR+RRRR*R,R2RR&R%RRRR)R1RR+RR$RRR*RRRRR)RRRRR*R,RRRR=RRRRR8RDR)RRRRRR*R,RRRR)RR+RRRR*R,RRRR)RR+RRRRRRRRRutf-8a61d7fa5abe1ee6b7f755fef4c77bbdaeaf63234c78d6c479c4af72438bd130f?7zXZ !t/]"k%져IOO.C !}B1; /Sa)*\Y݅$0LiU߲G%eɔNXE$+g2rd ZcwVfY"=%u '*g?d<ѯkRM)d&uQ[ݱ By4^,/إ̬nZsb%1b͜Q.0`!h[o ^4U.B&hajm ݓT?f:D|BKT03u3>;E-g1ǔœk5BF\&rSw mQ7&u*h|4 5atsdív!XӐR; iݖ;"8DSzMfտK_^8 qY+(Lݐƙ#gJX*Z̧ ~Pchaᛍ]|ضl)90;>2$e?HSo"B+j4̘g!ݼtm-[cFx(w!e`udݔdkLW+F㸷 touވc8wQ@]WN y&WY7'= i*BS\}\u+5sUjT^&C#v+7.ܳvyD.MV4Gp!߫>rV|hRU2`טh)N/ -d)90`>$n B]@Z1ڞ|>y ! <5QEQ{3G>L4 dr٤Sm#y0[FyR~塌0PdDKL %5n?4yUhh;j&ć>e7y0?jWnQ>+!49IJrxa 17OT}^7@{!|jtG;oJX[N!wB3x1ZFĵj]f3_1H `#3u'$j0WfFUm dS+8;\n薮 <С/_Dj=2ӠEtV՚{!R ׵+YLۦCǃIӯF' loH2 uTq=o8O+-Rbvf%L0M-Jt\m*j%BV"e)ݘ &l,m ۚs3BȰO+Y!0)ެ5riyt>|1}. qMCd7迷{[氥Hx[uܑi[#<6: 6@ei~ҘH8|}) rD%Z9\ʴ7]%k*pmV„ ^ 9o`aeՙ`pJkgLSY%Ig4j*p[wRT6UR&D)5siHLJs5oH3Q;ؤmiUcL^/^a"3D.(XgŵUۣE9[P$Br6HL.dw =1 McPܰuq\œ;1 %,?ۀ!LiuYN"_rՅhhEC?w[QO?߮.=]|cdi+6@'Ӛ1ry C^{dI$טi&LBreI|U}D['$Ul_G fE_y7t{'7W#wYYn^&>_.z`,?nԯ!WpZ vrj!=)Y )P, {Pr(u0j_72-SE|lI`7͠M$^0ƊWZ x=ե vRԖ̂@eEɫ lrhAX &=xAcnfy s,lxrC846-7!1;:=}G¤}jerٌ579N=ƪ%去E o{>3dݰYprD%0HAd;80!=kEeΛtPvWR>| ^8Usm4[&PgC\@[lOK|:&TIc?_#A`Q%Ѽr`)k ϬKqp * 6"aQI V`Ub~G`pa9c/ǃ1!Ov@@# j;o;EPD.:-6Ywt\hV0棁w@LsRDeYv/%eQ Q'(-;[!B\dF{HjU(jcJ_EٻL-v pQPkpM$L? KuDr'}OZt;ԃk*~KE4Hxذ j= iDE Si{ "VGcBT2o}Ky{>H>lK:{9rX b+me/z7bhTSD%&zf-TG#Bizv}4Qi4ȸjՍicnz[wMgBRiC9Xgez I@$"s ?NL{gdIPM-*Yʬ:%jOw=qq+(oqhǃ2e$  Ӯ-p&xNA뭝Y\1񦧥`Ow&)];zYƋ': 59$9ݩߟSyŖ9e`!9 d`?u~O\߁vBS(nJ~NU&8,ɝe>z/#v(+a+BA׻^-A+3`2Fj([8.SGüJx_XwADA!G%.`$O69Ş2iNxud1ǜ=wzeU\l0XAn|P d[LuĒ5 I5B ΈWu;9m"K8BJIueMAVhk9Bg=JȁJ۸L!9HߠD^RRĥx:>,GE Fy\W6|NopKpBI17W_,<>]Ϝ6S /`b{d,ox|&? 78PARZ'Vr:1:l&Q]>3׆?fo]`&d CuebC0raBլڴq U+uSTUvFoEjGx//a"[zg'k y^MCz=`Q-T*tXXK"8hknwL>ylU{2f QID_EC%ӭL !(WT |Xt6W&Si&bRМЉħЗ1O:WD&xչu{{s^йN=F]rݠ5:`6N. zE1h]*+cnvPqoAq2گa `{6#lϲhl\3>_M|b+lǒ%Wa6#Y߷1|ZBdVJG_ɪ]ߦj-,=CXX֜B5|d ujq(4nIWS62IJ Ny[嘲 iHCYm̎;&,sƂ-TPO?,x\5=~Os?ցfҭRgf@N o.}<> xgU T`tȰP c7ZXyk5Q8<عUFDgb/p_.q$ FY:HA8)5w)K&1e6kx$knހxCa9* EkRڨ(܅+ƬZkM'{}cŰ͍C*VR&^Y" ^ժJHr>$\Gk\y3u.mX_*3.(eI.X([Ukϴ8D#5Q-تH9S;J\@se,TE:y˽c z_IZW?kj\V#&[ɸ <1vO G%B3hKFAQD$oN`m4,`4CD~ٚ TQf;zV`&9S=8]D4GKx:a\EmI9}9׺3U@ R"L _²kמϛkOFdl  r[Wᑡ* Z'##l^ip$'.MK9`xxHߌ,Mpko."cj6gc>I~^_I`fnB]õ{,E1pb1u,.ؽNΙP=>Ks~ K(NwdRZY،#.0bWS1ÅxNZl Jx^q2i;6\O!OŦRȘR;U\|^):Y~xGrs]Y05G nL HXMN0wV66ϊ޸`@DY4sh;3LPiZBKN@1xUy-[.Zp; R整QgW(dawI,Yk=jiXcC/uwjH+tN7߯^S_ҽ3>sBC { tWtIr7_ẅaV6y}-?(8p$v,Kk |LU)0VŐxI8Yf{̞+P&!uyE,Fxm?N~ l qVmYP4E G?UŒWY\3C;fec\9/5"~SlFd WՐZ=etͧ6 bȵ(9AAĒJJ%HrMNQ6-NtXvP6 E V4aC0d'f$UUҹ[PP*&kX(*r) od }vGwxꩾ B?ZwшaNC I!Gs f`Z_ь <<֙T-dci+6Pf/G6\B q/BNܒXMR_A(ŐEHF~JaƲvI8dsnɯDoI /I=[xؤg-k H$BN_`q^2Z9w!E9@6h3C\6٫|tSBw;]^u)m͠9{BN8?s~ mY1tϫ7U 0 BZI劉\*: JBlu=8v`q,hb8UH5`٭ "J0xJz,e7ࠁR xu.\7Ev8u tw:+>rU#-6[7RVUAcF=5d Q =V7q$k:mxaP/b]ݞ߁9 a'f Tڌi;S&J$Y&!q{>Og-#@AN/F^(qK%_;Xq<.TgQUjU# .CaCPO-|'P8Gيzq\0ŃװMt6wZ("XҜ2uqA}Ƨ"C=A ͊,t#G ~h-hJRGr<(C]=,A,A`ؖ~q0^0k$ۢ`#!LBnF"楧z*Zu`TV7w23yo캭'UTO*tWPFuV ,Fncͩ0Ow+FuӌL܂yJZDN\d]ws)Z;QC7k6 /EʹO#%x ԫI8:UyX#q^i:e"(7HY&X*[HjU\9k 2i|L ɹF-ː:Dko| 770s8@.Tԏ&zj8bv蠕2 ^[GTc/Na5@P㩞/A"x6d{9zx HkeȘP& @";o$t/xvoR] 4!ZW`9 ' l Vʏ՘iEsEԽ/d}7e#9$Wu lHthWy() 8ޡMiRjҦ-֎igV~<$+_UG`J̭y~5b"r|}> 7NJpp@:ukk@88C +};S oX\ 93cotgܳܭdkb-cJiE<~q@TG);fIɲ)1{T5Fɝgé,xZD%nv%T5"XhStPunCـ]r**ӄ@@"|\fY|{"9Z6!"-?7xv։;Zt,VfCK GVXk}k_LjGNjwr#.V4p(ᎻOq/Ҿ\ф%V ߴ#̨3EFsnc#谡_mؽ;dw:BsR&|}ߢe;os0H}eA1FuHfNIRv{Zj`"$a+\4jo=}ë\__}h )Vވ` @)ᷩVm{J8tR觖1$\G~Q7^bO޼y -! # cp2*"V/_)*o_wYm<[Zw_]|=`Rfd٭%4;9PBI&mŷ lepU7aL{Lw7^ilJx#+=/zV Z2$\]'Or^@ Zիs,<%>z J`%Ȳ -:zY!bЄ y~Q jMW{.syRE/e1֨~僥RnD/6we #@"cw}Ʉ:#갞tRKw 9 *F( \ȰRXHRU~`׽L~QS. ~ )}e٥qԉ  ѽgZp@!YB!sO4W ^= "gmhAffx~[lތMCiW^mIυ%7%q<;a$ETThRF\oqe>m}rl[J/H> ,~xF?Q&w)eswg䱉bcWg1D}ٸPg{0kL_̀7TZ9H86|Ғ}v_ Л&9GlRl>5r9QMJYͮEGDzFuNrw,ſm=d@T7=1Gc#m.T3j wnWCu~4CɈyݔ<.|6ݩSB.ή^bNKaHf77d^dF+yEF=N¤| 0y}IEIw0TnLO;f/Vw@/kkP3(yh \/{Qh\~p7YyW @mST*/"F’fo u+xiOK“t 4QK7`NJn/0mR+yMu=7igqV4MvF;lsGVKj/8tNe; mth07,j=T؍Ri ]lE-6̚~S%Fx >|E)Ҡۓa0뙸4P|:\§pGL%kOG%৏Y\K[|ݠmS/vusr}5Ҷ,F6;"hpj)hCHa%tHS_V.q5fHj%ݽ? 8lYoV=ƪ>6+HGdN']>⩠hlQi|-8,J g{Sk,th:1$%d݆?G=Q.C{FVoKDQ=fd&HiƩzV*>oje-%eR1kijy?.k[r ~nMKS(Y:)^~.uϰgJ[z~5ҽKNԊz|?WT/LO,dbBٜ"%vKFW!gg,ҧbq|RfC(DZGZ[)|X~4 E:~"PU q^ϸ`ʍ`[]w`U??n9pǿo?K/1A.h)qȳ. ``3[ 10WoM-!zi)+&Ir +tSAY)FN.0?x~c67!}BSyC80̡^1ɖ Gd$<@w%+Ua:klί9}Rޒ#T>2܈ z<Ʊْp |`C&{:m"s~swAa^-Ñ$U9qq(N5 f {,]$* An~{Mkvgةq2%FQ ܷёly K3]ֻMT3k'.񯤥q}Y r*PzSe-~'hZJvEN#uI)VRD[\ӄFrT:_ ch}r3ӡ/nCm7c͖{23/1a\l:jgW`i>mGj}X|=v=f7~UowS9(hpݛJuݏ7|riPtD5K" k+Kql2Jι V"_@+KX :knW(Huq~njJMd酚V݂8so^W#g].8PGPa@~\QStֈd~*84znWo$$TYvf6ӫƢn ǏH0t"~Ҳr-)'PlD{a%#mRKV)`#R;IQ8^J<\T4^2%V F`s<5roR6U0023 bi:8#q362SLLxwd┵\J&Qs^rz{,xR+YSYb ,uTV77\WE@L?IOB&5(>"VMxs2}8K-`lC 25oYhu'9F,òcoLUPs,6*=*BJ8=r<Mz5d[]3wgf+gʦSCz?!{@(~)!e3ŤɜwSi_S@w "/I`4]\ Cr _>ӔMU{KN6P M 1ȡ("N,AVЁA_4~Q+0Kg^^yN]&.em3Q0nպLGFN7hɦ=՝2[o/l ^#}i89A\FXP2nqs^X9긧w1lkPG8gnU6EB} R3h.6X[X'`YBz%T }d3F "F{U N/)q-}1wHՌy p1fwA>#%gr*V-M ' 87q5o„lTORP:H1UJ K?殦{soznN`k @7c·0@x^{u)3؉`h+X]-pArd q^ (|ԭ+f3[.?`@aBGFpҒG064]'W%öh #⤽ȂD@5sM _~4$#.$Ѻel d6 KC&5*߬Iڥp7h#xqwoS~5 ;X4 n{ecM2G1Ǜ >xtU2JHk4Ljbk{ ~AÇɷd|:NM‡S˨n/u-x ʱշxQt9iAAL.T hW|DTqVKy4Y(I.0PȢACyxAU.;VFDU3XފZK`Yi63כrlԹFp"fVeu0"^b%-tDӧvJ P)(l4<,6j%ۥB47Xw(TiaT(C򴷏`K㖢OβxnVZZ4=ՆaM.Ekψ&3+ǑP<9 k9m:O=OBNg| :WLj]!ꩉ(iRw;+[D,Gl@D#ܮ^@տ"p%z >Ղe#H+hTy&{"=ɡpCӾ kk/cjW~w$`#wVˢuq& <r`jD3>^%7_;mydYG?JcO|޺[pjuW=ȦRs"e[+~^pq`3F}P n<~gșrK㋤i@Dz'"A4ddfsc.BQP;Ye3s] FcO8"X2lXUBn (V]Z茳Eos>"Y[1V#笐зTl+xsU[;b?'T-{ǡրhDžgxŘKޱQ"Иz'{8T_h$u6^RDxW3[p-bw=86W\RQ?߂tL v6Ş¿[?HbM +^D3IҚG63ӿEVFX٭Fc%y8ߡRZnN˰!Dfs5| @>^(e4𘂨 i< l!P;Dtn$Z~[D]83ءUGSz)۟ QV.a24/ H@lhB4مc[<" j > B=يFA?U:{1cଡ଼4i>1g_/(Vt8z{0;/""v*Wquz Jvci{Pдv Q{ I4n3h@2`g= hOjt" My$[[h.pW]Dȃ 0cA0 v9 4j48|d=L)ciVMݛGA8[}k OCGBsaq!ljacx ^E7Ią /+ oȁ1\\$Dcp26ѥ8GDgYNyQ馀6Ȭ"W ik[Ցjꯧ3 T^NwSIESxyq1e]qĻ>5!;ϥCG]PzdVfCֆ0naGV'S^'n+ugR,ү~yY}tNQV}RYVYL/X1'2"=Vh8dcev(KKۿ(AZRU9Z1B FEnOfIW,E"ɰep~{iuD`ega,vt[(h)mFMSd25{WvJ<\hYdG`47/qaoh' {+(i閫ZAUq/&s2>{/~F oD6U Z7b{'o,nB8؟^VlHJYQS*Lt"%/h:&iZ%NHzDpL[쐽l0: klv42ufsJ!.\E6-cOߡbǠ FQ dۘ`aHB2B :k]%b%o*/=`" ̫kz7EQ/=u[@,1eD[Oͱ2nXsjn4mAZ#>MCLj"HztPA\pOsc_]}*}F< =գfN2.D4ݤh X{@e!,ˍs 6^q$ `Iv;iE $UAr1\pm=qڈ-%= lhg |[ 9ׄyMĀTN.{+n[vXO@\}sK)VX {ȌFQxIp3ԽJI&{~Ă"G7lWkH䅤7')I@ަ`6⬣$,]#{8$"oN7dCv@%[mU@*TՀ ) tkJ#yoU]v(&lr6&jiWN]IA'Ôz>=^_@r4DsqP 銆Qg4*ӌc#줢 tۜ}+=#N, ]w/FqYxީW1 f㛒ocDF qk?fRU7'w^0"x+{UG4r UHEF0cdT2 I'~ɂ]3KOrf% ]C״a̘Z'YY2\-!s6 㐧JN}Ts'ᘼ>Ɇ@-̆=ǚD?E9}2QdH6sf%|7*yY*~aE1e ͚afEhz'uB"`)b4:*"}]}p86v"RͥJF# N `W٬,Hz2?R.= U)8  Zv${׮xSZExV GZ+6AfN. tW7J?il=Sh1 YZD0/ŗz718pϚZ:~>x3f>ZvfӺEnz/>gn{Heu{KII%1[Kwߡ_T[h;ݣA`Jq5K1Hgz"zKԿkFכPRU?xzgOlpUat('yPmS@SN ْtxbScA OVmS@:QH5~KR\}b :刼sDNz51R}RR \i\EzYg=18^,r'ݭAcV&6rCxϾ ژVeWH1$cU-^} 0&5l(|"[O?ӝ6"$ȧTF6 i|ڡsJZ_-1iXx~4Y7Ŵ$\)*AYUBJ!iX;Z.F,nEJv\dU;;ULh۞HǏss q bo@nk9gE@D+,wL˷eG4)0c;8}$umһO~'ʫZ靗Q8h"u%Ȑ>@R1$Wlc'0'CNqԜG6 MaEMϺPü!`J$'P46QVsm @<*3KpKr3f^<p-膵$7:7}(iqĄ N]ui,ڽBTv h 8Dv7:w.B[XI V K/40g16%Ž*`l;Q!NtϤ}zgr+AFcZd9$1DKJq'|f;dG6˝foU:FϸĀbfN տVHjb+\n(s}@}H{d:b'}c=⪾jP6U4*T%<8J:ְ(7ZΥc5E#prg`߰pxH( Txt R|KGErBĠതJOWC3F-R]M~]P I"ۣ,˛6)vC5yYl ޢ*?7qlrMfnCsLQ䬦4Hf?lEWQ!"c{7X,/#Q.ZH*)8xL&pQw?)huwf@rݺnz(1IB[}yՕr9Ny[ _׎c&?a#P{# ^$$Ǔh\:!OQ/j7vS uT@@|"#xA{$x+²`!<.C0H$ FkJYrog؆ l*3 LeUK k!Y-:kB=RiYHqv,B(,<`>橲+_1v#Lqutq<ȗ9. 'syLs\,q/JpWMjʮi܀TU;'WwX 48ZסU"570)OFt`qVUo=v5BjDHy<gU8p`0{`!hFe w:yO3 ,ySy]5նae6ۼ dfX'I<>Q,Q!> CP*EN癢] 2@(ѶHT}W O_a#=ۡ58>IBflTbFzOKHÕO)@ (Gb?gԁO}>(v};٩g=ЬoD}ŠA_EMnGI^b)J?/a]}pDZ;jکb~{{Hx?4V'V[Yv/h9>lL~J~jlp),b MRtÃvxGӃpIL=W(VEOҏcR' @_[(I  JzTݬӋ-̃Hk]dH h4 \% Y=+Ki۳L! k J}ccJ9J 8-I5,3'i.)b8/fbŰzî3lybf'K.ݖINh=5.(#Ejhe]}ζ޶#5e<'c)G;P k2wf"xNS/t}W?v[=Y6=*ڼڧXvV8ƯBudҟq UOtLh<1Lx}@J:n8=@mu`k&wU^Jd90l{V:p +ݚX_@˱3DMc\)?Tbl!7Ϲ CH,t %$>|uĤg{fD>~r8G=i f@% +FH[ tjPA82̜?`_awU*qnL@vgT5)W\g9wvm?oMtxAgbAl"-U#>)@RMCBzz^ЪlCwe9*7hJL2 u JEUn B$W]$hjzmf i4 n?7򜋴S:S]I 簪þMwbrx~nt(pHtw{`UzP.GF0S ~84?:$By1OxӚ6cKUX.kӠ* R"wе-}7H^ږu9I cFG=ͭq} ]}a 6\qc imŞ(~0LyNA 53{]@"Gnˌ ݿ+2Xx[_:F:ZCDa ^=M 䫄> m#g @]qϬy֞[݉׬(%rFсn~cry JX1?K&KkI Z6mwV@BgȔSUf^&bcMy9q? = 2ohQrwѱ|O{`ֈokO$SdAAىC`{ah0g‘z\`H l)w/\s@Ɲ(7:tRRI-=Yq&w 2HW #7Ac8hat0 0H pwRYoג@7JW{e<5CEX~5K>&sB*{+ʲ 7e`ǃu:BQBk~H\T 9 +FIh%8JI@;彁=iOjn\_?~;^hf.?>8շw©o;)F%ku@grhIRo_MXGa_5Vogx:+uh ru O"txtrd^4WON-S,dDX9nEQ5՝{n̳EFa?(\c ^ 'qjڹX~ 2-hn~NJ7,^G} O/HՀF}, 벗 8F>3Bjn]U N;u`GrWIQwU&>t,,X>g yT$Y?&jm+JbЬgQ!%#f,T&EFa0D %b vCI3%ԙad@Sz)2") ^Qim[ :`y~,i%w\W{qw$w8>zIC*>P& سwH՞6Fz4[>*4G##fS@ʒ 5" d;#@*?)7(r`on c-*5 [Sw :Z%mEGF^) J&b-HOZEH1;Sp\J'OVU^ }B,`:VaBWr F3JĄ^t2F t߭O -Y& tBLt߸ov5&n >BlLI*b9B{̍ۢ_Yblۣ Ƀo>iI2!GUdfT7-SknM1BZht(I\|jvz oV`jA304 w/# x?HpB]^ta>a<Γj> pO7Eބ*U BCIថCvB ;lHX8ET(&ViS] ; (hSd#ql&Z;(Bz3w1^nfA;?լQi̦=t]4IXjr'5ռf;H8f٫ ї>lr<# ɐZXa:Le.0M'aЯu:({йD^gۂX'!$p0,(:u/B*#Ū~ D%xګ:E>!y,wf4%;#83Ջ@8XDQPc(24Qtaj4[P{?q<MM Z/皜 PJmGuKwJﶠ=زxAzB%DWunT'-S 읲evݏXŗj\՟LTLDgIA![-|mԏp+Jb8wjEbc7ED0:*zvsDfB'+|Dg:y>P?l\23G /3}g]z`9>zhI>VLe5J(GgjQ b@mBCbE`o$?y uũ9~oU\nbRoT` ',T-'ui!Jnjmʍ<`vo^߭[Lwm:/痼 Z9^+6ڰyZYm(ӄn\*{1rN؆&Pz7OAf[URTb̯2/TݪQqK`Df2y5L \Kn uSK3yjEՉG'yAvmܸ!NKCO9gnj6=R||5!eL(@ٯ_9U%`q~ "|j=+Zu(Q=>uQ0>CRe5jk3ԟׯGp_T2 o@w׋p@ּ[? o5nQYO}~8574{~Ù i{$B[oi-.ln'zD`= ޼CQzf{qE38*n R>_R~@`VƢ9špK4GUCRAӃ *}axey 0~c ΖdRjhj>҇\+H3qQHXn6C\xi4\ifUB̼o> 7Ay0]Zա-mdPj j9-0y%&V$^b=Np"N+N#N|KتH>A]'kkk؍$ۓDV-wܠyDͱe^v{M׊yI&?q{~^3T.Z5˜}3ƖQ6R%!DMt(m8޹&-ta#\$CNS3>3&MmmEĉ}&|W uRsl+ 2.Q.Q,Fv!HhA[kȎ#_E3"8鷧`J;mK:ÓnD'`fj6}D[5]%4J \,oBzq:y:@qRaJ]R W6*yl|ET];lEZ]](s)5m%*n8NI/Jlkԛ7԰`g  L0X Z\X7\cqtݽk EX TA!Fם] `k9\=A!>)ឮm6mj6_W5$\ Q25i"p2G@w!ՓVD(2oEZNWM5'I*}2Uk.ʹ%S\A"3։Ѕ8'MY Kڧt^Åt<$r~ym'\"nWgNy1Yp]͠`W{кAO?~Lٚ^<=2x`* Fe[[SbS5Bkx]Z%xcS+-ܝ嗁o&эȳج[Ruݫ0]$vt8qCMxiw}Z? HT&Β!>9Y_#r!ˢKxP oa;wvz*ynWMd#_rS)H{bՎ(Ex> ee/W}k]m}H}-mKT^b׌g3Ry3wOO& S#yf*Ub-׷XJ1~Npv8B%|*{`g" !ӑoOo*R^/$V,(eIc.MFUj>U(E$yUmHEpA{oM{xE,ݵ2m(P}Qh@9|N}'b/uxYe[N2SIAThKץp@A)I̭r7:kqc Ts=`!3E 01 X [zn2qͫsM5  YjQ Śe6y{KjB둇QH}3^7MȳX`~CQxj?,f"edK5~sJBF2B< uL|/х CҲ Hx. T0"ԓLPkݨwWSXŃ#%ˠM<_W |FV 8zW9ώ,$?kGyE/Hђ]( MUǍ>=<1T˅BNҋQo?K*q#Ű1'|c-ݿl)ϧ-čqRz,dZ^FSxԒP}ޡM& x-XckiImUpvX|Oh#Ol[E&oQ8CdT䬎JJB(:_f?yw$]>7 ,Q\NtQ* 1L)qAAj=`@w_XE24fmawѼ:nr6 #{ S&I%\(⒮#SEdN*;ze:UZEL]ҹmAqL|n"NY0W0t Dض&ٮ{'\ϒGgsbP!9rT'6'KNHJT Vp/M@ͽ6hU[4VAtt׆4bU*=|Yz],w) %r jz#k"bcȭk@QAsE9J0 'dsQu`{h%&4\w(`1T\u`}Ű P znMil⡹]ܰ9cӯ(2#e1 D~BNV !s+Z F'NԺ'S9ݟHB,.I1 oXc2ҖGdciA=֖h.,-3ʦ/ZU p"1PxXQ.XpҙsSBq^{UqUll .TCM7srKH?m)k +}NT šZyyUkNA}^eC!yuP8-kb|BHyf'lTL"]P}lΡxː jjWE\a"To4[dY 3m& 9-/>D[#5ژ <)٨' HڹǸ%HGRxIn϶2AX>07ŝ3!pH:Nxrp~ #{^tPu ϶_~|9QVcįdtz(ôDD|$C7k (|&Ńsp2j=y96ڸ!A|!#BVyhVR%I| MB*m2:WEh ;teWL*d::fݲTà{ewP3P/T;a:(f#9CNmJ"EVXN4@L*+l':@ȓŞVnWzHW XsJz`>fe8EX[ű-LLMTX4?7Hcz%`ZKF+f#A+,pdzPNwLQ=GH|^F,@e ,yسٔhCkOgObv?M nhrku Z1ƾ2z3#"@2~tKaYЍe]c;< 1eݐ@S )g81FIzyl S:ZCCKQVVyHG76Fb1' yr["6jF#4n Ï BFm1 ulk3G̜IŚ؉IO & 34/з4$V\?]{MtU/%@dJ1^`uխ܇* Lώ>qK+!GVmvef?@,$*$O:kZL@W,?X#+<8Z|OyA̫G.si2I1'fJTP8>3^+>okR&"Q؊VT-rgu0lnxʘłKjV? xcDɾ~X^H]R9©+BKt5 d4G qT4-=<G2^Y_ǥX;1dwuN8ݲ[i_C_Y5yQ/s=0r~7<[ xogz&<#1IॻYG)P-=Fd+)QC<6ڗ7cgWL=N;0Oz4:P螀r<`_6vMnR ~M-H3@zrޜ+v5Fy"Q&.PhYpWwK.kQ6CR=Bobm #wJ&;~GhUشL|m~ `@ 􏘯Bd;[ufB9e{H0 :' @H#􀒤6u߮@֑$f*Yߘ6zq]Q9,p>a5w(t1{!߮Jm/i6:`mPX,%k$0 F@q\Sv,Œew1esqUXQĴxR:sZ$:+e<ݧp.[] IR:5$AhεFL$ڃpe/>eo,F 0;fuB'DɊr8lj~%-R bm}`_P:&lDԑcU^T!iʑTp__le<.[ë́C7 Al!=ѯAV"wm#65W1n^a`wlۚkͿ yW X"jΠ)r{"voLQUg jH v )9E} U_LDI(Tjgt ̽~Ee);x" } s 5D~^,#6X[!WG-?Q))jLs,OEF 3_N0--1y&4Uݿj3R Zs-RjIE ]tnR_~yX* B+/萙J&ͭ1jTY םz l[@=X'_S&#h[ (&p6ybaȆRA.43rgF+l2*ܳ}Sg/]̈aЋ6Oy%^u5즉 Udc]qyTP%`N2nIͯ[v3Pб^x1PEYTFQ?LT&䭌}|vɨo愍Q%p~˞Qj9˵/AM4T FnRt'Cd$) -hI>]4w/w+aq7Ox|/bǢFfJ;gtT|e3Kцqd-,FOEQ 4%"44lylO [ 6KټNx8P-aD4eΞ1=֚M#iuY`( V'%f{uT> ,/,1kuzKTj*>wЂh@q3ȏ$e\33" TlڜQ1%O! f;|=!F)(wvw8Ft>W xI-8'ŽxVfl]r\D`|*LW0lz56Agy`v_t-zM*Oe.%5RL?.Xm0Jr`A}] ,b6J<^uJxQgHg+͖;-dp̯ 'лE-VﺯI@v#ك3;Hb #(+o(*Z8}mN~t!1"R](D2/cߞ@pAڛ"lAC\u&8Ouy)">Q- cc}Ut3#k&X;GlэFWkr/[UL{PGj.wDz}{*j04^J3C"biyBzLe> )":וU*}2wm+y|Gzfs{#d[,3!8M`.TdSi#VץF7;%^8LG)&7zof(w >V=` ݇*Al|ۻ KlGj$@@)w!il gte>$1a4XPu{#ڪXbh'"jAsVqNf:^=71XP7h) ;P40߯ݮ7Kt% L`?2p| &=5nH+m̰W?)zj<\V |- 'ui}c谱hXJ}YjDbP8{+ڟARJ`F)>!"g &!TouZ_V.9XxxگAJ"YpMQ6c /'\Du7qVdiP< cͤ1R@Ul> ]QV2SHm4%k,Ifnk+GBC R}rs[k54Cz7J E29rc`caJ [)rie#z+2<ƖܠR?|n0߃ᨣoLZ;U ϭ>`f!ahWo1µcZR U2 BVD( ~`7}ÖWG'^~_a!iO{òvzb&aW0Vb9] .!DϔCzs OY`rF&mc>4@೅YqTF(yxB\ R =MJAuzZDHU'!N\AiՎ.tRcruwpgF=c"c_:ክ?2h/W]|:nvIg N jV_H jgCd>LX˙"}:UD>O1~ҏIX\aڮ-8I$B= :[ɂ1.0?;+#oY%ꖬk|-;@fGy:̀ޠypmq;ӫbcT-C޶RmdӱhAJ iR |?R2Ullݜ`6_}Tĺ.Nf Bɱߨ4 X k]/W5qtVs.a.nu*HO5?z$Zfk A;i"u,ɉjvTfdϗ6H`bCÙ˼2=jFxN&oyS saiF(>dù|aYrjyT %Hpaqm^^~`.R;>6FGeCljWCk,U,EDм 9zW t)(j*fn$;V4gݒXZ:Eoq)1>|,TeL CC ;@-O61@ƘsO:V2jcfӤ</oD8ad3u2 Ɨ#~~]p #Kopx aE~ۈƤ\TIvz?}$#ʣG^4v\5?/%m0ʸ^7OMd"ufvYeA&5ϵ'*,Kh8/0%.%*Ǘ! 0oZmmza`äĘҖEרZ9Eﭔ$Bfnz0AyQhu!Ld< *߫n<M5/g?ؽYFY,AgҦ^ْxVkEYrwS\)S/"!Uh$DEOfT[toKn< K{,jb؃&WFrA{佐6B߾P]teŸF#[-Z,`;oܥ<+(է9Z$ć`ֈ)p?^^kDus?P,.z$zi 'Z,l;N0n4 mCr lo3]c-ۮWu i808 Cɨ=t/{@$1&d)XakTP9r`Aٴ#qAK+}(Q@AlGBA&jC7LމoБ }vx i&O "yT on@8 4nRM|D nH ΧupP7ES+l:ɫ\|N;&ycuḅL{ E4uT(&tiYENVC3y*$LwH`yc !nC&F* xE`jQ!錘bfRqwd}ͱe; 0Ai}eH^jU-Hiz8|#٫4D<8uVՎf,{N*f44xq)燎ƅsl;jO:aDpF{LQ{?]3 N+ r4ZEY*w+8 MeggqGӚ)N3/NX8.GmBh:!v²ńZfZAk}2'QτoD)'qU|:j Tփ`xVUd9f9V6cF<t6#c~iH+C@\Ͽ8c؟8kWnאIʋ @7}O_ԗ!8kL_7%B9,@n17f,tfozsۊkHQmvinEWdm(v gM것1f5C3+3obkcJ6X6Lf!MKwxL|6a 9.ǯu琽2RbeKӘsBMz#)$$]Оm—*OifDH.xaF[lى6&efsqv<ʭ%:7rriB6(M!qeBoA坛 %e?5VB7YcUF{Kko5YχC N=W m^7T?s$0ՠ}MaF;C/T ۗy0:.C$Bc:0 *O}vsRG˙h>QK,ȊO^^ơ벽BoDvS{^j?:wH|ϨpcvV ۺbٷК띎6d4lI&G/3KFB)l-QCl][67^|PeG}k @!dsC)E ȉK6`βyk!óR!gN=:|ѦgI[9B4&6Uh,õҦ8 ܔ4(8m]aC,14\'Є$/\ȍ3m-HB\Eb"c TtMXi.u햵 Xڵ-]{vE0%?b,Kpi4bF[m< j&ŧ.5|%ӫ7h2TmX$70$֭0 o+oJ5*gu|s  vNS$u!=JAraqI[^tmkV ;1{|(3M{伯>&3{ Kn\`$%U[8OtFKCg(#@It>i9WZIF}| ao,`n9̈#I -s3r7 սuMwK4}'4U,=okGOs&hqmZI!BpRΗB/R-1W )GwGk5 wH+#6U>à3>) 8h7sf`8n20, zrt=P|1MVpeiC[X"*오8mUbdDw$36Z*ul]LBpbniIN)Ү0,RX%#Mw77v蓅*{C*C?Ak ̶+%p߳akgFS122\oޝ6E!v9 }llUz/K x.y0 [i{wmQRvma+  c>(n1O$%FI&kR)180xO.;[3IyܝV]-EٚSS"R-S|V:*(\w[ܚNg^מJJޓE;ߛӛ uB킖iПct yTAJ[x{b|q tpTiknEFDdiB7+k@i6 Ћoִ[@! aΦIƿ4+nT˜~5%(r i;*Fw$˝bY0-g)Jv4@=&Թ0g·n)^-齡Ƚ"Eɞ:˦$)+kfS#/h i`*]g}w@ Fr^}768==?\ NwȰETy[&f\8ǻ;SSRX>TM8aűELFΞX^ cq%2+lJ{XG"Q|k*ϙ (+~%-VcSnkEsi(= x_ʘl<ՙ?PZ%"j*eMm+=C;CK#NV6y2ƛ&ksD˶qG|IU"o⁝_&|T;}8Ui q,t 9#MwnӁ[Ӿ\8ϫC#~L7u1`081IW.Tx'Q'2KvrETt ).v7|Xg>iorXEd 13˥L@` yұqYBT)5mW|܃O%TYs;ˁS"it7lľ_F5'Z'V){!9z/+$UV?VQ |k:n By;ɫٯ\.t_ٜ@g3;T'łޙrC<:NӷG0TD$3BXRo.SgOz5輁BiK ѳeY~b $˧p9%=SLZ}m^O$ntMD ߍ :C"_6]TKZuo]a"dK7փr"28fYElmиn[ ?G * @BBFC W2b0aA\~4P}YIÀ3ŀvԘfBŕ,H4S2/;iYE=R,e v t4Cڇ k]#+G@q\GG)amWzdhźi V.@}S*u*\AG2-r9v+Ѽ-_MuSĪ``*ǻ<6Mʋj!rۼ$Zy^vEX= &I_ӏc"rx6yj^lC;W-mmZ9%3<ӗal<.B9|%W S6]ߊӸRn6ژ̟_Um/R-5Iŋ ٤C}$fsn!~%=4M'NF.`{c~pB&m~O1z O~M;/z30l磝sM'*7gncӄ&HxtpiJ:q1#QZ.q/.~LIOz!0VkK>1֙+<yW?Nɧ"E0?.Ɩ%fhE 5<95:AaqS {8^dMl`@Cp>6X e|^* u#MТXNk# fPi6$Of*"(\xmz7Փz(l1kO!zozfcC<+W/;߮L\pM ֗sx-JHw4jtdnbv ԏ g90盍ֲtYYVEsWLMj{x(1Fr~j4q"{ʫW~煮Nl;C /W"/TT(72vݪ0he A>dQ,kUфD)t.EY0?.R<4%%o DkIe9#$Wfm-\N~Gq"pNFHIBr1tR8.bdz$S,LdNmzf)\z;6jT!yKea Rml Sȑ2 C?UF'<;gx!k<雲%0V͟{If!`ǰinLV7: xJ+ua;Si?3p8ʅ`f=j;7=#z}`y)zqkTy9yT}1ic1M}Zm=>#4,_9ouSw/6զ!RWl*c7 WVL]aϮݫh5 @xUi|B"$ W1WbՒ*!eFpaD?>".ߠā!aQщqϽeGD 5Vofn9lg$nQZX3#josAa<25}?Y 䦱=pw tL3ZW2{g?z$G Գ`Lq*/Fc;mJM28cpi y(rqyc'r@QN/ g㍝SUZM{PMIIL_\Pzij وiT"+r? NZ6OaK@ (+:7)40ݓBp:REk|s8zQG%I% \:SdO$h{xK>"2;@br4Q[['nc ̢ 3;(Mh"^1:Ai褖N\^LsS_) jYCW<6"'@`l5f2Iq΢h(]Ԟ#jw$5d3Դ? q:Viv&bM}p8BH~%)a6 eyL2i%^wOS~׹ؤ#=8rj7L߼(rZ+'}y0EGD$/UЁ.`^h7ogc]QFx9J0_Gl$u*N&*:vɕ]͖$ أ\m6w[;r0 ywȚ=dTdv1oH9N})GKwM S{KjX 6 7m=ob|OIbwRctwQ{ʉi@gƤ=EDt5Y!x\-M-e QSݒLEF<ȓ1az5GefMF%/fpX (vOMR!fI-VM!UQְĈ1aҙ](s_Q˖nt ӳ\}r/Knq Ey5vg cl wi ϸq_P%#+렢ꨃ ir&쯲{&:bҫuGMIQGk]dp9Jm^/eT9䲻l47Rs_ݽZ8!]{3NU?MWͦrs6[?nD? (@Vmi1pB$Yƽ`zԪBT@/P93MOuNr#[5bS_͏SY1=>Dk(Yc0oCLkMcfwtI-pgR,& X8 ! U 1M,jVSo0%hHӴXiS&y,H;{2vNvÉd9 CDV#XDZ&;u塰.($4C 8(^@GujwS D_Qrf:"LX<'R`mpKQL[ S:Alف$Evz6u[]bz~n}DwQGԠT+QA[FIxStj)9wyNFTRWeʜ 5B7J&=!Ȉ93mDT"+ LIQ *t>l s]Iv싓©29pvP5gьVmzv&*H+˰텩K 91%[hl}"Q8ryV"_^;(u\3L Q$Lfʇ%@݅A5~&GT]& 0y/jz5lL ^RsC>bA|&ͫC"ˬ'_.=mIEy\7{̟ m舶hc|ڹ̛*.u0ky*$7_Ϟ>AA\$y81:1w ^ޠil8&Jd*DY.baEۑWQ; w=,DQ_CO@A8ooUԟ=0L3>3 sahA}";>JuF q,mK:8Yc~0 :$t=vƽ"W{m1%1Ia`Y\D>?5Bm-ХLƉ &ȑ A axWoK j$xF+U%{"<$ 9|qI%W. nq zt6 16cLH0{6KMI&n'SIqƄwjYtJ+,x;$Dž~fPuXK#Vd_0pT 4Ď57Z3 1uv;Oi,jZGS%Q6"g qCT^IqUS憩eTjMom,i3w9Π?+A_p;֯i'@WIZ*oU@\I#nr$[u`]Ԟw Gmir3>ޣʬfG^r{o wآF7ͥyLoy@>ݩ-s -,TL7b<>l7.㭀ZF+pB&$3F1Sen4,PAk_GBWh;g]QNdMh8c`$Ȗs]$ gc=~gFGgۚ{H ƤW#-wawRd.F6ۉ^ŭ0lcڢ? իڑ:>,U 🪆|3@!Z<:#~Jf.-c5=%Ir0Z#k|y;g7-- ;ay0J@uuI:H ZU>(œ/EUd"uBp&nsnnTxXf1aV/Nr opGd +G $faI&͡5=|-4gٛ&8ihl+*HnIDYԋydRxɖ<0Hѳƶ\< EʮˠOƞK2 cR ]y<]],O0^.O譻rP9(!l|-Lhq9Q G[i$g5T3}C|]%GBs#@IMQ8]UvYn#WsU8DW,(9u8Ni@oZʏ%9Y'E֎3nٿ_q[بvN` dKUkCgf>"']["OOfl8M [*-wk%zxIiqh CHo, eX8[~B!QV9:Fʺq+^zj#쩿X`4"ŞS/ghXc~5$Zaja\Os\šυ DZt j9r<'7CN|t>:dmd϶޲r1E=f .Sxջj%QSNỈ&4\ GaV VH")7S=ǿRdl*B[Qr3WOhB-G sʭA6jA/>YUc@\s&(IwFSjBb]cAF /O r_fݜ<~!WMjuc_z K[x7MتfSM5&+ :vP/4[s"IKz,ysZE&ZiN3nWZ`!{pr~FMP*fQn.@]Q©k`&CU@~MY.kͫjǪ[6ǯٯҡniK~ _RW7.|qDs T$>yTbR3⓻]AgŇ6Gm_(1bP #s8_.E;TZN3-w_aSgJ7xlj.\$o d V X0tgMP;dLSTwcuatȄDŽF4voJPC3b 3qs|Ca"|] >1o9 82aAw૜Ay\\n KڐTG69*cp_l3=y6IocTocE(~qaht$tb/ջ*k9zzf|s4g]lpYi 6D{Y. ‰4ƪ#<TȳG_GH{1t?j  ,R>˒a_#Ik2ߕM9^Dcw.%yRA4w463J*7Ff|}ɏ/&2&`]K;~pD@K šm[4M;@NJSiȡ-х)o>whȬLZ muJ&{cBcm(N(~P*ـ<}vȦ=c GbQE(1 A#n\ͬzel7$G#D0,$=` Ѧ&as)Gx"MӋ-*eFL JG NgԸL~VG:B#,Tld_Cuw0OR;E}i0.;wiGޫz%ΰuf8Uh +m Bh+E˸%rXo[O %quW~Y*c{Q3ZBAH5ERI(ț,8y<%$"&7-S@[_@*H͚7e2whS`EeaQv8|k{W6GAFl停4f{.) 8 awnyz}H9{UBפ>BJ3<4ɟ8R|砫Be=uI psz#I#}pRoCuzjMlƼy)Ez)h:1JIQ]gW` ^~gyz4YV÷CST;{8K[\啥@xݵ.Gef\hS*G 4JXJ4jPT-@4ؠqzUBmz%)Pej8 7S[QٗyDUSqlVmՉMҌTݔULhf幁l=n4bPj4 3;?-f3tp1ip7kͪ84%>/2M[#1OHĿcD~|Bm7 2WL}!B@9M`b K۸*H͞E:.nk +Xj[^"Rd.2n73nwK*7)a*'Ftqy\n+s 簹&߃%`H!;VBHrdKK(I,$2_FavH]V$ώ_TXLHQkXQ2~(J 4bYPMP 5[ WJ}wDIiqZΰ4*r!kݛ*I%b;=jq@n$սЇ[\ϞY(v\ă+LK#mV d~@R I0>ް<+azm}O`;EE>쟠Cl`%阿HéDk_$A[ljH DZ.I-Nʆ̽:#q%?=,@XU3rBlܟx~'E#"?1V= m]j,eg(LguU[;.8+X 5pQ6^VVAv`s*5f"kv4YļE7).ۉg<2ͅlk[Bu6t-& m7NԅCoT!I=:kl@+}PQ,`i+?79Ӗӝҋ|[$ϠVFWiL8eޙ%y WәqV0_((.E;d$blH Cʗ}Pא0ȐI8+GbH/ Cd:pZz9ld<m'4Kn:bDݖ),WT{<7wiO4+NeoD0D2/CrRb(n^`K˜Wxs~n_wHvGbEvW'K;瞳HXA9NeD#b|ɩZ-Aznn#~z/;Cg?3*DffrѠ.Y|5qcG~ږE!*rvIz@_7ΟLjKRY ,= Mt9M<|F]oQ.+1 e.W#|`֘,2hi'mkh2X<ȷ+NkIȕs_dx%]O̞w\:u]k.ꫴG.ns9:Ja!];̲6!p wOe njKmÖ,aIIW!{,Z|‚%_'Es(eŻդ|lgm> ̔Jomq%-\{ ~oĞ=om ZO" T=;d?X>t}&wNE[fk}a92-{ALܱu]s~n.1ƴCŅ\)M/nB":C<g[[Bgn ~|X3tƜ;s:B[43T޳2aXhpʄ c^}JH-RG'Cg¯_uwHlX>o<=Oi n* c mA;XeQ@&~neR6 d%EǞNkx O'W QҽfжC$) ~;(Pŋ4}%9M62嘹gU}UXWR=/i^[ߘhvslDs8;,(qL7`FuI#`80l&LgF7:(Ls[ M&IELoI.At-iKLsqP웧4䏿OZZo:x0TIf%Q_T ijEMd  P˄i̤@r:F@AcUd_T5 EI%\h!T8XzҷbW4@3So}2yf92aDZ$5 ppf"6H̦90,}tN8+6fV'rtFoo+ɺH 3QZPϥW:"|^G!!:יIY?fm$u*nÒ%;y{#(] Z ĮVP&f^ .%T-#@C1zވ[pT'\;{ʘ_D:MV{\ح+{*?ej&'huL fڱdxؠ%aUj'i4m(IjHO[gεPq Oma5aiu-/y%}Fsb~#Z`4Xjg: Q!:Ќ`-VqHЍ"Ou}ˉ_֕B"bUߖ&1ʸmm%k{4ם-RF&5b*#' OMI=^8 łR0mr1h.>{=k J_.AK`t?=1൨A~9*0G}h’YNZfo;' xom\3[ t 5C($Co0R (7Cb+B[T.Oy+t09;z$sp3YFr!ޱWA t"4:TDqRfvHrQyKN;3q7:u8omXm)m׽]'"ǭvq\wHnHI 2)Um~bT4*QZ'T鄾5eʥ)(]tvSuoq~^VJxT-AusuA[˟`؞k*ߗ !4Z՛ڎZ%fvLF|8(Y^K9 qAׇ) 4ttML`D+!mLgϙj 2ъQ;lf50k6kSt@@qT=A44dTv'vijdt{=;Vb6=2 vCd,djyd$>/}^/l.뜇(D3 .j!:k5@iDZumB^k'NdSα=9< G0s^h^%ǜdk|ICJv[,wy [+3wZ1u-pe=܆ Osl|i▵hZBQi\Tي,4\"Ex,5]d|Ghh\Pzjt`?o/qs+fX#j $&>x`xU͑l%ߙ| a20ej$D5~Au\=2k y8ﳣ^}P$q00THzP8naNuE 3〖SV|fU_]51eʎBZ.>ѪV7@xqΏcTOրJB_4;TY8yb(gĜy]~( k?B1/B@3Ӯ'=z)a.F^BQE RaH/|jpHRyCWh$$6mh<um_S-r#Z8iu@ϾƮMz2^h fL!oHctPahv`tCv #dĤX(\2"B]k\n7I Iv0s-u3pnϯUuI4 6p\ų$p5pYwZJ8/FQ(kElju4QH)vUUsE|ziЯWANtW0-fQJȽsm7?<2 WQz^ [Dţ7}y"hc#% حBksHGo8@f+p&M)/A柦x[~|6;?Vh AQra,wm\bil6|OԲ}ln.B$9~ӝ$Xo>W޹rx`Ae靜E2MFeaF#(,QL)RLF}DY&~+>,f!Of2-jd6n~Ȇ PfY4e EAڤ;c$BQˌxR@eԄrw1XwJW_+ޣv/s%LYYNSϿ̸\(Š5ڻ08/ -]+Х)mB^ZiYJQ\٠GB& p]rW@%D=uW54=1c-cw-|'-ǫXvߩ-ƒn"6nH4jT# P*ыl#Qt^&,]5gm*<ʍғ. Dc!*>V钔:SMu5yJ5g,Ac,e2ci,M0!Id3~M4R3`unN*$0_Jb ǂ:wYLJި 2ӢݢB}ԁ(,HsITlYqWjs_#t`bEGu$NƔi'0`0EގJph} ȍT>>믺9Wm~ny_n$TKRJ=AxL9Es_w!Cgf(:-WYZQ szJN[unJF#ɟ@&ivT3b/ՀZU4O)# 揮nĶT0`g.Həti"3 ԙD7&} xj?ޕ,۲aaWFlǞ/DO9Bf ŤdCN7[P97siP 3ëO700CHnBLxXLu4)@-R͖<5`/XI>ʫ&AX SLb-Y^4<)`yq ý ,Sj4+d#[Dk2!ܯo<4FN'6 ^* ȤDi=c?칳>ѶqHEhަ,~'ڗ#?fӂ­t'Ct (V b. caa=nw5$6-_Y$'8/N /j4xU?^_8?;q!j-_@?@^>Ø!;Bi-ym'(a#&F{#$`IυIhp[\~/b}O+&Y-:ayW? CtQ ˫&Ԗ-ln1%}ʇft?ϙT&X pRm[ٸ6d%P ,2P QMƵNtb"+hHALTu0hm@PdM~2^WUR(׷mIS0|?TZGȬa9kg@i %k1ع2t+Gz&&a*IDTJEygӱKZNDžG^֋HLo xp{!!2]=7.`REcȹ&^`Z2~ 3r#sIKzn87m4.1:lZsl5R~o9hvޱem}BJ d /^lƔ[Sdd&9'2w@<B9wT~`+dN IPZvQ| tk77\v3V\q̦; $=ЕGZrbLثY 2~&[=ɐ2Q(@&~F 䂶B0d?y%hb+ZͦHf*d&*5iZIwb$]X2aaILb{4*:eq6Zc|+ldIz5\\ \:"q;k+̦>R,4HI."|Id5_Q^HK`%[G/>eEއ1lCړ&|YfZpB E֋'a̦\-'d7CѻCum||rpӰ4WѰ\/2MhU1ǜܹ-GRY3^i7|=!!n(pЧy JM^.48h?i{̲?.߅| :8n&$Ui`?#!`vXϽxiĪ&f<d4Ka->9:EsYBۻ -Wm*>f9!ٔEɠZǢs _A`u@I$:W :50ze`߈(4RVW8B؞S D< 7~.G+8[RG20sW/qE795wb%o=Rh1*fquʡz5l6$bAn吢;>wXB(^![a*'KaFIJ}9 ɕitHCY@L8JHG$Q- |M{y! |dEAF|FȜlgЕb\iu%yHNmR c*#3;_I'Ğy _?tĢkgSL(yCwqw(UB= [>0/U6VIL"Аn&uYуhsc0E:6z <ŜMYyj3aiբDmn|.γp%8ɺ2t@*eA|/YzBU|6ZK[ $яLNZsiŶw VOkP%4%n0Z]t\OX xi)gĦ35?p,9ԥg 0BK!cZu7\ŀ+[:X"l:Ew6߲eadyYB.x " V  .P)(o#@`G讉K!/X˷ 7ӤAMy{9܂7C\T} : sҷnyY{{6 5`^j Zx4 ZE` od%$j5,6YA PKzsGyxJj*̼KGDL\Dj"gl@MRuȿ)o4>{~FlWG8Aa`[H)s~tBѿ^2_iY$D;Xs{o " *JnmU!+hu*vNPVni(!ۉ+9՞CCJac$61o.ژ% -S³73.!yr_W\`vW$'ӗZ`*yo] AC)1 `9gG607~-.URMg |]*ITtl$^]٭O{ >2xߑף#d2?ȃ笝=R8K޴\*xOd%[~xkг[d_Ͽyr:=+\융Yt*$xb}>agly"|qMJ˭p FBo|7\ˬE5d6}l߼Hא H^=k:8| *cc<_Ry{,ʤ0.;P|Q-y1'h9+V)y qptz1,Xn=|m6G 3Q74qm{t %=5v]S'(ͼdRУ15;eMd@MQ'/[Uh'TyXdij|+ ޱi8C=K^4jp5ZP K *#V oe&w ٥z^6B:?߸l]}A.thk ;aK Xg<`CC_4 ^O#IRZ˂^dPݩ:Gn_9 1 B>ջ7yVc|1㡉V6xLjėT)H Fѐf>;D)KАn&/jL~!FPP1ROY8OhNQs.*:y6ƚel͎#%HtoFCAn'bAo9p 8O l!R]ܺhV_n2բ i&y:.D\AQ>uS3 ,l"6؟EPA(x :o:9@l~V Q흖:LF0PztQ3PA!Ecf 9j}T0a<  X=G>)y## 0Gdy7`}z\S4{)F8_*=ځ=A8OFP,!\r$i(rr?O yR 0*iP։i waXJWBαwGbVQ_ 3zE_3Sla>wμ1eіlb59jlPd(E 89tLk$F]eO˾ !VGZ#xů*C9ZJD5LT >X͸|tIG2'F#;YţpwbQ}Og #X]!ΕiZA#k(y$.Eu&p3kwŸ`G|=TND5\mAnCR*y `˱B`8}0qBNXDR5'ᬹ{d|"jgX.Cg͚]=~ &_UuKQՎѿ'xb,ٟ^ԥ]0Qܴ[w^~R@ݔOBU|TΉCm6Rnyj4B_X}>DmKbm>{{W x,X޳y8iEh9Enڬ-06?*r)]Ϣ+<ϓ@"ZNl,Aw<܍9.JW2)z E@ΫIGHoƶd27 'ᙣ I7 ?Q5RӚ\\}fqŗc#)╹=y_JkZ4.$~Qr&B 5S(KN=:,.jD# H(}ݏ_՝Uq3|. ME+~;}/(8ء?[t`nH VoAH7"ovQT: 3 #P{wEMM;QɐK`N >>Ng/Dy@?6kMbuY\FEpuDc_ 7J~L̹ю>3%Ptq2*|{=QG>kFGF )4O8_;Uhzd+Xhk頋[u0)ZzIagˍrwwnkb$S0J?j}KӇ0>jڵ 6+NV6i?SwB)E%%R/,Ujubm R>>K/G1d,(ߜZN$u?a0xYUij0D[3Era[G D/4^ kndX&PZ +%ؗ˜ipV%:q,GCM|Ǩ4GFHlݩZW*Lz˅Vh{[ǻCYOWk(cv0Ö222gXm>cy#Wu&NuL{a!/ UsaS|J_Dc'd4 w]L]ٸ\+jXDi.C`l%%\r?ua,j`O*苡~^=493<QW =^) L݇O+@v@{.йLY" ޽Y@QDca,&{m$U+ȬAr1j38VL7N3%p>H/J[*9cuiՋpƔcwH7 ҀgB2|]P MtKTYF gKHm/B{ :e| ϹMsʕ|_ _'p kZFL 7e=bQX duVbtJv 00Zc)RI,&]cjʏpy}}n^c鈰_ʌ}D|nH~9j8GtBή2^l^ճ?t0#*`PkX*4Sˏ铖^mUEgݙڣ) N5ro$iw6sZ w.eh :o9{$8|wTbHX :;O:f{z뵂x f}tϛۚؖtԘ6rEO =S߇*Β8N'qKi;XN΃^dwb)цR !S4ScՁ FG07$.4\ o^lgyK":zC`nNpuOUpRnxl^@h2CT>MV2+ۂLs>aՅvovvKMa*sM,Hʢ\0o%-3i7t/FD]mBMo2s̍uSRG(EjM@tf`3=j :rY!"sI "ץuv_QGP .!3/HLLy/Y :."_ rO& +)ba欳i(ij%?[P;tƠP'G'T%Pf0Ȏfn>{|{w?Ƭɨ݅ UAz`ZQد'[F gvs"&n|\^ hfj} ф-T,Kq{jJ}SCQYz/uV~+ٚ 5Y \Bh՘8J[Pq ,(rWcQrF~M6lKbG>u== T:66XqU~zsUb;Λ:Vefn:^ePTR4cفfY9r_dUN*`ǁ(,i6 :|ǓJq#&[n8yQ+@8|iA?2uE Co\GW;S|tG{g? HTCT'= l[R(t)%|̕F##TZL,U%piz_ :'{L{n47l w5R$Ta#wXY2"9Ӓz=`Y@6>| Ӑd",?xz(mu㦆:Fe<>'bme]a0Q) 3 Lͪ^|OF?@X 2qZhYB mD a/'ŒfC:`KȗJR !yl`h$ٟX8|8~MOgxv@G 'Mʏe|.*'CH v| 8Kn%XB XqMo8w874}M!!AK7x?h« Y-ʦaM3h<0oLLr|(}w1*3{<7)tپ 鰠VD] e+o2Ԡ g}?w1+A!& qy% mY#6ZuIy  ,A#BYaC8k[ o.Pc@[ mce-˔jN1t?WJy,Krq 81.C[x+hzgZ_*0(bLXu[Ln'z)O\zVNM&o - ^u̔)Z lUy4:윹/` bpB&vg羨dfd'USkЏK8,qp9N?*Yઉob,2 GB/)B0%iҰ<يjv TN]~gQ#gR&ŗ?u\F:d}#]wB0tM7p`ݺ&?GĽ?foY!`^YyB70pU?w!M%dhOq19=L;~&Y1 G [zr@ޡ ?|"%bB?jr[ߚP̘&6䪠b'4ue׆ua!<'[.֏츘8eleItcfZ! Ľr/q_I̭z2ʓ G}i)D3r Tle.[0_1HwE?/CAU|-W2=m6Dsg6r2u( $~B2%MJ[R%Fr5jeC'8zׄ-:]*L< 6FIݹ^N˲K!֋+r8B YRk|$tg'MO28 e9P"C %r3[,5$ dte)MPٺ "G#N%KO≵=6_)cϜ՘h[Faň[Z!Wp \ 2M۽Ui/ ; #t;>rΪ'6(E CD\no# ".>yȖf#q-1g6㮖NbجMh_Wdf>6v*:,ӵvn/eAT<=MI+3bj;.IRp(M y',ˆ\ն[9+k5(~TKkK[_YojZ'γb ly-0,)fECS(ԸMZv"s0.'JI^㶂^ۅJ#B8rCݴGKgP77 (d-#J=Sidt.jd4Q]y2ԨȾvDֲ]7;f9vME(ypsh4:-k%I*k:_ y=Oo ȩ/ayxt`aWdSs!G<1G]8 Pډ@ܢ>.[,KV. 7 ϏK|"bفO W*t쟞M|=rw/~ ,h/)C d9q] ^ҠON8*q!LMDĘڔJ'5V|h佞ak8,0Lν?d^𓪛ӌ|*j2Pp#-^)!^n[V;”6^ =G16H֒ (`=tYR{&/ꓒf2"`رi֧̕,rU d %(ـ܎~QbE AQDCVa{F汾/43Pک^$(#:IIo=tY oxAɥ[Q`N[{5ךqOx4wwcpⷴnD,+}'9S,?i:s%V ؚ PZO ajVvG G9bDY~"ɪ szE}\cet C`[(WѠAU0@0o@Iv! G`*k/?.dsBTJ(ҚM:vB}eG`C|mFz5BO SnJ吆+pNx߼J`leIo̮n:Gm# V!v &)2\T̮v 9_lUqn6C-  Fe2-oe ^[h?aFiǽ?^zN<}f}wf + WEmW,a7Y[!K Eri #ROV)c3M㭷 -UEհ~kb# >.0œ|&nw ́b!Wmx->.W~͉DSr2Iݜ!IΎy; 窗B6Vs-WyVH=Dyy$5 ±Sb 2ܱf.&QUB k='mWnթ:zOB!_.iˡmOBc~nɾ4Qs=_c-(@(puJt")k-y%$G6{Xb%PA(0[HFfDimF4֎ x}jYqk4c5q|(ǥIFb V^)Q7Okq(ٌx5b׋K¸{ztk}<,=:g᱄@HUiq>ޱuS4cnb1x FlN-UVY%>W_1_>Y Y& z_҄;p˪6yP`GjI{Z5@Tq=!Zl"1+&aˑ_g }/%|206{ 1PۆrΦSٓ!*ma?M2(ks~+"Z`ɐ߈7VyKƵ h#cdPP\] 60f@_5 FA,!̲}N+ _}c̹mٚN(z#C_%>eur6ҘC4^8}tk0 n jS4VI3-۽ֶTZ~J7p)H2s<$hQV~'w9ʼnv'~+G ). uEo=5a1؋q@0h|-L̡/M]tA6uAJ; \/nCa0#5`仌c!iFV#@w (9UVrdx2C TyB}Y?Tľ홂WI|67M1JCPޒyb[{a:B< ݲz̐ҖkQEgUcrV2U 52`BzyFbPy::#J; bL(D%,+KgP(H&*qC=Jh`x`20(5M:ecZgUqq$ndd󃺖Xv8JGi$aA[TiS~ 6gl -څ`j)7@(3 ҷ`pqZ`2Q YV8Cl2y,5Y@d ven8?9~1`2tfdvapw:h-iݧ,_(xXq>κ[;_#YO&JJ?Gû mW4TD䅛ؒ>|M'z]xಶl qb|,TfЁ}O>hlᵑW .T:o4W2_yKrTB:Y^= ;_@+_sSUOڼ9-7EGڻ)P[>7OtO]ֆʟE;^5('qGtWBA9.<#gQ',CFӄOhRG_d&⻶ xU-S. +aW|S԰~yYHў )/K4uWH܎n@}ly[3B vif{j9X?Yʳ̋*A!Eѹy4w;s% BrŽ78rWH܉yi5x,y47/^({m)'`Ӌ~~ƻU w`iTfX&L_rfE\Y2;2'"Btq~g$-B< XJ"#)a/0݈Kz5G 2L|#vF*$=6ǭ=Uݐ99EZ^>yu zۭg.˽Rp@0ʍn؂ RϱIΐ3@k!n?uxH iGIxܪA>'G{bKM+*/_3:xd7+Jdɑq)̝)U/-ky3HB=־m U;g3m#Y5)X̝? jXeNjG% i p.k Nhny/TۼOMd{:+h;OeR<~OE~p,t[5A|X*E+RsUU'/%,8ڮpiAXeE߹w_1ppqDh>֢ ZRK0nC=gI .RY'xR~d@{;DF"<~kGXZQATjBtv&(55"cNˠ633-k=Z#B=eorUqڎ\_:oFJT\ ШT 2.~L"%9AX e lMH[pP:۪4T18sʥY*03?L*BzaaNd4^eڭ27 IR}qvތ3VxHNNj' 0hR$a=\жQq1H-5r$+FXUV/0A%M~;=aw,W)kbS &@jtb[K; ˽JSƴ8cu?)x PG0է:~ (Jމ:3\Ճ}>Ag(:6dtRRG[׏u4- |jo-UABSPYug_k2[YZ;) OkDpI| Er̩Syley*)ξ0i-<1\Ji;Z{ e+Z/P:uY=uf&;0y1|hsm:Ѣ^7!_>dU`+_!>*t띝-z!W=N1y|%uS#00q+ѷmBOp_aB.+:TA Y9 HhsiЧ,-c/sfM* <~L7 P>unZ)]Wnȕ8%"^P>  Q͒ζMc"8x 5M[|ʺ_r(6A6 *ڔxɪSScλ$Q*ׯ{M v|,+!o}X.M p(֕DoK5V6zCEg#H7,v}bӇꄑALiKkE2~/T*Z qA-6_"$l J;0Ty@^63 @U%c$qm-cc*'DI!kk1(RƷa_Mk#o@ ~xYp3" Ra沇Ϊ'zʯP:UA y󓬶 YZ