python3-openvswitch2.17-2.17.0-169.el8s> 6 6_܉3!5B(Ii!F^(*vfE !F^(*v]kJ7A(+ z߲K.Nxw#HlSOsv΀~m<2G6Ceb)E(:B UU>L% p*K$L+`VcdOD8S PchwՉ.!:X CBXش#*#H bFԸև3Kxࣀ W:F04Q=4:E6>vm˶٭/|b5ab2277130e5e58922bad24e81fd65240863b8d43b97f1fa025493ccadff82932eab7183caa062987e05d5e99c451cf8dee4b23HPga}(Xt:jE><?pd! * Hx| 06@|0| (|  | | "| #|%|'|*h*|,,-8.(/&8/091:RG$|H|I|XY\|]|^fbVdeflt|u|vwt|xd|yTs $*lCpython3-openvswitch2.172.17.0169.el8sOpen vSwitch python3 bindingsPython bindings for the Open vSwitch databasefC@aarch64-03.rdu2.centos.org( CentOSCentOS Community Build ServiceASL 2.0CBS System Environment/Daemons daemon/database/utilitieshttp://www.openvswitch.org/linuxaarch64X<:&ss8~8..rr;<"==ZZVW` M M33oossSYjZ?KLX*MqP&ssEE"  k kCCT~?.Z12ARcM(*e.}  d 0_A6$ *AAAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤fC3fC3fC3fCfCfCfCfCfCfCbfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCbfCfCfCfCbfCfCfCfCfCfCfCfCfCbbbbfCbfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCfCbbbfCZbbbfCrbbbfCZbbbfCZfCZfCZbfCbfCfCfCfCfCfCfCbbbfCbbfC3b17f92401220456ea1b0d01ce7fe5e4c1e5a130e31927607234c9c1c8549d20586a6a7bfeccb3d60a3f28464bd38fb8978c2eaa53e4adba19753ec9cac0056c2501ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bff1ff434043ad373019f742d29957edc463ca8296040ff7e0ed05d6ff1d74e8cd1a5a0f928aba6705c2570db38415ce120fb640a32c6a331ed4bb4629ea1649545a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f02c4734f239bc54aa4158be5bf98898d414f567559710cbdc0d6844735de932b89c4734f239bc54aa4158be5bf98898d414f567559710cbdc0d6844735de932b89353b95b77fdf6366f409b6a6a009af3b9842572029db5f2a4734814dd028146c34e6ac33ec27c123fd7a878388d504a499c5f33b6c407120aa25feffd2b7f71c6cd2fe056829ff1bdede2c5a341b3b6baa3db5d708f4c807a0179bc4afa76bb36cd2fe056829ff1bdede2c5a341b3b6baa3db5d708f4c807a0179bc4afa76bb333b7329f969ce7b639527660f1c56bcb698a936d6d265a17ad975fe36feb354c33b7329f969ce7b639527660f1c56bcb698a936d6d265a17ad975fe36feb354c9896ad70f62c4dbff6b699d30250d18ce35f3f512dd18ac67a8adf62b245fd289896ad70f62c4dbff6b699d30250d18ce35f3f512dd18ac67a8adf62b245fd28ff595a1fbfd6b803bb857bb37a8b33673e1941bf834d8a20d0fa07ee28e1d57e5abc68494615777421d56fc8d60b68856e7e46073e5f4a8d5513b2b33a1521279f9bc29eb4a28a848565dd70ceb6bacd00b48504ef3a0c95bdbdbf298a296e5583f9942e9219a595e185bbddd0c57b2dc8157a592e5f21923f0edfa753d5a717c472a0e95d7e42b6590d540a99b8c9020af92e4b52435c558e063277d299d146c472a0e95d7e42b6590d540a99b8c9020af92e4b52435c558e063277d299d14651951ab05c0eea491072ab517f521ee2fdd2cb10a5512ec12f3c63f4a86df0923c7b73328b77c408831ddd18e419f91cef2a644bb51e36ca372e9a941972384191a6bfa978a5578ad559e77ebb205ddf3e37f968c12be5e32d50d1b329896c0091a6bfa978a5578ad559e77ebb205ddf3e37f968c12be5e32d50d1b329896c00a73e030aa89c3a2cebc71b8256260a49be741c9188782dfbff786968d0df2ed3a73e030aa89c3a2cebc71b8256260a49be741c9188782dfbff786968d0df2ed3629a957c92e59e23703f6e2450f376f127c67f60f683e551f77e07d439ccf7130b039b7243ecfa6dfbf14dc1e6deef7722e8534e23bbed5b466148a22faea6f2ea1ebaae4e8abe9669b4a942b7f65139151871516b1bef36aa69aa3e51065ca2c4b9b5d42fba6538c464643618c965d84c738499af39194fee14c98afcf0f68e220ed352d8173caf1ab5e7fa56ffa24787e67a12933824a96399e6170e0a927b220ed352d8173caf1ab5e7fa56ffa24787e67a12933824a96399e6170e0a927b68fa4f01b29752667c64447351c840c8a8a2658f4ea81bec9dba6d904c78fad568fa4f01b29752667c64447351c840c8a8a2658f4ea81bec9dba6d904c78fad56f3fd4555b9b12b47ce930568143e4c14d00546628fdfef5dec9b2b2ef7055da6f3fd4555b9b12b47ce930568143e4c14d00546628fdfef5dec9b2b2ef7055dac232c9442b99214c6473db9bd7e396fe4b394a04417c2e330f1b81ea8e4ce23206d5ba27a875a69214b1cbfb294170feeeff01450a0a24dc3672e1722d16827edf468b2863ba3825191e2b70340faeb8788b049c6af3dec92cb9927ca42152a1df468b2863ba3825191e2b70340faeb8788b049c6af3dec92cb9927ca42152a11b9c1720d58bfe4f60c01645ce15668b8f063356208af065d3223ba5d600da47e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0201c5bd3e36f03dff57ebfd4163cb12e4033e5dff07bebef296d5375f94a71c0201c5bd3e36f03dff57ebfd4163cb12e4033e5dff07bebef296d5375f94a715ff5f92ee463bdeefb2b0b8942b0d44aed13f39e7d61ca28c106c09e3b8ced314f8f48985856d29b30ec8adda5b4d1877de3f50702c11532b7652ff5772e3e904f8f48985856d29b30ec8adda5b4d1877de3f50702c11532b7652ff5772e3e90397286c7e592b6f5ac5a7e9ce02548362cc6234b8c445a617aa15cb3b645c5ddc751cd348d0273358829bd0f3b691e4711c3ed431f11b7c67fe2c66c7319b0d41edf330d36f8e9dd16440b4a158fcd90579a953c6b52e5dba5a3f9412d05f4ea83e6b5455228216d2ab5d4387b25b669fdb8b0d03af2a719084f3903ab14c78c23070b8ce2c4a317c4071b206275f43b89386b388d837444d92305b298d57cdc4789e2f56faf7ea7b6cf4d835692145f532eeaf2de45cac6d1fe5a78cd7a2973cdae4b9c43593063c89ff25912bd12d2d0d77c4b3126c7c49da9e1ea52e54d93fbc3b1108a5426fa5f3f7618229819a0598be311f8864f28f2edfc15c4a8fae3e51236094246326d62837f9d85b3abcc397c68fa8378f92824f428ab444e4bb33b1583b49900a03f7ce3663f553fb16f2cb1141848c433bac640443249cd686e45a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f02c4734f239bc54aa4158be5bf98898d414f567559710cbdc0d6844735de932b89c4734f239bc54aa4158be5bf98898d414f567559710cbdc0d6844735de932b897947fb55191baf0fd36325b8cd77053e30073b5f81ebbc9dc7f0146110b8be0b7947fb55191baf0fd36325b8cd77053e30073b5f81ebbc9dc7f0146110b8be0ba48f3375f930e64554c01ffd2ff021c077446183bc8d9d6348b9182550c0846f97e804024c1d1d9a9036a5b5fcf271e2a0bd3936a4acc3118532d55cbdfdfae039ee076309b268e441739b0e00f7c4592be6f60e7891bc8c1c443fd9b7238a2c39ee076309b268e441739b0e00f7c4592be6f60e7891bc8c1c443fd9b7238a2c5af82ef5c7d0485b3250e88e8b336b8ad9f6bc8fe342cc27339d5252bb1b17b2bdc95325cde888520b3b20961613b1272896cc4f80beff20ab135f68bbb5943acfc7daeadb9c916f6d6ff301659c5b0fab087125b96868c615715951c6a75d6fcfc7daeadb9c916f6d6ff301659c5b0fab087125b96868c615715951c6a75d6f65bba7eeeaca2d86efde7317c8e2165cc0ac699262b515b2085eae0dfaf1275b65bba7eeeaca2d86efde7317c8e2165cc0ac699262b515b2085eae0dfaf1275bacceec53795ed53623225fa096bf1ab756ccde1670c260e1b810f6359eb02182c21b8df7401f9400bf57bfba9da3a02ddf8aa47d559396c09d048d7b12e5d78524cb1305ebf499115adcf9087e03900ba83f4e6b691c1002a69f2b9584408e2600447d01af022cf24af0ff153d6abcab439b49cdad4699ae361788253ca3314e886f9f38b5ab2ec6a0ad8cab9ee3c3610cc4ba9fefc26be604f8953ba227d042fc04b701b5977f980fda3215e0c90a59af9388956a60452407096e431b3e996ea3bd83302049dfbe49912b2ac77daefd7b902b090b31e7a0abd07c873b692da81a315fac98f7674fb08282b5c2147fab0ac07e53bce6206c58bf192e1c70f00aa19f5c4e8c090786d12e571ccce41f1d2a0193d55f1a36dd697b7a38a631de48f8c49261cab16acb67c8e9e30b889d2aa0b05511d5ebaeb861664f4fa9aeb93ac46678fe381d1408229ab33d21887666268fecbfd64871e8182d294dff3c5873775766036b5cf0df9e701456766df5ceca740fa52ddd804e5a3e10a05fbb68e5b2b1cdadca4d70159878a618628c3dd05667ad0853e0bceccc86a88c39eb1649a00854304702a53f2cd7bb6e0e19262668db6e0f7d2a215f602761abe4afd8ec4f70f25fbabc7935c384f6f58c91fa7c6d6632704c8e9749120c9980da19567b350545bc82414238e785badc015eb9dc30250570fad8ec95f276efa9a487a13cbab12306de82f94bc5edfd6ae702f4d23ee2151bb2b5d6ee8ac0e609e2c04ee4872f752ee43f158ac35e40bac91f7a4ff86d5af517c5eecf0a7f4c641c0480deb267a26eeff5761af68ce7c3ba9dde09d3592449614567ad0e4d58df0fca4358a9d0df556cd47ba831ef079e0bd19354ddcc151e8d5e18d285d1b51636abb7ecc228dddbfd910ba0b93293b082d74fcb90c9ce809f820d7c35e817eb72beb4aa16595587dbc657250f807cbe6824754f91a1bb35373f22458dfca66848a9f74539025e92ee05a836a7a1ff4341b6fbef2b6f511d7768d0871fb0a0ce2b93822d53522398effa77ccd3e13ea752b1de2a581c37deb7bc27cc35d0657666b054732c652b77330d3839e246302cd8f5796bab4fc8153fb9b421f587de632e5071bcf1e43588279e0c624b97460e293f2e8982793ed81f6437427a02c0dd871e5c68f231dc2da21de9a60a5d4767122c916817fe5a7ead2fe5aec2870805bf4fbbf52716ef049fc7f5290bee630f0a96f32994fc3a421b99cb78b7ddb8471dbd96a6fd9e2c57dee86929513c61d9764f7048c9df307ce6df4e72ff9dcecbd2a5af3e5acefce24cedffccc5276abe4787d4b1a38ec7826ddece33dbb6fdcb65e82b07c8966f24ea6d5382d79fa24819fb157485d76d2f5cfa6e95d35b72393d54c72302202089dcb38ca1b7e4ca0e6e8f7f6abdd3b8f38409c56a7776e6a4279950edf9519cf1d6aba793892a8a517bf38e3b64779023d20c3f8e1c8f6874b48ec1249d5a72fe3b43646a0e86549a99ae275d2c24a344b97db190fbad0248f6f0bf8bf41f887b04dd604250193ddd88691ecd168dacdecca2d0d6581d8840e3f0b0dc../../../../usr/lib64/python3.6/site-packages/ovs/_json.cpython-36m-aarch64-linux-gnu.sorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitch2.17-2.17.0-169.el8s.src.rpmpython-openvswitch2.17python3-openvswitch2.17python3-openvswitch2.17(aarch-64)python3.6dist(ovs)python3dist(ovs)@@@@@@@@@     @ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libopenvswitch-2.17.so.0()(64bit)libopenvswitch-2.17.so.0(libopenvswitch_0)(64bit)libpthread.so.0()(64bit)libpython3.6m.so.1.0()(64bit)openvswitch2.17python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)2.17.0-169.el8s3.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3fCR@f:f4f0@f(@f'ff@f-ff Df @f @ere~@eCeCeCeCe @e̫@ee@e@e5@e5@eeeoeiehy@eg'e`@eB=e@@e:Te9@e2ke2ke/e)1@e'e%b>b@bb@bb=b@bkb@bbs@bs@brjbrjbobi0@bgbaG@b]RbX bP#bP#bMbJbDF@bDF@bDF@b~Open vSwitch CI - 2.17.0-169Open vSwitch CI - 2.17.0-168Open vSwitch CI - 2.17.0-167Open vSwitch CI - 2.17.0-166Open vSwitch CI - 2.17.0-165Open vSwitch CI - 2.17.0-164Open vSwitch CI - 2.17.0-163Open vSwitch CI - 2.17.0-162Open vSwitch CI - 2.17.0-161Open vSwitch CI - 2.17.0-160Open vSwitch CI - 2.17.0-159Open vSwitch CI - 2.17.0-158Open vSwitch CI - 2.17.0-157Open vSwitch CI - 2.17.0-156Open vSwitch CI - 2.17.0-155Open vSwitch CI - 2.17.0-154Timothy Redaelli - 2.17.0-153Timothy Redaelli - 2.17.0-152Timothy Redaelli - 2.17.0-151Open vSwitch CI - 2.17.0-150Open vSwitch CI - 2.17.0-149Open vSwitch CI - 2.17.0-148Open vSwitch CI - 2.17.0-147Open vSwitch CI - 2.17.0-146Open vSwitch CI - 2.17.0-145Open vSwitch CI - 2.17.0-144Open vSwitch CI - 2.17.0-143Kevin Traynor - 2.17.0-142Open vSwitch CI - 2.17.0-141Kevin Traynor - 2.17.0-140Open vSwitch CI - 2.17.0-139Open vSwitch CI - 2.17.0-138Open vSwitch CI - 2.17.0-137Open vSwitch CI - 2.17.0-136Open vSwitch CI - 2.17.0-135Open vSwitch CI - 2.17.0-134Open vSwitch CI - 2.17.0-133Open vSwitch CI - 2.17.0-132Open vSwitch CI - 2.17.0-131Open vSwitch CI - 2.17.0-130Open vSwitch CI - 2.17.0-129Timothy Redaelli - 2.17.0-128Open vSwitch CI - 2.17.0-127Open vSwitch CI - 2.17.0-126Open vSwitch CI - 2.17.0-125Open vSwitch CI - 2.17.0-124Open vSwitch CI - 2.17.0-123Open vSwitch CI - 2.17.0-122Open vSwitch CI - 2.17.0-121Open vSwitch CI - 2.17.0-120Open vSwitch CI - 2.17.0-119Open vSwitch CI - 2.17.0-118Open vSwitch CI - 2.17.0-117Open vSwitch CI - 2.17.0-116Open vSwitch CI - 2.17.0-115Open vSwitch CI - 2.17.0-114Open vSwitch CI - 2.17.0-113Open vSwitch CI - 2.17.0-112Open vSwitch CI - 2.17.0-111Open vSwitch CI - 2.17.0-110Open vSwitch CI - 2.17.0-109Open vSwitch CI - 2.17.0-108Open vSwitch CI - 2.17.0-107Open vSwitch CI - 2.17.0-106Open vSwitch CI - 2.17.0-105Open vSwitch CI - 2.17.0-104Open vSwitch CI - 2.17.0-103Open vSwitch CI - 2.17.0-102Open vSwitch CI - 2.17.0-101Open vSwitch CI - 2.17.0-100Open vSwitch CI - 2.17.0-99Open vSwitch CI - 2.17.0-98Open vSwitch CI - 2.17.0-97Open vSwitch CI - 2.17.0-96Open vSwitch CI - 2.17.0-95Open vSwitch CI - 2.17.0-94Open vSwitch CI - 2.17.0-93Open vSwitch CI - 2.17.0-92Open vSwitch CI - 2.17.0-91Open vSwitch CI - 2.17.0-90Open vSwitch CI - 2.17.0-89Timothy Redaelli - 2.17.0-88Open vSwitch CI - 2.17.0-87Open vSwitch CI - 2.17.0-86David Marchand - 2.17.0-85Open vSwitch CI - 2.17.0-84Timothy Redaelli - 2.17.0-83Open vSwitch CI - 2.17.0-82Open vSwitch CI - 2.17.0-81Open vSwitch CI - 2.17.0-80Open vSwitch CI - 2.17.0-79Timothy Redaelli - 2.17.0-78Open vSwitch CI - 2.17.0-77Open vSwitch CI - 2.17.0-76Eelco Chaudron - 2.17.0-75Open vSwitch CI - 2.17.0-74Open vSwitch CI - 2.17.0-73Open vSwitch CI - 2.17.0-72Open vSwitch CI - 2.17.0-71Open vSwitch CI - 2.17.0-70Open vSwitch CI - 2.17.0-69Open vSwitch CI - 2.17.0-68Timothy Redaelli - 2.17.0-67Timothy Redaelli - 2.17.0-66Open vSwitch CI - 2.17.0-65Open vSwitch CI - 2.17.0-64Open vSwitch CI - 2.17.0-63Open vSwitch CI - 2.17.0-62Open vSwitch CI - 2.17.0-61Open vSwitch CI - 2.17.0-60Open vSwitch CI - 2.17.0-59Open vSwitch CI - 2.17.0-58Open vSwitch CI - 2.17.0-57Open vSwitch CI - 2.17.0-56Timothy Redaelli - 2.17.0-55Open vSwitch CI - 2.17.0-54Open vSwitch CI - 2.17.0-53Open vSwitch CI - 2.17.0-52Open vSwitch CI - 2.17.0-51Timothy Redaelli - 2.17.0-50Timothy Redaelli - 2.17.0-49Open vSwitch CI - 2.17.0-48Open vSwitch CI - 2.17.0-47Open vSwitch CI - 2.17.0-46Open vSwitch CI - 2.17.0-45Open vSwitch CI - 2.17.0-44Timothy Redaelli - 2.17.0-43Open vSwitch CI - 2.17.0-42Open vSwitch CI - 2.17.0-41Open vSwitch CI - 2.17.0-40Open vSwitch CI - 2.17.0-39Open vSwitch CI - 2.17.0-38Open vSwitch CI - 2.17.0-37Open vSwitch CI - 2.17.0-36Open vSwitch CI - 2.17.0-35Open vSwitch CI - 2.17.0-34Open vSwitch CI - 2.17.0-33Timothy Redaelli - 2.17.0-32Open vSwitch CI - 2.17.0-31Ilya Maximets - 2.17.0-30Open vSwitch CI - 2.17.0-29Open vSwitch CI - 2.17.0-28Open vSwitch CI - 2.17.0-27Open vSwitch CI - 2.17.0-26Open vSwitch CI - 2.17.0-25Open vSwitch CI - 2.17.0-24Open vSwitch CI - 2.17.0-23Open vSwitch CI - 2.17.0-22Open vSwitch CI - 2.17.0-21Open vSwitch CI - 2.17.0-20Open vSwitch CI - 2.17.0-19Timothy Redaelli - 2.17.0-18Timothy Redaelli - 2.17.0-17Open vSwitch CI - 2.17.0-16Open vSwitch CI - 2.17.0-15Open vSwitch CI - 2.17.0-14Open vSwitch CI - 2.17.0-13Open vSwitch CI - 2.17.0-12Timothy Redaelli - 2.17.0-11Open vSwitch CI - 2.17.0-10Timothy Redaelli - 2.17.0-9Open vSwitch CI - 2.17.0-8Open vSwitch CI - 2.17.0-7Open vSwitch CI - 2.17.0-6Timothy Redaelli - 2.17.0-5Open vSwitch CI - 2.17.0-4Open vSwitch CI - 2.17.0-3Timothy Redaelli - 2.17.0-2Timothy Redaelli - 2.17.0-1- Merging upstream branch-2.17 [RH git: b2beb2fa0a] Commit list: c553026ecd conntrack: Fully initialize conn struct before insertion. 966ed838e3 conntrack: Do not use {0} to initialize unions.- Merging upstream branch-2.17 [RH git: 3bced0ab82] Commit list: d1a2af7c33 ovsdb-client: Add missing arg to help for 'dump'.- Merging upstream branch-2.17 [RH git: b659285425] Commit list: 9d0de176c7 ofproto-dpif-trace: Fix access to an out-of-scope stack memory. bd020fba03 hash, jhash: Fix unaligned access to the hash remainder. 78ea43c71c sparse: Add additional define for sparse on GCC >= 14.- Merging upstream branch-2.17 [RH git: 5c0fdcef1e] Commit list: 755b66f68e sparse: Add immintrin.h header. c029de2482 tc: Fix -Wgnu-variable-sized-type-not-at-end warning with Clang 18. 0efdca5d34 tests: Fix build failure with Clang 18 due to -Wformat-truncation.- Merging upstream branch-2.17 [RH git: 838851db38] Commit list: b2e1911039 netdev-dpdk: Fix possible memory leak configuring VF MAC address.- Merging upstream branch-2.17 [RH git: f12e5b0242] Commit list: 091961542a ovsdb: raft: Fix probe intervals after install snapshot request. 15720a3e24 ovsdb: raft: Fix inability to join a cluster with a large database. 856cf68bca rhel/systemd: Set ovsdb-server timeout to 5 minutes.- Merging upstream branch-2.17 [RH git: 8ddde31ed4] Commit list: 1fe98e41f0 github: Update python to 3.12. ae67980c00 ovsdb-dot: Fix flake8 issues. 143fdbaeb5 ovsdb-doc: Fix syntax warning with Python 3.12 and flake8 issues.- Merging upstream branch-2.17 [RH git: 2c32df368d] Commit list: e4d61152f8 python: Remove hacking dependency and use recent flake8. 69687ac1b2 cirrus: Update to FreeBSD 13.3. 10588fed09 xenserver: Fix tests with Python 3.12.- Merging upstream branch-2.17 [RH git: 82677811bd] Commit list: fc2b1ad3d4 tests: Fix compatibility issue with Python 3.13 in vlog.at.- Merging upstream branch-2.17 [RH git: dc58c42229] Commit list: 74875da782 ofproto-dpif-upcall: Fix ukey installation failure logs and counters.- Merging upstream branch-2.17 [RH git: 36ad511ce1] Commit list: 915d3c1ae5 conntrack: Do not use icmp reverse helper for icmpv6. 13678cfab7 conntrack: Fix SNAT with exhaustion system test.- Merging upstream branch-2.17 [RH git: 8a1e4c7d37] Commit list: 1d740ed1b8 ovsdb: raft: Fix inability to join after leadership change round trip. 7065ac8e10 ovsdb: raft: Fix permanent joining state on a cluster member. 1aa302fb5e ovsdb: raft: Avoid transferring leadership to unavailable servers.- Merging upstream branch-2.17 [RH git: a58875a08f] Commit list: 30ea1ecc3e ofproto-dpif-xlate: Fix continuations with associated metering.- Merging upstream branch-2.17 [RH git: 23f3cdb128] Commit list: c0f0426195 ovs-monitor-ipsec: LibreSwan autodetect paths. (#1975039) f913a4c78b route-table: Avoid routes from non-standard routing tables.- Merging upstream branch-2.17 [RH git: cda1401fbf] Commit list: 2c1b9e9cee ofproto-dpif: Fix tunnel with different name del/add failure. 019e545ba8 ofpbuf: Prevent undefined behavior in ofpbuf_clone. 1a5f056303 github: Reduce ASLR entropy to be compatible with asan in llvm 14. adcb870d1a bfd: Improve state change log message. (#2258496) f9602296a9 tests: Fix "SSL db: Implementation" test with openssl > 3.2.0. ee8485227f conntrack: Fix flush not flushing all elements.- Merging dpdk subtree [RH git: e5c83b7dbf] Commit list: 856b38dbd3 Merge tag 'v21.11.6' into 21.11 48ac0a964f Reapply "net/iavf: fix abnormal disable HW interrupt" 181fb849b5 version: 21.11.6 1aa6eccdc8 Merging upstream branch-2.17 ef39402104 Merging upstream branch-2.17 f082ed71cc Merging upstream branch-2.17 598acceb55 Merging upstream branch-2.17 bbc9320caf version: 21.11.6-rc1 fc1c14ba87 Revert "net/iavf: fix abnormal disable HW interrupt" b655b64158 Revert "net/iavf: fix abnormal disable HW interrupt" 770e7c2724 net/af_xdp: make compatible with libbpf 0.8.0 9bb15a3d0f net/hns3: fix VF reset handler interruption 90236089a2 net/hns3: fix reset event status 0dece2892b net/hns3: fix ignored reset event f2151f9aa0 ethdev: fix ESP packet type description 6faf898f55 mempool: clarify enqueue/dequeue ops documentation 1699794ad5 mempool: fix get function documentation 69793a2e87 doc: remove number of commands in vDPA guide 82a6991ac2 doc: fix some ordered lists f8a3dcb22d doc: remove restriction on ixgbe vector support 8633f55ed5 Merging upstream branch-2.17 88bee6c641 Merging 4e50ad4469 version: 21.11.5 c83e88b939 Merging upstream branch-2.17 2b8325631a Merging upstream branch-2.17 9a6c6fad1b Merging upstream branch-2.17 fab24e72ab app/pipeline: add sigint handler 25bb8f090e test/hash: fix creation error log 83eafb9441 examples/ethtool: fix pause configuration 952d702879 app/dumpcap: allow multiple invocations c9a8aa95de pdump: fix error number on IPC response b2d5c193df eal/windows: fix build with recent MinGW e39929c868 examples/ipsec-secgw: fix partial overflow 25bd80cff6 doc: update versions recommendations for i40e and ice 3840836817 doc: fix RSS flow description in hns3 guide 326b4f1213 doc: update features in hns3 guide dded07195d doc: fix hns3 build option about max queue number d549330dfc net/txgbe: fix out of bound access 45cef8185a vhost: fix missing lock protection in power monitor API 9b63dd4599 net/virtio: fix descriptor addresses in 32-bit build 93f0406998 net/hns3: fix crash for NEON and SVE 662c60a322 net/hns3: fix LRO offload to report 7d54c473db net/hns3: fix setting DCB capability 9a8d7ab07f net/hns3: extract common function to obtain revision ID 082393fa5d net/hns3: fix IMP or global reset 5544a65fbb net/hns3: fix traffic management thread safety 88ddc5f559 net/nfp: fix reconfigure logic of set MAC address 69933a8ef9 net/nfp: fix reconfigure logic in VF initialization 66e7d1cdb0 net/nfp: fix reconfigure logic in PF initialization f3f42b6d5b net/nfp: fix link status interrupt d6ca7e03fe net/nfp: fix DMA error after abnormal exit 09ec0e74aa net/mlx5: fix hairpin queue unbind f19325f6eb crypto/qat: fix raw API null algorithm digest 501c30a45c crypto/qat: fix NULL algorithm digest placement 1c5191e68c net/nfp: fix Tx descriptor free logic of NFD3 8d9e1872ea event/dlb2: fix disable PASID 804ef265cf net/mlx5: zero UDP checksum over IPv4 in encapsulation e867b9ff37 net/mlx5: fix shared Rx queue list management 48f88518d9 net/mlx5: fix multi-segment Tx inline data length b4baa4d39e net/mlx5: fix hairpin queue states 5642cf46de net/mlx5: fix use after free on Rx queue start 17a2cc95f1 net/mlx5: fix validation of sample encap flow action 8f6de188ec app/testpmd: fix tunnel TSO configuration 522d1db23c app/testpmd: add explicit check for tunnel TSO 7e61e0b122 app/testpmd: fix tunnel TSO capability check 78727d935b net/hns3: fix mailbox sync 07e3d1ea4f test/bonding: fix uninitialized RSS configuration af6b84f09f ethdev: account for smaller MTU when setting default 4084334e1d app/testpmd: remove useless check in TSO command c105c5081a net/sfc: remove null dereference in log 7d50298a26 meter: fix RFC4115 trTCM API Doxygen e9285c755b event/dlb2: fix missing queue ordering capability flag 644f1632a6 net/ice: fix crash on closing representor ports 056e0eac3d test/bbdev: assert failed test for queue configure 939e119406 test/bbdev: fix Python script subprocess 38a1842b74 event/dlb2: fix name check in self-test 68cdf1299e app/dumpcap: fix mbuf pool ring type c268e6c466 config/arm: fix aarch32 build with GCC 13 f4ef2095b0 net/ice: fix Tx preparation 93bbc6d23d net/iavf: fix Tx preparation cfd4195e5c crypto/nitrox: fix panic with high number of segments 987c28f022 net/ice: fix DCF port statistics 7fd13314d3 net/iavf: fix Tx offload flags check 9e228c5690 net/iavf: fix indent in Tx path 820e8fc770 net/iavf: fix Tx offload mask da268d8b4e net/ice: fix L1 check interval 981460d101 common/mlx5: fix controller index parsing 986d9d2fbb net/mlx5: fix E-Switch mirror flow rule validation 9f2c545da6 net/mlx5: fix decap action checking in sample flow 97cf69ec61 net/tap: fix RSS for fragmented packets 4c22ff4433 app/procinfo: adjust format of RSS info ff10f5d05b app/procinfo: fix RSS info 774c444b1c net/tap: fix IPv4 checksum offloading 8b094ad673 net/tap: fix L4 checksum offloading c2404cbdfa net/hns3: fix uninitialized hash algo value 8ca6753041 net/hns3: keep set/get algo key functions local 5c52c7e6a4 net/hns3: fix some error logs 6b71d322ad net/hns3: fix some return values 48ce6323ad net/enic: avoid extra unlock in MTU set 6d69e09954 ethdev: fix 32-bit build with GCC 13 d0f7aa36ad net/bonding: fix possible overrun fe5d3a4119 test/bonding: add missing check 1c29c23953 test/bonding: remove unreachable statement df93e5cc12 net/hns3: refactor interrupt state query 0bc0e51d06 net/hns3: fix multiple reset detected log b28a338b6b net/hns3: remove reset log in secondary efe611f1c8 net/hns3: fix double stats for IMP and global reset fc1e7c7b6e net/hns3: fix unchecked Rx free threshold 79ee20d589 net/hns3: fix typo in function name 0aaa1f6146 ethdev: fix function name in comment 4adc748e0e common/cnxk: fix pool buffer size in opaque mode 587aea0f91 vhost: fix check on virtqueue access in in-flight getter 201e1f617b vhost: fix check on virtqueue access in async registration 900cc61cbe vhost: fix missing check on virtqueue access e9b6f56c9c vhost: fix missing vring call check on virtqueue access 98857c5b76 net/virtio: fix link state interrupt vector setting 0c91efd331 net/virtio: fix missing next flag in Tx packed ring c900dccdfe eventdev: fix missing driver names in info struct 48ecb471d9 eventdev: fix device pointer for vdev-based devices 6de3135f1e net/mlx5: fix matcher layout size calculation 104340b4e1 net/mlx5: fix MPRQ stride size to accommodate the headroom 21554f4ee2 Merging upstream branch-2.17 7a268dfe93 malloc: remove return from void functions 997c669059 app/procinfo: remove unnecessary rte_malloc 6b396dceec net/bonding: fix link status callback stop 097657f9bc app/testpmd: fix primary process not polling all queues 91c5c25915 net/vmxnet3: fix Rx and Tx queue state a508510366 net/virtio: fix Rx and Tx queue state 1213bcc826 net/vhost: fix Rx and Tx queue state 358e6d50e7 net/txgbe: fix Rx and Tx queue state 4e0e44f7ef net/softnic: fix Rx and Tx queue state 7a88ec18c1 net/sfc: fix Rx and Tx queue state d849664d39 net/ring: fix Rx and Tx queue state ec33dc897d net/pfe: fix Rx and Tx queue state 2e34b54c6e net/octeon_ep: fix Rx and Tx queue state b86f8689f9 net/null: fix Rx and Tx queue state 4cdfd0b407 net/ngbe: fix Rx and Tx queue state eb249c2d5f net/mvpp2: fix Rx and Tx queue state bd403e9e66 net/mvneta: fix Rx and Tx queue state 789097d1b9 net/mlx4: fix Rx and Tx queue state 72786175fb net/memif: fix Rx and Tx queue state 5c8a283469 net/ipn3ke: fix Rx and Tx queue state 9323a4e3c7 net/hinic: fix Rx and Tx queue state 10ccc32cc0 net/enic: fix Rx and Tx queue state ee101d1045 net/enetc: fix Rx and Tx queue state b69c78275b net/ena: fix Rx and Tx queue state 180c47a4a4 net/e1000: fix Rx and Tx queue state 09058bb2bb net/dpaa2: fix Rx and Tx queue state 87695a10d6 net/dpaa: fix Rx and Tx queue state 92c7732d11 net/cxgbe: fix Rx and Tx queue state b251cfe68f net/bonding: fix Rx and Tx queue state af16f64988 net/bnxt: fix Rx and Tx queue state 8b1f7ca738 net/bnx2x: fix Rx and Tx queue state 0a4aa9fa9e net/avp: fix Rx and Tx queue state 36cbe7901c net/af_xdp: fix Rx and Tx queue state d59c166780 net/af_packet: fix Rx and Tx queue state f3baeaa757 fib6: fix adding default route as first route e9cd35de3c fib: fix adding default route overwriting entire table 70b49bf5ef net/mlx5: fix leak in sysfs port name translation 1b21ab31ce net/ice: fix TSO with big segments d4041c9e05 net/ice: remove log from Tx prepare function 49e338a2b2 net/iavf: fix TSO with big segments 296c529c25 net/iavf: remove log from Tx prepare function 11e3255ee8 net/iavf: fix Tx debug 1cc6a40c0d net/ice: fix initial link status f89cd0418d net/iavf: fix ESN session update 77aff6a046 net/iavf: unregister interrupt handler before FD close 1b0d948303 net/iavf: fix port stats clearing 28ddcaf4a6 net/ice: fix TM configuration clearing 13662a31d2 net/i40e: fix buffer leak on Rx reconfiguration bf23d4ca47 net/iavf: fix checksum offloading 71663e247f net/iavf: fix VLAN offload strip flag e7bd53b384 net/ice: write timestamp to first segment in scattered Rx 1d231c0c26 net/i40e: fix FDIR queue receives broadcast packets cbc624f535 app/bbdev: fix link with NXP LA12XX e166b7fd15 baseband/acc: fix ACC100 HARQ input alignment 8816d35798 common/cnxk: remove dead Meson code e50b6544bb common/cnxk: fix aura disable handling 5bbab97809 mempool/cnxk: fix free from non-EAL threads f2a2d57884 dma/cnxk: fix device state 7c35f7b1c5 common/cnxk: fix DPI memzone name a2e1ba51cd net/cnxk: fix uninitialized variable 723ae321d2 net/cnxk: fix uninitialized variable 3e087130fc common/cnxk: fix different size bit operations 981e2093cb common/cnxk: fix xstats for different packet sizes b2da49e418 common/cnxk: fix default flow action setting 77810d067d event/sw: fix ordering corruption with op release 9ae9b97617 eventdev/eth_rx: fix timestamp field register in mbuf 2ab27f391f event/sw: remove obsolete comment 9ff70c4b78 test/event: fix crypto null device creation 107d68ad4d event/cnxk: fix return values for capability API d31f9b208d event/cnxk: fix getwork mode devargs parsing 2df5816de9 Merging upstream branch-2.17 13b3789404 bus/pci: fix device ID log 0882f0ecd2 eventdev: fix symbol export for port maintenance 27a64dc2dd crypto/ipsec_mb: add dependency check for cross build 4346110ba4 test/crypto: fix typo in asym tests 0ad8ae6b18 test/crypto: skip some synchronous tests with CPU crypto 956aa99fcb test/crypto: fix IV in some vectors de8bdca2b3 doc: replace code blocks with includes in security guide 9ee1a46fe7 cryptodev: add missing doc for security context 64513c3fd4 app/testpmd: fix help string da9e764370 net/tap: use MAC address parse API instead of local parser 4cdc254d17 net/ngbe: check process type in close operation 4a97dac668 net/txgbe: check process type in close operation 5658f2dd84 net/ngbe: keep link down after device close a3d1c5eb08 net/txgbe: keep link down after device close 709992faca net/ngbe: reconfigure MAC Rx when link update b817c9e250 net/txgbe: reconfigure MAC Rx when link update 51451e5516 net/ngbe: fix flow control 289d492046 net/txgbe: fix GRE tunnel packet checksum 2a455021e4 net/txgbe: add Tx queue maximum limit eb6a3e4952 net/netvsc: increase VSP response timeout to 60 seconds 25123c091b hash: align SSE lookup to scalar implementation 171c6bf70d bus/dpaa: fix build with asserts for GCC 13 81b71fcdab random: initialize state for unregistered non-EAL threads 03a4383ed7 net/hns3: fix order in NEON Rx 7690a37723 net/hns3: fix flushing multicast MAC address 21874e8d89 net/hns3: fix error code for multicast resource e5a349762a net/hns3: fix VF default MAC modified when set failed 2a40eeaf9a net/sfc: add missing error code indication to MAE init path 0ea692c019 net/sfc: account for data offset on Tx c0edca24f2 net/sfc: set max Rx packet length for representors 41073f2809 net/bonding: fix header for C++ 2e32b7f958 rawdev: fix device class in log message c8f024efd8 eal/unix: fix firmware reading with external xz helper acafc55e26 mempool: fix default ops for an empty mempool fb25ee65c2 Merging upstream branch-2.17 f5fec488a1 Merging upstream branch-2.17 5d7fc78c46 Merging upstream branch-2.17 2d8e91e4cd Merging upstream branch-2.17 edb655f33c Merging upstream branch-2.17 fcd29ab280 Merging upstream branch-2.17 0ab613e72e Merging upstream branch-2.17 dc3b12d638 Merging upstream branch-2.17 e89b367b29 Merging upstream branch-2.17 b960a1e73b Merging upstream branch-2.17 2323252f10 Merging upstream branch-2.17 ec3ddd7e91 Revert "net/iavf: fix tunnel TSO path selection" bfa72e847e Merging upstream branch-2.17 4dbf535102 Merging upstream branch-2.17 33604e6b9e Merging upstream branch-2.17 1d093172f3 Merging upstream branch-2.17 c6fe249b71 Merging upstream branch-2.17 75de7e4692 Merging upstream branch-2.17 0cabc0aaab Merging upstream branch-2.17 3906bbc236 Merging upstream branch-2.17 c54d4024f1 Merging upstream branch-2.17 ae0cf9c610 Merging upstream branch-2.17 40bc911f1e Merging upstream branch-2.17 9f7cd5522e Merging upstream branch-2.17 6521f134cf Merging upstream branch-2.17 9f8ccda402 Merging upstream branch-2.17 cbaaedee10 Merging upstream branch-2.17 46e64a87e0 Merging upstream branch-2.17 475deff39c Merging upstream branch-2.17 31a23281e4 Merging upstream branch-2.17 5d594abe7a Merging upstream branch-2.17 76a5db03fd Merging upstream branch-2.17 f477adf374 Merging upstream branch-2.17 45d844304e Merging upstream branch-2.17 2697579fdc Merging upstream branch-2.17 67f604ebdc Merging upstream branch-2.17 05fa26a139 Merging upstream branch-2.17 37c3af3e12 Merging upstream branch-2.17 0e651f6b54 Merging upstream branch-2.17 17b95f12c3 Merging upstream branch-2.17 ae8260a204 Merging upstream branch-2.17 128581791a net/i40e: revert link status check on device start (#2138116) 6f8543f511 Merging upstream branch-2.17 f19938d3a1 Merging upstream branch-2.17 b525569b0d Merging upstream branch-2.17 5dfd4e6400 Merging upstream branch-2.17 1cfa796567 Merging upstream branch-2.17 71ddd61269 Merging upstream branch-2.17 a433643e75 Merging upstream branch-2.17 6169fac929 Merging upstream branch-2.17 f23d889fb6 Merging upstream branch-2.17 0ec0df6e20 Merging upstream branch-2.17 4ba6b95b22 Merging upstream branch-2.17 71bc61c2bf Merging upstream branch-2.17 7ff23905b5 Merging upstream branch-2.17 25e49e5fca Merging upstream branch-2.17 da8dd9a9b2 net/i40e: fix jumbo frame Rx with X722 f1c25f8297 Merging upstream branch-2.17 84413c9788 Merging upstream branch-2.17 ab44868171 Merging upstream branch-2.17 d0433c40d3 Merging upstream branch-2.17 7c403d4410 Merging upstream branch-2.17 0b5d3b91b4 Merging upstream branch-2.17 a533d9e5f2 Merging upstream branch-2.17 3b7766ed9f Merging upstream branch-2.17 516dbfecd4 Merging upstream branch-2.17 8ca47ac0d2 Merging upstream branch-2.17 8fb9f9f63d Merging upstream branch-2.17 312ab65013 Merging upstream branch-2.17 11d3f7c41a vhost: fix virtqueue use after free on NUMA reallocation e516b3bf5f Merging upstream branch-2.17 d749cfdaec Merging upstream branch-2.17 1295f7a5e6 Merging 7bcd45ce82 version: 21.11.2 6f69b34570 Merging upstream branch-2.17 89e726bde0 Merging upstream branch-2.17 a4ef706d85 Merging upstream branch-2.17 22fee2fe1c Merging upstream branch-2.17 d5f05599e2 Merging upstream branch-2.17 9696953ec3 Merging upstream branch-2.17 4e7aefcf9b Merging upstream branch-2.17 35eafbd002 Merging upstream branch-2.17 f20d9896dc Merging upstream branch-2.17 33619c7858 Merging upstream branch-2.17 90c3a0cb82 Merging upstream branch-2.17 99635fe2d6 Merging upstream branch-2.17 14f43280c9 Merging upstream branch-2.17 6d503f9671 Merging upstream branch-2.17 ef89b30abc Merging upstream branch-2.17 fc7fadc01f Merging upstream branch-2.17 3048a9f25e Merging upstream branch-2.17 67ef01bba8 Merging upstream branch-2.17 5ca18f3ca7 Merging upstream branch-2.17 97e4e20baf Merging upstream branch-2.17 05c95aefde Merging upstream branch-2.17 d5ccc414d3 Merging upstream branch-2.17 ec6e7994a3 Merging upstream branch-2.17 47e297811e vhost: fix queue number check when setting inflight FD eb67d78dbb vhost: fix FD leak with inflight messages 4130c8ead3 Merging upstream branch-2.17 5a4bc1fbfe Merging upstream branch-2.17 3383d19a17 Merging upstream branch-2.17 c32cf7621a Merging upstream branch-2.17 e20f46658c Merging upstream branch-2.17- redhat: Fix testcase failures due to downstream only backport. [RH git: 69bb84bec0] The following tests where failing due to the downstream only backport: 793: tunnel_push_pop - local_ip configuration 797: tunnel_push_pop - use non-local port as tunnel endpoint 801: tunnel_push_pop_ipv6 - local_ip configuration This is the downstream backport causing the problem: 684b6e8ad9ff ("ofproto-dpif-xlate: Optimize datapath action set by removing last clone action.")- redhat: Use Patch0 instead of Patch [RH git: 950581580e]- redhat: Fix SyntaxWarnings with Python 3.12 [RH git: 717ba0dd65]- Merging upstream branch-2.17 [RH git: c780a55623] Fix merge conflict as well. The fix goes fully with the Upstream version Commit list: 67f834f2b3 bond: Reset stats when deleting post recirc rule. 567b7f9cf1 ofproto-dpif-trace: Fix infinite recirculation tracing. 108d5e70a0 ofproto-dpif-xlate: Fix ignoring IPv6 local_ip for native tunnels. d4d4e7dec3 netdev-dummy: Add local route entries for IP addresses. 01e400bf5b tests: Move the non-local port as tunnel endpoint test. ff356a2988 netdev-dummy: Support multiple IP addresses. e60c121f60 rstp: Fix deadlock with patch ports.- Merging upstream branch-2.17 [RH git: 95c67eed84] Commit list: 558ec274f6 ofproto-dpif-monitor: Remove unneeded calls to clear packets. 1b9ee817e0 bfd: Set proper offsets and flags in BFD packets.- Merging upstream branch-2.17 [RH git: b295496b75] Commit list: 82ab9d1dcb Prepare for 2.17.10. 0bea06d995 Set release date for 2.17.9. b8657dada9 netdev-offload-tc: Check geneve metadata length. e235a421fb odp: ND: Follow Open Flow spec converting from OF to DP.- Merging upstream branch-2.17 [RH git: 11d47978ac] Commit list: 002cba9f19 dpdk: Use DPDK 21.11.6 release for OVS 2.17. ee889659db github: Update versions of action dependencies (Node.js 20). bf717d0f31 ovs-atomic: Fix inclusion of Clang header by GCC 14.- Merging upstream branch-2.17 [RH git: 2348735fed] Commit list: 9bbc2cf8a8 ovsdb-idl.at: Test IDL behavior during database conversion. 049189584f tests: Use _DAEMONIZE macro's to start tcpdump. 30099c5d9e tests-ovsdb: Switch OVSDB_START_IDLTEST to macro. f4b4d650a1 python: idl: Handle monitor_canceled.- Merging upstream branch-2.17 [RH git: c1d394c18f] Commit list: d6caa6ed03 vconn: Count vconn_sent regardless of log level. b0eb66a69d backtrace: Fix error in log_backtrace() documentation. bb89735b21 ovsdb: trigger: Do not allow conversion in read-only mode. a79ee883a7 ovsdb: jsonrpc-server: Fix the DSCP value in default options. 4f01f2f7de jsonrpc: Sort JSON objects while printing debug messages. 3cae42bc53 tests: ovsdb: Use diff -up format for replay test. a7036f6a1e ovsdb-server.at: Enbale debug logs in active-backup tests. c944a30fee ovsdb: transaction: Don't try to diff unchanged columns. 5c0dc96027 ovsdb: transaction: Avoid diffs for different type references.- Merging upstream branch-2.17 [RH git: 10e593b4ef] Commit list: eabd4cb2f6 ci: Update the GitHub Ubuntu runner image to Ubuntu 22.04. c462aabb36 netdev-afxdp: Disable -Wfree-nonheap-object on receive.- Merging upstream branch-2.17 [RH git: f523f8b516] Commit list: b3f8c32eda ovsdb-idl: Preserve change_seqno when deleting rows.- Revert "net/iavf: fix abnormal disable HW interrupt" [RH git: fc3754f28d] This reverts commit b965aceffdb9dd8d2501314c174716617371d752. This was reported by QE to be causing a hang in FD-3249. commit b965aceffdb9dd8d2501314c174716617371d752 Author: Mingjin Ye Date: Wed Jun 14 09:53:03 2023 +0000 net/iavf: fix abnormal disable HW interrupt [ upstream commit 675a104e2e940ec476e8b469725e8465d01c0098 ] Signed-off-by: Kevin Traynor - Merging upstream branch-2.17 [RH git: 25eec953ca] Commit list: d254aedad7 tunnel: Do not carry source port from a previous tunnel. 1857c569ee netdev-offload-tc: Fix offload of tunnel key tp_src. 0a0c500d7c cirrus: Update from FreeBSD 12 to 14.- Merging 4e50ad4469 version: 21.11.5 [RH git: 9040d7ae2f] Commit list: 4e50ad4469 version: 21.11.5 89133ca5b1 version: 21.11.5-rc1 cdb53b339b net/mlx5: fix drop action attribute validation c6c34e7304 net/hns3: get FEC capability from firmware 464ba4ae95 net/hns3: fix missing FEC capability 5a557a0746 test/bonding: fix include of standard header 894cfad370 net/ngbe: fix RSS offload capability 155acf8e9d test/mbuf: fix crash in a forked process ad2b9b7ef9 net/nfp: fix offloading flows 9866fb3dae doc: update BIOS settings and supported HW for NTB c90d34c66f net/mlx5: fix validation for conntrack indirect action 88407eb228 net/mlx5: fix LRO TCP checksum a83cabaa74 net/mlx5: fix drop action memory leak 23103032ab net/e1000: fix Rx and Tx queue status 5df4afe600 net/igc: fix Rx and Tx queue status 9eceb8933e net/ixgbe: fix Rx and Tx queue status 7b9fc06893 common/iavf: fix MAC type for 710 NIC 8ff3aaeba2 net/iavf: fix stop ordering f89976b2af net/i40e: fix comments 775d83159d doc: fix typos and wording in flow API guide 904c11f81a kni: fix build with Linux 6.5 4934f0d915 ipsec: fix NAT-T header length 7d5fa222be examples/ipsec-secgw: fix TAP default MAC address 0fad3187d7 app/crypto-perf: fix socket ID default value 629d2a5ac7 examples/fips_validation: fix digest length in AES-GCM ea37fdf491 test/crypto: fix PDCP-SDAP test vectors 80aeb93e1e common/qat: detach crypto from compress build 2fabcaceff baseband/fpga_5gnr_fec: fix starting unconfigured queue 2074d7e982 baseband/fpga_5gnr_fec: fix possible division by zero 03f55be06e net/ice: fix RSS hash key generation 3eb4ad8ed6 net/iavf: fix tunnel TSO path selection 336ae4ce52 net/ice: fix 32-bit build 87a713bbe9 net/iavf: fix VLAN insertion in vector path c3d6a7d2e4 net/ice: fix VLAN mode parser 3f5a206aab net/mlx5: forbid MPRQ restart c947d1f3bd net/mlx5: fix flow workspace destruction 9a1b7013e1 net/mlx5: fix flow dump for modify field 376ba6a8d7 ethdev: fix potential leak in PCI probing helper 4045558987 net/hns3: fix index to look up table in NEON Rx 3a78edd47d net/hns3: fix non-zero weight for disabled TC 7b603155c1 doc: fix number of leading spaces in hns3 guide a6df8f6163 doc: fix syntax in hns3 guide 8d3993728f doc: fix kernel patch link in hns3 guide 73aaba67bd net/hns3: delete duplicate macro definition 8ed9016759 app/testpmd: fix checksum engine with GTP on 32-bit 3bb1514228 net/netvsc: fix sizeof calculation 4701569166 hash: fix reading unaligned bits in Toeplitz hash 8f2d1e294c mem: fix memsegs exhausted message aa341b7700 fib: fix adding default route 0c24fe6db3 ipc: fix file descriptor leakage with unhandled messages b687d491a2 net/cnxk: fix flow queue index validation fa91d69044 net/cnxk: fix cookies check with security offload 27da89db96 net/cnxk: flush SQ before configuring MTU 09ad6cf34e common/mlx5: adjust fork call with new kernel API 3bb439262b net/mlx5: fix device removal event handling 04972e0400 net/mlx5: fix risk in NEON Rx descriptor read ad874a89de net/ice: fix protocol agnostic offloading with big packets 87ec3aee94 net/e1000: fix queue number initialization 0826a11cd2 net/i40e: fix tunnel packet Tx descriptor b965aceffd net/iavf: fix abnormal disable HW interrupt 9dee3615aa net/ixgbe: add proper memory barriers in Rx 259f2c0780 net/ice: fix tunnel packet Tx descriptor fe2fc3df82 net/iavf: fix VLAN offload with AVX512 c4dc88c937 common/sfc_efx/base: fix Rx queue without RSS hash prefix 4963f9aba5 net/nfp: fix address always related with PF ID 0 fcea6b6498 net/ngbe: fix extended statistics edf9b54d25 net/txgbe: fix extended statistics 1077232f46 net/txgbe: fix to set autoneg for 1G speed 5b72e18f0a net/txgbe: fix interrupt enable mask 1a7755214b net/txgbe/base: fix Tx with fiber hotplug d98f67c3a3 net/bonding: fix destroy dedicated queues flow b11127de28 net/bonding: fix startup when NUMA is not supported da6cad795b ethdev: update documentation for API to get FEC b6557a758d ethdev: check that at least one FEC mode is specified d53afe6d0e ethdev: update documentation for API to set FEC 1cf0bf459c crypto/openssl: skip workaround at compilation time ad9d44049a ci: fix libabigail cache in GHA 88497910a9 mbuf: fix Doxygen comment of distributor metadata 5d9357c7e2 test: add graph tests 47a25c8459 examples/l2fwd-cat: fix external build 648321ab81 doc: remove warning with Doxygen 1.9.7 eac5508ce6 doc: fix typo in graph guide 77145940b5 net/virtio-user: fix leak when initialisation fails 7b8888a456 net/ice: fix outer UDP checksum offload 1c5b0a02f0 net/ice: initialize parser for double VLAN 634cd44ea0 net/ice: fix timestamp enabling 285bc0e2d1 net/ice: adjust timestamp mbuf register f420162557 net/ice/base: remove unreachable code cdd62beeb2 net/ice: fix DCF control thread crash 45daf222f8 net/iavf: release large VF when closing device 9d5f649aa5 net/ice: fix DCF RSS initialization 4408ee1716 net/ice: fix statistics 0a060a3c1e net/iavf: fix Rx data buffer size 54b08280e7 net/ice: fix Rx data buffer size d5755af28b net/i40e: fix Rx data buffer size 1173611e55 doc: fix typo in cnxk platform guide a56289503e net/qede: fix RSS indirection table initialization 498f380f8c common/cnxk: fix inline device VF identification 6f685b45a6 common/cnxk: fix IPsec IPv6 tunnel address byte swap baff3174c6 net/mlx5: fix duplicated tag index matching in SWS 2681bfff6d net/mlx5: enhance error log for tunnel offloading 32d51fbf81 net/virtio: fix initialization to return negative errno 2c2d4e88a8 net/virtio: propagate interrupt configuration error values 11a426ee6b vhost: fix invalid call FD handling f329acb883 crypto/ipsec_mb: optimize allocation in session 2487cb35ca crypto/ipsec_mb: fix enqueue counter for SNOW3G 0428cfa189 test/crypto: fix session creation check c4583cd33a test/crypto: fix return value for SNOW3G 792da5fcf7 crypto/scheduler: fix last element for valid args 54fa9bdcd5 doc: fix auth algos in cryptoperf app f68f4b2b8b net/vmxnet3: fix return code in initializing 1fa656ba3c net/hns3: fix IMP reset trigger b99c14584b net/hns3: fix redundant line break in log 44160c032b net/hns3: fix inaccurate log 1834797be4 net/hns3: fix uninitialized variable f630f709e9 net/hns3: fix device start return value 51a43c9a86 net/hns3: fix mbuf leakage when RxQ started after reset 3d26d3f0c2 net/hns3: fix mbuf leakage when RxQ started during reset 37164c2537 net/hns3: extract PTP to its own header file 80d032eed5 net/hns3: uninitialize PTP d2ec3c302c net/hns3: fix RTC time after reset bf28f06d51 net/hns3: fix RTC time on initialization 57a458ded6 doc: fix format in flow API guide 65193aced0 net/hns3: fix FEC mode check 3e8f218194 net/hns3: fix FEC mode for 200G ports c11ee881c2 ethdev: fix indirect action conversion b374bc7b0e net/hns3: fix Rx multiple firmware reset interrupts 5c105051b9 net/hns3: fix variable type mismatch 4077943285 net/hns3: fix never set MAC flow control fbfa671cbf net/sfc: invalidate dangling MAE flow action FW resource IDs b3741dfb48 ethdev: fix MAC address occupies two entries 80e17cb702 net/txgbe: fix use-after-free on remove 6de921b8d6 net/vmxnet3: fix drop of empty segments in Tx b23b2580e3 app/testpmd: fix GTP L2 length in checksum engine f297d8681d net/dpaa2: fix checksum good flags aae992cbfb net/tap: set locally administered bit for fixed MAC address ed992acac3 net/sfc: stop misuse of Rx ingress m-port metadata on EF100 f400487830 net/hns3: fix build warning b75ffdb751 eal/linux: fix legacy mem init with many segments 3ca06320cd eal/linux: fix secondary process crash for mp hotplug requests 15aac36450 event/cnxk: fix nanoseconds to ticks conversion 44a0ae7840 eventdev/timer: fix buffer flush 63daa71622 event/dsw: free rings on close 87c6203836 doc: fix event timer adapter guide 84d280e276 eventdev/timer: fix timeout event wait behavior e248dac54f pci: fix comment referencing renamed function e506470227 eal: avoid calling cleanup twice c2f6df57e2 test/malloc: fix statistics checks 13c7286a69 test/malloc: fix missing free e531825d4e pipeline: fix double free for table stats 4b8a60276b ring: fix dequeue parameter name c95d48b0d4 telemetry: fix autotest on Alpine 16e1d054e4 build: fix case of project language name e8393bfd7b kernel/freebsd: fix function parameter list ae3de8c27c vfio: fix include with musl runtime 096ec31efd ring: fix use after free 27f385ccbd examples/ntb: fix build with GCC 13 43a3d772b3 examples/ip_pipeline: fix build with GCC 13 b22ddfe63a kni: fix build with Linux 6.3 e185150c2a version: 21.11.4 37b4d55f5e build: detect backtrace availability f7dce59377 version: 21.11.4-rc1 dea6bb1c53 vhost: fix possible FD leaks a7843e7a00 net/af_xdp: squash deprecated-declaration warnings 29d8b0a92a ci: switch to Ubuntu 20.04 6da61add54 doc: fix pipeline example path in user guide 03973756cf acl: fix crash on PPC64 with GCC 11 606474e9d0 pdump: fix build with GCC 12 143dc1f75c test/crypto: fix statistics error messages f428da47bf net/mlx5: fix sysfs port name translation 4509d71d9e net/mlx5: fix CQE dump for Tx c3a4fd09f9 net/mlx5: fix build with GCC 12 and ASan b663eda75c examples/qos_sched: fix config entries in wrong sections fd79c3462e net/nfp: fix MTU configuration order 398c55fee9 net/ipn3ke: fix representor name b3fbfee3fb net/ipn3ke: fix thread exit 400ac4f9da bus/ifpga: fix devargs handling 34934b2b19 doc: fix LPM support in l3forward guide 7a7e85c4de net/mlx5: fix hairpin Tx queue reference count 35f911011c net/iavf: fix device stop during reset e71d71bc0c net/i40e: fix MAC loopback on X722 acfff39a6d net/e1000: fix saving of stripped VLAN TCI ac111b80fe net/i40e: fix AVX512 fast-free path 998d70414b net/sfc: invalidate switch port entry on representor unplug f5922d3d3d net/virtio: remove address width limit for modern devices 1585556d2c net/vhost: fix Rx interrupt a38b2e5693 net/vhost: fix leak in interrupt handle setup 14297e3110 net/vhost: add missing newline in logs b3225c2215 app/bbdev: check statistics failure 9daf33a237 app/compress-perf: fix remaining data for ops 50f94c98a9 test/crypto: fix capability check for ZUC cipher-auth 0872c1aaad test/crypto: fix ZUC digest length in comparison 655c88665d test/mbuf: fix test with mbuf debug enabled 988dc26cab test: fix segment length in packet generator b71a128da3 reorder: fix sequence number mbuf field register 7dd9b2a9fa raw/skeleton: fix selftest fe4b05502d net/hns3: add verification of RSS types a306316dd2 net/hns3: reimplement hash flow function 31b6a0d06f net/hns3: separate flow RSS config from RSS conf 6e7fad71e4 net/hns3: allow adding queue buffer size hash rule c1c4bb0af2 net/hns3: remove unused structures 2e9d4cae1a net/hns3: save hash algo to RSS filter list node d624edd0a2 net/hns3: use new RSS rule to configure hardware 5b805e1ebc net/hns3: separate setting RSS types 10b331bc5f net/hns3: separate setting hash key 22b71c0ad7 net/hns3: separate setting hash algorithm 1f685aab8a net/hns3: use hardware config to report hash types abe4818f0e net/hns3: use hardware config to report hash key 8dac9d9073 net/hns3: extract common functions to set Rx/Tx b5f5a77a9f net/hns3: fix burst mode query with dummy function 6cce9c61f9 net/hns3: fix RSS key size compatibility 9a20540ca1 net/hns3: make getting Tx function static df7d846ead net/hns3: separate Tx prepare from getting Tx function 8ad4e433e7 common/cnxk: fix auth key length 7faf9ad3c4 eal: cleanup alarm and hotplug before memory detach 64407a1385 common/cnxk: fix dual VLAN parsing bace3fae4e net/sfc: fix resetting mark in tunnel offload switch rules 0a3ba8d8bc mailmap: add list of contributors 27b61d8f7b app/flow-perf: fix division or module by zero a9cddaff93 app/crypto-perf: fix test file memory leak 44bd8ea719 net/mlx5: fix Windows build with MinGW GCC 12 f8bbcce58a net/hns3: separate setting and clearing RSS rule 5de7a11e06 net/hns3: separate setting redirection table 9a7ea28161 net/hns3: use hardware config to report redirection table abeba16e38 net/hns3: fix possible truncation of redirection table f9e58fd51a net/hns3: fix possible truncation of hash key when config 43af30f9a5 mem: fix heap ID in telemetry 01a15c3c5c cmdline: handle EOF as quit 42339a554e cmdline: make rdline status not private c98bda4768 kni: fix possible starvation when mbufs are exhausted b7c5365796 common/sfc_efx/base: add MAE mark reset action 5b765d83bb regex/mlx5: fix doorbell record e140c624f6 regex/mlx5: utilize all available queue pairs c07485a1c1 table: fix action selector group size log2 setting d15e8526b0 raw/skeleton: fix empty devargs parsing c6dd06ddb6 dma/skeleton: fix empty devargs parsing cbb0399801 net/virtio: fix empty devargs parsing 1b619068f3 net/hns3: fix empty devargs parsing 52480ab3ae cryptodev: fix empty devargs parsing cb72e89906 compressdev: fix empty devargs parsing 5d95507d27 kvargs: add API documentation for process callback 5eeee34bf7 common/cnxk: add memory clobber to steor and ldeor c0a24be8f2 net/cnxk: fix LBK BPID usage 617735f8fb net/ixgbe: fix IPv6 mask in flow director 66c0e09464 app/testpmd: fix secondary process packet forwarding 096166c31c ethdev: remove telemetry Rx mbuf alloc failed field 2d42946f45 net/nfp: fix getting RSS configuration 36cbdd704b ethdev: fix build with LTO 4b158390a6 app/testpmd: fix packet transmission in noisy VNF engine ce6a8e97ec app/testpmd: fix packet count in IEEE 1588 engine 0a4ce1a382 app/testpmd: fix Tx preparation in checksum engine 90c0aaef25 compress/mlx5: fix queue setup for partial transformations 38c2a798fd compress/mlx5: fix output Adler-32 checksum offset cb240b164c compress/mlx5: fix decompress xform validation f18e07dad7 examples/ipsec-secgw: fix auth IV length c41493361c net/virtio: deduce IP length for TSO checksum 7a4cda6e20 vhost: fix OOB access for invalid vhost ID e29f5be725 test/bbdev: remove check for invalid opaque data 8a36f3995a test/bbdev: extend HARQ tolerance f77e413c91 test/bbdev: fix crash for non supported HARQ length 349431b3fb event/cnxk: fix SSO cleanup 6147a8003d doc: fix reference to event timer header 52cf05533b doc: add gpudev to the Doxygen index 0bc981bfdf eal/windows: fix pedantic build 7b20d58e71 build: fix dependencies lookup 74f84c7558 examples/qos_sched: fix Tx port config when link down 661f5540c3 examples/cmdline: fix build with GCC 12 c791a30249 eal: use same atomic intrinsics for GCC and clang aff575df46 build: fix toolchain definition fa627c973b test/reorder: fix double free of drained buffers 68bf4f36e9 reorder: invalidate buffer from ready queue in drain 5f2d6beac4 dma/ioat: fix error reporting on restart 3d440ae7d3 dma/ioat: fix indexes after restart 7e8fc5d992 dma/ioat: fix device stop if no copies done 118edbb634 eal/freebsd: fix lock in alarm callback 818b598bfd sched: fix alignment of structs in subport 058262ec6c app/testpmd: fix crash on cleanup e6152fdf62 net/bnxt: fix link state change interrupt config 8b717146ab app/compress-perf: fix testing single operation 87689a74a4 app/compress-perf: fix some typos cc692ab817 net/iavf: fix VLAN offload with AVX2 312d7c3eb2 net/ixgbe: enable IPv6 mask in flow rules 7cdea129b8 net/iavf: fix building data desc a6aba6b291 net/iavf: protect insertion in flow list 1ce8e1d4a8 net/ice: fix validation of flow transfer attribute cb8f428cfe net/i40e: fix validation of flow transfer attribute 22ffbcffdf net/iavf: add lock for VF commands a13a713ce4 net/ixgbe: fix firmware version consistency c8e4a58ca9 net/i40e: reduce interrupt interval in multi-driver mode 0b4592d347 net/mlx5: check compressed CQE opcode in vectorized Rx 026450013f net/mlx5: ignore non-critical syndromes for Rx queue 0167cd8cf1 net/mlx5: fix error CQE dumping for vectorized Rx e8b6b06faa net/mlx5: fix flow sample with ConnectX-5 190d16fb4c net/txgbe: fix Rx buffer size in config register 08f5c42a98 net/sfc: enforce fate action in transfer flow rules ef7d2f34a7 net/sfc: fix MAC address entry leak in transfer flow parsing 483243b873 net/hns3: remove debug condition for Tx prepare c086288760 net/hns3: add debug info for Rx/Tx dummy function e0f5e9d162 app/testpmd: fix link check condition on port start a3172b1ab9 net/sfc: export pick transfer proxy callback to representors f6c50b6c50 net/hns3: fix duplicate RSS rule check 69d2be50d9 net/hns3: fix config struct used for conversion c7c798a8f6 net/hns3: fix warning on flush or destroy rule 2f00c06957 net/hns3: remove useless code when destroy valid RSS rule 8ba1441f48 net/hns3: use RSS filter list to check duplicated rule eee8b3cd45 net/hns3: fix clearing RSS configuration abe093c214 net/hns3: refactor set RSS hash algorithm and key interface b6328f7feb net/hns3: extract common function to query device 81cb3c29c8 net/hns3: fix log about indirection table size 489a1c2580 net/txgbe: fix interrupt loss f8e27fb215 net/ngbe: fix packet type to parse from offload flags 5d80aae214 net/txgbe: fix packet type to parse from offload flags 551a0e317c net/txgbe: fix default signal quality value for KX/KX4 b641ca3033 app/testpmd: fix forwarding stats for Tx dropped 8746dd7d44 doc: fix description of L2TPV2 flow item 9c90d1a945 net/hns3: declare flow rule keeping capability fd950290d1 net/virtio-user: fix device starting failure handling 6e302e5ede vhost: fix possible FD leaks on truncation f05708ea45 vhost: decrease log level for unimplemented requests 02397094e9 eventdev/timer: fix overflow 5f55f9989c test/mbuf: fix mbuf reset test 26b4d5a198 eal/linux: fix hugetlbfs sub-directories discovery bb9295b2f3 telemetry: fix repeat display when callback don't init dict 13bf4f461a raw/ifpga/base: fix init with multi-process 8a411e66c3 mem: fix hugepage info mapping 9b7ac02837 event/cnxk: fix timer operations in secondary process 45fb6a4f8a event/cnxk: fix burst timer arm da4a271c75 event/cnxk: wait for CPT flow control on WQE path 2b15b1cd4a net/bnxt: fix RSS hash in mbuf 20189c4886 net/bnxt: fix Rx queue stats after queue stop and start aa0ecc4f91 net/bnxt: fix Tx queue stats after queue stop and start 1ac2732197 compressdev: fix end of driver list af78ee860e test/crypto: add missing MAC-I to PDCP vectors af7f9481e1 test/crypto: fix typo in AES test b2c5b2d8a8 crypto/ccp: fix IOVA handling bc5f3c068c crypto/ccp: remove some dead code for UIO ba8923c86e crypto/ccp: remove some printf df587bef4a baseband/acc: fix acc100 iteration counter in TB 3664b67985 baseband/acc: fix memory leak on acc100 close dd830098ef vhost: fix net header settings in datapath e928dfe88c vdpa/ifc: fix reconnection in SW-assisted live migration 2d551ec8dc vdpa/ifc: fix argument compatibility check f8d7e778b5 app/dumpcap: fix storing port identifier dce447af75 examples/qos_sched: fix debug mode 5cac713dff mem: fix telemetry data truncation ddb46da599 cryptodev: fix telemetry data truncation 119d73b152 mempool: fix telemetry data truncation 86d2c8b77c ethdev: fix telemetry data truncation 005b23b18f telemetry: move include after guard f6a5384a93 app/testpmd: fix interactive mode with no ports f43191608a net/hns3: fix inaccurate RTC time to read d13acd65cc net/nfp: fix firmware name derived from PCI name e4609ddf51 graph: fix node shrink 868b1b71df gpudev: fix deadlocks when registering callback 9a43ba896c fbarray: fix metadata dump e8f2aab768 crypto/qat: fix stream cipher direction 98f5f64240 eventdev/eth_tx: fix devices loop a668035217 app/crypto-perf: fix IPsec direction b2d5a49ce6 app/crypto-perf: fix SPI zero d734fcf15c app/crypto-perf: fix number of segments 17817f916b devtools: fix escaped space in grep pattern 71d0f78adf doc: fix dependency setup in l2fwd-cat example guide 47951ef1dc hash: fix GFNI implementation build with GCC 12 84d43ac12f kni: fix build on RHEL 9.1 31608e4db5 version: 21.11.3 e1d728588d ring: squash gcc 12.2.1 warnings adeaf361f0 vhost: fix doxygen warnings 3b02ad76a3 lib: remove empty return types from doxygen comments 7a21adb82b Revert "net/iavf: add thread for event callbacks" 558ff33739 Revert "net/i40e: enable maximum frame size at port level" 494050958c Revert "net/i40e: fix max frame size config at port level" 528361cfa8 Revert "net/i40e: fix jumbo frame Rx with X722" 0c553ce527 net/bonding: set initial value of descriptor count alignment 9524c48bcd devtools: fix checkpatch header retrieval from stdin d5f1d8130b examples/ipsec-secgw: fix Tx checksum offload flag 0bb6905a88 version: 21.11.3-rc1 46abe3043e net/i40e: fix jumbo frame Rx with X722 655f0ed4a7 net/hns3: fix restore filter function input eee943e2f2 net/hns3: fix lock protection of RSS flow rule 14687654a0 net/hns3: fix RSS rule restore 800390b260 net/hns3: extract functions to create RSS and FDIR flow rule 2d10a3a9ba doc: add Rx buffer split capability for mlx5 0b176394b7 net/mlx5: fix assert when creating meter policy 7cd66fc297 net/mlx5: fix mirror flow validation with ASO action 666d1e75a2 net/mlx5: fix source port checking in sample flow rule bd9e9d22ef trace: fix metadata dump fcf8e69afb net/iavf: add thread for event callbacks 9345c7264d net/mlx5: fix port event cleaning order db856c5fb6 net/mlx5: fix race condition in counter pool resizing 3e852fd9fe ci: enable ABI check in GHA 66bfbc5b37 Revert "cryptodev: fix missing SHA3 algorithm strings" 9a3294eb17 doc: avoid meson deprecation in setup 23f263e7bd doc: fix maximum packet size of virtio driver 776c777a61 drivers: remove unused build variable 631e68c186 net/nfp: fix Rx descriptor DMA address 24d76003e1 doc: fix colons in testpmd aged flow rules 9f54b0a4f9 doc: fix underlines in testpmd guide d42406e77e doc: add LRO size limitation in mlx5 guide 8e04bc3773 net/mlx5: fix maximum LRO message size 4b50df7128 net/ixgbevf: fix promiscuous and allmulti 1961dbbdbd test/event: fix build with clang 15 ca0952588a test/member: fix build with clang 15 4cacbe5682 test/efd: fix build with clang 15 1cd61dc7fb app/testpmd: fix build with clang 15 in flow code e5d36910cf app/testpmd: fix build with clang 15 c5f336041e net/dpaa2: fix build with clang 15 c44d10cae9 net/atlantic: fix build with clang 15 c6ece01586 bus/dpaa: fix build with clang 15 d116a5e632 vhost: fix build with clang 15 2d03c4e3ef service: fix build with clang 15 3930398baa vdpa/ifc: handle data path update failure 29a2eb7cee ring: remove leftover comment about watermark ecfdc8089d ring: fix description 674f2e762d drivers: fix typos found by Lintian b16910eabc doc: fix typo depreciated instead of deprecated 4726dffdd2 test/crypto: fix bitwise operator in a SNOW3G case 5ffd9e4baf doc: document device dump in procinfo guide 1c94187eec doc: fix application name in procinfo guide 08a6a565e7 mempool/cnxk: fix destroying empty pool aaf49e83ab examples/fips_validation: fix typo in error log c8812bd8ec event/cnxk: fix missing mempool cookie marking 7773bb2b9a app/eventdev: fix limits in error message 80dfbebe4f event/cnxk: fix mbuf offset calculation 40f8ea78a9 doc: fix event timer adapter guide fd7eb800f4 ci: update to new API for step outputs in GHA 852ba6cf84 ci: bump versions of actions in GHA b0df64d8a2 net/ice: fix interrupt handler unregister 1f7763504a net/ice: fix scalar Tx path segment da678c3542 net/ice: fix scalar Rx path segment 43acbdad22 net/i40e: fix pctype configuration for X722 12164b4b18 net/iavf: fix VLAN offload 59f67d1041 net/ice/base: fix duplicate flow rules 3e76df459a net/mlx5: fix drop action validation 4f1a129761 net/mlx5: fix port initialization with small LRO 815d59452a net/mlx5: fix indexed pool local cache crash 4cce54a549 net/mlx5: fix first segment inline length b4524bef61 net/mlx5: fix hairpin split with set VLAN VID action 6f9e7bd908 net/mlx5: fix shared Rx queue config reuse bbddde24b2 common/mlx5: fix shared mempool subscription 97b4706f1e net/mlx5: fix action flag data type 4468cce76b bus/auxiliary: prevent device from being probed again e2413f6427 test/hash: fix bulk lookup check 1e81619d17 test/hash: remove dead code in extendable bucket test 84848bab5c hash: fix RCU configuration memory leak 5a4f6d16e8 power: fix some doxygen comments 3ff124101d eal: fix doxygen comments for UUID 89f4c06b0f net/bonding: fix mbuf fast free handling a0521c13c1 app/testpmd: make quit flag volatile 194dea76b1 net/bonding: fix dropping valid MAC packets 185674ed26 app/testpmd: fix MAC header in checksum forward engine 8bdb61a66f net/bonding: fix slave device Rx/Tx offload configuration ffdfd9c1f2 baseband/acc100: fix double MSI intr in TB mode 43f2133add baseband/acc100: fix ring/queue allocation 61623044a0 baseband/acc100: fix null HARQ input case 1c83304c34 baseband/acc100: enforce additional check on FCW 478d7fa578 baseband/acc100: fix ring availability calculation fd2001af83 baseband/acc100: check AQ availability 9e244f70bc baseband/acc100: add LDPC encoder padding function 49be94c1a2 examples/vhost: fix use after free 4733d1363d net/bonding: fix flow flush order on close dec305584e net/mlx5: fix build with recent compilers 673e72e4dd crypto/qat: fix null hash algorithm digest size 0c19d3c807 examples/ipsec-secgw: fix Tx checksum offload flag 91f397092e test/crypto: fix PDCP vectors 1d95544ee5 baseband/acc100: fix close cleanup 29ee0dd15a baseband/acc100: fix device minimum alignment bc46d5e411 baseband/acc100: fix clearing PF IR outside handler c0e09362ca baseband/acc100: fix input length for CRC24B e20054a0ca baseband/acc100: add null checks f0f952b3a4 baseband/acc100: check turbo dec/enc input a52ef88f24 baseband/acc100: fix memory leak dfe0ec3699 test/crypto: fix wireless auth digest segment 230df8806a examples/l2fwd-crypto: fix typo in error message b4d5a4880f net/mlx5: fix thread termination check on Windows 5f6b7cdb26 common/cnxk: fix schedule weight update adc3d8f0be net/cnxk: fix later skip to include mbuf private data 9e011e6018 net/ice: support VXLAN-GPE tunnel offload 80b45cf627 net/iavf: fix queue stop for large VF 7a87e29707 net/iavf: fix SPI check d8f6f9c217 net/iavf: fix IPsec flow create error check 8d69eff7e5 net/ice: fix null function pointer call a7ae3ec58b net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF 7fc86024c5 net/ixgbe: fix broadcast Rx on VF after promisc removal c422bc8590 examples/qos_sched: fix number of subport profiles 71f3070f3b sched: fix subport profile configuration 8c0059933d net/mlx5: fix null check in devargs parsing 3a37707b3f net/mlx5: fix tunnel header with IPIP offload 5dd7f99419 net/mlx5: fix RSS expansion buffer size 695bdd0252 net/mlx5: fix thread workspace memory leak ce31e6798d vhost: add non-blocking API for posting interrupt 8c4cb627f2 net/nfp: fix internal buffer size and MTU check a2e076069c app/testpmd: remove jumbo offload 1df0906a71 net/ionic: fix reported error stats 1865648551 net/ionic: fix Rx filter save b91f3a9676 net/ionic: fix adapter name for logging 9c5b13e3d6 net/ionic: fix endianness for RSS 2e91cfe2d1 net/ionic: fix endianness for Rx and Tx 69d5f8cbdb net/bonding: fix descriptor limit reporting 765b6db1e1 app/testpmd: skip port reset in secondary process 74a6d9b865 net/iavf: revert VLAN insertion fix 9f735dd4ae doc: fix support table for Ethernet/VLAN flow items 5123b23465 gro: check payload length after trim ff54781530 eventdev/eth_tx: fix queue delete 11b702acfa eventdev/crypto: fix multi-process 050edd6df0 event/sw: fix log in self test 14a1303083 event/sw: fix flow ID init in self test 24687124e2 net/dpaa2: fix buffer freeing on SG Tx e0c63efff0 net/dpaa2: use internal mempool for SG table a71b12bced net/dpaa: fix buffer freeing on SG Tx a7bcea2f9c net/dpaa: use internal mempool for SG table 161eb5bcfc event/dlb2: handle enqueuing more than maximum depth 5da67ffc34 service: fix early move to inactive status 5c3b10f936 doc: fix reference to dma application example f0f63a2a3c app/dumpcap: fix pathname for output file 9fe212c5b1 app/dumpcap: fix crash on cleanup 3c5fb1c3aa pdump: do not allow enable/disable in primary process b7926cae59 trace: fix race in debug dump 8f22713b3f trace: fix dynamically enabling trace points f6c054fa69 trace: fix leak with regexp 6f27e2f1a7 trace: fix mode change f620019ec3 trace: fix mode for new trace point f2a63213a4 buildtools: fix NUMA nodes count 3fedf9fcf4 examples/l3fwd: fix MTU configuration with event mode 0f52767b30 dma/idxd: check DSA device allocation 19ab7dbdeb node: check Rx element allocation dd0ea76557 graph: fix node objects allocation 6976f45b64 common/mlx5: fix multi-process mempool registration fd3f52c7d7 mempool: make event callbacks process-private b252ecfe35 pcapng: fix write more packets than IOV_MAX limit 226d2f8fd8 doc: fix dumpcap interface parameter option 7e0fbf6e4b eal: fix data race in multi-process support f9544dfb1e net/bonding: fix Tx hash for TCP ef528a1c38 gro: trim tail padding bytes f4696c801d net/dpaa: fix buffer freeing in slow path 7ac138d29b net/dpaa: fix jumbo packet Rx in case of VSP 82b3b682b2 net/dpaa2: fix DPDMUX error behaviour c1098f3797 net/enetfec: fix buffer leak 5747e5d217 net/enetfec: fix restart 8582b5b558 net/nfp: fix memory leak in Rx dd0c2c45fe net/hns3: fix minimum Tx frame length d08a9e5bf5 net/hns3: fix VF mailbox message handling dea739ceb8 net/hns3: revert fix mailbox communication with HW cb4be0a694 net/hns3: add L3 and L4 RSS types b3596aa547 net/hns3: fix IPv4 RSS 6b31e0bea1 net/hns3: fix typos in IPv6 SCTP fields 4a628c7185 net/hns3: fix IPv4 and IPv6 RSS 0ee1261c33 net/hns3: fix packet type for GENEVE 61bd1be0ee net/hns3: move flow direction rule recovery d86c6f3dbb net/hns3: fix RSS flow rule restore ceefe8e42c net/hns3: fix RSS filter restore 69155ec3fb net/hns3: revert Tx performance optimization 3990392648 net/hns3: fix clearing hardware MAC statistics d9d6252870 net/hns3: delete unused markup afa520b633 net/hns3: fix crash when secondary process access FW daf6edc317 net/hns3: fix next-to-use overflow in simple Tx 540c8608d6 net/hns3: fix next-to-use overflow in SVE Tx 2197709643 net/hns3: fix crash in SVE Tx 5210f643fe net/hns3: fix Rx with PTP 84cc72849a common/sfc_efx/base: remove VQ index check during VQ start ee7decc2c9 net/memif: fix crash with different number of Rx/Tx queues 37560c8deb net/tap: fix overflow of network interface index 4d4b866a15 net/qede/base: fix 32-bit build with GCC 12 9ba87edbe6 net/i40e: fix build with MinGW GCC 12 54a98eecdb vhost: fix build with GCC 12 84e55d681a timer: fix stopping all timers e7ad87f034 examples/vm_power_manager: use safe list iterator e3b8a0894a mem: fix API doc about allocation on secondary processes 1b93855eb5 net/bnxt: fix build with GCC 13 b673b37b9a net/bnxt: fix representor info freeing 50e07634fe net/bnxt: remove unnecessary check a12a1fcc0c net/bnxt: fix error code during MTU change d477471727 net/bnxt: fix null pointer dereference in LED config 6638450e4b cryptodev: fix unduly newlines in logs 86727609c5 event/cnxk: fix missing xstats operations 67f3304980 common/sfc_efx/base: fix maximum Tx data count fb442d0c0f net/axgbe: save segment data in scattered Rx 9683271240 net/axgbe: clear buffer on scattered Rx chaining failure 18895ee575 net/axgbe: reset end of packet in scattered Rx 1747e299c2 net/cnxk: fix DF bit in vector mode d141aba6a0 net/ice: check illegal packet sizes 60f243aee8 net/iavf: check illegal packet sizes 6a68e9ad38 net/mlx5: fix meter profile delete after disable 9412d614c2 net/mlx5: fix modify action with tunnel decapsulation ccdfdbafa4 net/mlx5: fix Tx check for hardware descriptor length 6986b5af9c net/mlx5: fix inline length exceeding descriptor limit 517c25053b net/mlx5: fix single not inline packet storing b5e5d926b2 net/mlx5: fix check for orphan wait descriptor 879ebb7dce net/mlx5: fix Verbs FD leak in secondary process 43ebf47ac3 net/mlx4: fix Verbs FD leak in secondary process 21c7ed77f1 net/virtio: fix crash when configured twice 5150a5b753 net/iavf: fix outer checksum flags 5f0b3890df net/iavf: fix processing VLAN TCI in SSE path bf097fbecf net/ice/base: fix input set of GTPoGRE 65e2ff5b1e net/ice/base: ignore promiscuous already exist da3be8cd7e net/ice/base: fix double VLAN in promiscuous mode b1f7933ce6 net/ice/base: fix add MAC rule f1ac3e7090 net/ice/base: fix bit finding range over ptype bitmap e075b36c5f net/ice/base: fix array overflow in add switch recipe 26b64ce3a2 net/ice/base: fix endian format 13824e6da2 net/ice/base: fix function descriptions for parser d2c68e7c09 net/ice/base: fix media type of PHY 10G SFI C2C 0255526a1b net/ice/base: fix DSCP PFC TLV creation fdbf7b4da3 net/ice/base: fix 100M speed capability 14ed431e08 net/ice/base: fix division during E822 PTP init 85de6911de common/iavf: avoid copy in async mode fc56f980c8 net/iavf: update IPsec ESN values when updating session 30fc18b4dc net/iavf: fix Tx done descriptors cleanup 246026e0b8 net/iavf: fix pattern check for flow director parser fe9ea36901 net/iavf: fix VLAN insertion 301e4cc87b net/iavf: fix L3 checksum Tx offload flag a50e008983 net/ice/base: fix inner symmetric RSS hash in raw flow a991f641f3 net/ice: fix RSS hash update 85821d6d95 net/i40e: fix VF representor release 278054776c eventdev: fix name of Rx conf type in documentation afa77bc4df cryptodev: fix missing SHA3 algorithm strings 29b6bd6014 crypto/qat: fix build with GCC 12 db9f8c23a4 ipsec: fix build with GCC 12 fdebff6b5a test/ipsec: fix build with GCC 12 656b357968 common/qat: fix VF to PF answer 1af7871cdd test/crypto: fix debug messages 783a1099f2 examples/ipsec-secgw: use Tx checksum offload conditionally 6a5ed8de57 test/ipsec: skip if no compatible device a003adfe32 eventdev/eth_tx: fix adapter stop 24f4f4450f eventdev/eth_tx: add spinlock for adapter start/stop 0fc2e4cd21 event/sw: fix device name in dump 6dc1d114cd event/dsw: fix flow migration 5f22fcf619 malloc: fix storage size for some allocations 8b3ce30416 common/cnxk: fix printing disabled MKEX registers 97083f144c common/cnxk: fix missing flow counter reset 6d030554f1 net/mvneta: fix build with GCC 12 a2439f58c0 common/cnxk: fix log level during MCAM allocation 82fa3908c0 net/ngbe: fix maximum frame size 60df2778b9 net/ngbe: remove semaphore between SW/FW 9f6bab86f3 net/ngbe: rename some extended statistics 8bdb992cea net/txgbe: rename some extended statistics 982225e1bb net/txgbe: remove semaphore between SW/FW d47522ba5c net/txgbe: fix IPv6 flow rule f1810ceebb net/nfp: improve HW info header log readability 88eb5f06dd net/axgbe: remove freeing buffer in scattered Rx c57a09f16a net/axgbe: optimise scattered Rx 7c52801e6c net/axgbe: fix checksum and RSS in scattered Rx edf988aa48 net/axgbe: fix length of each segment in scattered Rx fca744c60f net/axgbe: fix mbuf lengths in scattered Rx 77c3e4194b net/axgbe: fix scattered Rx 45ae1b821d net/nfp: compose firmware file name with new hwinfo f88bb5a08a net/failsafe: fix interrupt handle leak e9c74a0c19 net/bonding: fix double slave link status query 371746d80f net/bonding: fix array overflow in Rx burst 40e0b6e827 app/testpmd: restore ixgbe bypass commands 48240d704e eal: fix side effect in some pointer arithmetic macros ac8fea2279 net: accept unaligned data in checksum routines 155a98e864 build: enable developer mode for all working trees 8010a15523 vhost: fix virtqueue use after free on NUMA reallocation- Merging upstream branch-2.17 [RH git: 8eba94245a] Commit list: 74633888d2 dpdk: Use DPDK 21.11.5 release for OVS 2.17.- Merging upstream branch-2.17 [RH git: 87d5d3d5a3] Commit list: b5e54aa161 ovs-ofctl: Correctly mark the CT flush commands.- Merging upstream branch-2.17 [RH git: b3a98e2a19] Commit list: 1d3609a489 mcast-snooping: Flush flood and report ports when deleting interfaces. df101fe1ea mcast-snooping: Test per port explicit flooding.- Merging upstream branch-2.17 [RH git: 83fa49d2bf] Commit list: 8313ebbb33 flake8: Fix E721 check failures. f73208151a build-aux: Enable flake8 checks for python extraction scripts. 8b6a8fcb0a build-aux/extract-ofp-msgs: Fix flake8 and syntax errors. 80e922644f build-aux/extract-ofp-fields: Fix flake8 and syntax errors. 1508e7abce build-aux/extract-ofp-errors: Fix flake8 and syntax errors. 98fc48e4dc build-aux/extract-ofp-actions: Fix flake8 and syntax errors. d52231171e automake: Move build-aux EXTRA_DIST updates to their own file.- Merging upstream branch-2.17 [RH git: b6b48e1eb4] Commit list: 8868756b8c netdev-offload: Fix Clang's static analyzer 'Division by zero' warnings. 46e9cacaae ofp-table: Fix count_common_prefix_run() function. 8e6d1cd042 vswitch.xml: Add entry for dpdkvhostuser userspace-tso. 7838778ade vswitch.xml: Add dpdkvhostuser group status.- Merging upstream branch-2.17 [RH git: c7a2d56a47] Commit list: a3a0395071 tests: Use ping timeout instead of deadline.- Merging upstream branch-2.17 [RH git: f4c88c5bcd] Commit list: 3351b149c8 tests/system-traffic: Ensure no name resolution for tcpdump.- Merging upstream branch-2.17 [RH git: 2dd6aec17b] Commit list: bce17b0bb5 tc: Improve logging of mismatched actions. af934924f8 ofproto-dpif-upcall: Pause revalidators when purging.- Merging upstream branch-2.17 [RH git: 06fdaf813f] Commit list: 48fa547473 db-ctl-base: Fix memory leak of db commands.- Merging upstream branch-2.17 [RH git: 73a70edb2a] Commit list: 7fb2197e1e Prepare for 2.17.9. 275be1eb95 Set release date for 2.17.8.- Merging upstream branch-2.17 [RH git: b157ba753e] Commit list: be1a8f7ecb conntrack: Remove nat_conn introducing key directionality. f179c7c07f conntrack: simplify cleanup path- redhat: use rhpkg push instead of git push [RH git: 0abf0ccb60]- Merging upstream branch-2.17 [RH git: 843113994c] Commit list: fac770a0a7 netdev-dpdk: Document status options for VF MAC address.- Merging upstream branch-2.17 [RH git: feef413990] Commit list: 79ab2eeb16 netdev-offload-dpdk: Fix flushing of a physdev.- Merging upstream branch-2.17 [RH git: 1a76281c66] Commit list: 4ced485f8d connmgr: Fix ofconn configuration on vswitchd startup.- Merging upstream branch-2.17 [RH git: 3993da3fa4] Commit list: 3c39cfe031 python: idl: Fix last-id update from a monitor reply.- Merging upstream branch-2.17 [RH git: aeefcc3167] Commit list: a6207b2bce ofproto-dpif-xlate: Fix recirculation with patch port and controller. (#2170920)- Merging upstream branch-2.17 [RH git: ca3687e513] Commit list: a141b62c2f ofproto-dpif-xlate: Don't reinstall removed XC_LEARN rule. (#2213892)- Merging upstream branch-2.17 [RH git: f9dc5dbd23] Commit list: 586e73dacf configure: Avoid deprecated AC_PROG_CC_C99 if possible.- Merging upstream branch-2.17 [RH git: ef93dc708f] Commit list: bd95fe3d7b tests: Fix time dependency in overlapping flows modification test.- Merging upstream branch-2.17 [RH git: 8a264107bd] Commit list: 123b7aaa7c python: Use build to generate PEP517 compatible archives. 41d2e7e9a8 python: Use twine to upload sdist package to pypi.org. 66d5562e30 python: Rename build related code to ovs_build_helpers. c880faea8e dpif-netdev: Fix length calculation of netdet_flow_key. 8c7aa5f589 doc: Fix description of max_len for controller action.- Merging upstream branch-2.17 [RH git: 302a65abef] Commit list: 34ff03c3cb docs: Fix rendering of VLAN Comparison Chart.- Merging upstream branch-2.17 [RH git: 80b6f5d177] Commit list: 93412e00e7 docs: Run tbl preprocessor in manpage-check rule. 6929485d31 docs: Add `nowarn` region option to tables. 08b6b83a36 tests: Add clang-analyzer-results to gitignore. c252b1f8a7 ci: Add jobs to test -std=c99 builds. 242bb2624c tests: Fix order of includes in barrier/id-fpool/mpsc-queue tests. 292eca58c6 sflow: Always enable _BSD_SOURCE. 82aa3fb019 compiler.h: Don't use asm and typeof with non-GNU compilers.- Merging upstream branch-2.17 [RH git: c9b4175537] Commit list: a45b3afbf8 ovs.tmac: Fix troff warning in versions above groff-1.23.- Merging upstream branch-2.17 [RH git: 365eb6caeb] Commit list: a336ef7121 connmgr: Count unsent async messages.- Merging upstream branch-2.17 [RH git: 9f692d81e1] Commit list: a74b7dfb96 dpif-netdev: Fix dpif_netdev_flow_put.- Merging upstream branch-2.17 [RH git: 6994290c64] Commit list: f04bfd5e47 ofproto-dpif-xlate: Reduce stack usage in recursive xlate functions. (#2104779)- Merging upstream branch-2.17 [RH git: aa728a7f25] Commit list: 29990edbc0 cirrus: Update to FreeBSD 13.2.- Merging upstream branch-2.17 [RH git: 912b401c09] Commit list: 65bb823690 ci: Fix OPTS not being passed to OSX builds.- Merging upstream branch-2.17 [RH git: 71b356438e] Commit list: fe98b0c1f9 ovsdb-tool: Fix json leak while showing clustered log. 44722bbda3 ovsdb-server: Fix excessive memory usage on DB open. (#2228464) 9db221fcd8 tests: Add ovsdb execution cases for set size constraints. 3cfe388cb8 ovsdb: relay: Fix handling of XOR updates with size constraints. f4d15497f8 ovsdb: file: Fix diff application to a default column value. 7864ed557e ovsdb: file: Fix inability to read diffs that violate type size. 97d91ad2d6 ovs-tcpdump: Clear auto-assigned ipv6 address of mirror port.- Merging upstream branch-2.17 [RH git: 43eec2f280] Commit list: dba7482e02 ofproto-dpif: Fix removal of renamed datapath ports.- Merging upstream branch-2.17 [RH git: 6ec8574cf8] Commit list: a1ca9e589f ofproto-dpif-upcall: Mirror packets that are modified. (#2155579)- Merging upstream branch-2.17 [RH git: c751278219] Commit list: 5d976536b3 vswitchd: Wait for a bridge exit before replying to exit unixctl.- Merging upstream branch-2.17 [RH git: a869eaf6d6] Commit list: e206df08d2 Prepare for 2.17.8. f15de6508c Set release date for 2.17.7.- Merging upstream branch-2.17 [RH git: 1f6a8ffe16] Commit list: 4b10b0b87f fatal-signal: Don't share signal fds/handles with forked process.- Merging upstream branch-2.17 [RH git: 262456bdbd] Commit list: e01ea8e7ef cpu: Fix cpuid check for some AMD processors. (#2211747) 111c7be319 tc: Fix crash on malformed reply from kernel.- Merging upstream branch-2.17 [RH git: 9a6c8fa9be] Commit list: 75152d3d62 netdev-dpdk: Fix warning with gcc 13.- Merging upstream branch-2.17 [RH git: 4e79737790] Commit list: 5285dad182 utilities/bashcomp: Fix PS1 generation on new bash. (#2170344) ebe7bd7b68 netdev-offload-dpdk: Fix crash in debug log.- Merging upstream branch-2.17 [RH git: 8a8882d1cb] Commit list: 4937a53410 stream-ssl: Disable alerts on unexpected EOF.- Merging upstream branch-2.17 [RH git: 0e97bfc734] Commit list: fe99e6b971 tests: layer3-tunnels: Skip bareudp tests if not supported by kernel. a375055f2e ovs-fields: Modify the width of tpa and spa.- Merging upstream branch-2.17 [RH git: ef455a33f3] Commit list: 749769be30 netdev-vport: RCU-fy tunnel config. c423fa5f6e smap: Make argument of smap_add_ipv6 constant. 2db06ee6f5 netdev-vport: Fix unsafe handling of GRE sequence number.- Merging upstream branch-2.17 [RH git: f55726ca97] Commit list: 51d804aa4f dpctl: Fix dereferencing null pointer in parse_ct_limit_zones().- Merging upstream branch-2.17 [RH git: 2fe36c053b] Commit list: 80b15d1428 netdev-offload: Fix deadlock/recursive use of the netdev_hmap_rwlock rwlock. (#2182541) 0d3c27e909 ofproto-dpif-xlate: Fix use-after-free when xlate_actions().- Merging upstream branch-2.17 [RH git: 9de5592f0a] Commit list: 8eb24943cf tc: Fix cleaning chains.- Merging upstream branch-2.17 [RH git: 4363c42c50] Commit list: cbe5852d76 python-stream: Handle SSL error in do_handshake.- Merging upstream branch-2.17 [RH git: 84a9f6dbc4] Commit list: be3caf4553 dpif-netlink: Fix memory leak dpif_netlink_open(). b7e1593f4c ofp-parse: Check ranges on string to uint32_t conversion. 70cb45c665 learning-switch: Fix coredump of OpenFlow15 learning-switch.- Merging upstream branch-2.17 [RH git: 69327ba475] Commit list: b082241945 ovsdb: Allow conversion records with no data in a clustered storage. efcdf6c0de ovsdb: Check for ephemeral columns before writing a new schema. bf39ea3c79 ovsdb-tool: Fix cluster-to-standalone for DB conversion records.- Merging upstream branch-2.17 [RH git: a38178fbab] Commit list: 4f82f89039 ovs-tcpdump: Stdout is shutdown before ovs-tcpdump exit.- Merging upstream branch-2.17 [RH git: 9821d43aca] Commit list: 77116d9903 Prepare for 2.17.7. a08bb41e3c Set release date for 2.17.6.- Merging upstream branch-2.17 [RH git: 6ab66699b3] Commit list: 27fb5db7f7 ofproto-dpif-xlate: Always mask ip proto field. (#2134873)- Merging upstream branch-2.17 [RH git: 547a986519] Commit list: c3684a0604 conntrack-tp: Fix clang warning.- ofproto-dpif-xlate: Always mask ip proto field. [RH git: e9e2498d09] (#2134873) The ofproto layer currently treats nw_proto field as overloaded to mean both that a proper nw layer exists, as well as the value contained in the header for the nw proto. However, this is incorrect behavior as relevant standards permit that any value, including '0' should be treated as a valid value. Because of this overload, when the ofproto layer builds action list for a packet with nw_proto of 0, it won't build the complete action list that we expect to be built for the packet. That will cause a bad behavior where all packets passing the datapath will fall into an incomplete action set. The fix here is to unwildcard nw_proto, allowing us to preserve setting actions for protocols which we know have support for the actions we program. This means that a traffic which contains nw_proto == 0 cannot cause connectivity breakage with other traffic on the link. Reported-by: David Marchand Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2134873 Acked-by: Ilya Maximets Signed-off-by: Aaron Conole - Merging upstream branch-2.17 [RH git: 9d9c53c9e5] Commit list: be19308aaf netdev-offload-tc: Del ufid mapping if device not exist.- Merging upstream branch-2.17 [RH git: 83c0a82801] Commit list: 4f41e58bc6 netdev-tc-offloads: Fix misaligned 8 byte read.- net/i40e: revert link status check on device start [RH git: d11a4a4642] (#2151365) [ upstream commit a8ca8edf8c076c765c6d142ab4664a1f61414233 ] The mentioned changes broke existing applications when the link status of i40e ports is down at the time the port is started. Revert those changes, the original issue will need a different fix. Fixes: a4ba77367923 ("net/i40e: enable maximum frame size at port level") Fixes: 2184f7cdeeaa ("net/i40e: fix max frame size config at port level") Fixes: 719469f13b11 ("net/i40e: fix jumbo frame Rx with X722") Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2151365 Signed-off-by: David Marchand Acked-by: Simei Su - Merging upstream branch-2.17 [RH git: 2ae164f82b] Commit list: d6d1cad6a7 dpif-netlink: Always create at least 1 handler.- Install shared linked binaries (all, but ovs-vswitchd) [RH git: 57f5be87e0] (#2159631) Resolves: #2159631- Merging upstream branch-2.17 [RH git: bf382f68d4] Commit list: 09e6e1de7a ofproto-dpif-upcall: Wait for valid hw flow stats before applying min-revalidate-pps.- Merging upstream branch-2.17 [RH git: 04b7f28f9f] Commit list: 691b9e5148 system-traffic: Fix conntrack test cases which are failing with af_xdp.- Merging upstream branch-2.17 [RH git: b12915ee23] Commit list: 7aa314c9c2 netdev-windows: Add checking when creating netdev with system type on Windows 215278bded ofproto-dpif-upcall: Include hardware offloaded flows in total flows. 4a3f8845e9 ofproto-dpif-upcall: Reset ukey's last stats value if the datapath changed.- Merging upstream branch-2.17 [RH git: 3da76b1dd5] Commit list: 132fa24b65 classifier: Fix missing masks on a final stage with ports trie. 8661abd4c4 ofproto: Fix re-creation of tunnel backing interfaces on restart. 638441e981 ovs-actions: Correct typo in ovs-actions man page. 3c4bd63bca ofproto-ipfix: Use per-domain template timeouts. d2583ccb74 ofproto-dpif-upcall: Use last known stats ukey stats on revalidate missed dp flows. 705190d88e conntrack: Properly unNAT inner header of related traffic. (#2137754) d87b6180ec dpctl: Fix memory leak in flush conntrack.- redhat: add a workaround for meson [RH git: 39c6e2a48b] Currently, fast-datapath-rhel-8 is aligned to RHEL 8.0, with an exception to use a newer meson version. The problem is that, in the meanwhile, _smp_build_ncpus macros was added (and meson macros uses it). This commit just define, if needed, _smp_build_ncpus by stripping the first 2 characters (-j) from _smp_mflags that was present in RHEL 8.0. Signed-off-by: Timothy Redaelli - Merging upstream branch-2.17 [RH git: 5ba5bb6bf9] Commit list: 6626562c53 sparse: Fix build with DPDK and GCC 12. 82dc71f808 ovsdb-server: Fix handling of DNS name for listener configuration.- Merging upstream branch-2.17 [RH git: 10b09487e4] Commit list: 9b341844e7 netdev-offload-tc: If the flow has not been used, report it as such. adac28dcdf netdev-offload-tc: Conntrack ALGs are not supported with tc. a1c2abba78 netdev-offload-tc: Fix tc conntrack force commit support. 68a2818b09 ofproto-dpif-upcall: New ukey needs to take the old ukey's dump seq. 2eb7a60668 netdev-offload-tc: Preserve tc statistics when flow gets modified. 4f51407698 sparse: Fix numa.h for libnuma >= 2.0.13.- ofproto-dpif-xlate: Optimize datapath action set by removing last clone action. [RH git: 45b5105d95] Manual backport of the below commit. In addition to the upstream fix, we also had to bring in the nl_msg_reset_size() function. We also had to fix-up nine test cases as they where showing incorrect results. Bugzilla : https://bugzilla.redhat.com/2110018 Upstream commit: 4f5decf4ab3f ("ofproto-dpif-xlate: Optimize datapath action set by removing last clone action.") When OFPROTO non-reversible actions are translated to data plane actions, the only thing looked at is if there are more actions pending. If this is the case, the action is encapsulated in a clone(). This could lead to unnecessary clones if no meaningful data plane actions are added. For example, the register pop in the included test case. The best solution would probably be to build the full action path and determine if the clone is needed. However, this would be a huge change in the existing design, so for now, we just try to optimize the generated datapath flow. We can revisit this later, as some of the pending CT issues might need this rework. Fixes: feee58b9587f ("ofproto-dpif-xlate: Keep track of the last action") Fixes: dadd8357f224 ("ofproto-dpif: Fix issue with non-reversible actions on a patch ports.") Acked-by: Ales Musil Signed-off-by: Eelco Chaudron Signed-off-by: Ilya Maximets Signed-off-by: Eelco Chaudron - Merging upstream branch-2.17 [RH git: 0310c25060] Commit list: 32853c0844 tc: Add TCA_KIND flower to delete and get operation to avoid rtnl_lock().- Merging upstream branch-2.17 [RH git: 013a2a32fa] Commit list: 037131229b netdev-offload-tc: Fix misaligned access to ct label.- Merging upstream branch-2.17 [RH git: 2a84e6d692] Commit list: 206409bb79 ovsdb: Fix database statistics during the database replacement.- Merging upstream branch-2.17 [RH git: 96d27acbea] Commit list: 0f55eced1e cirrus: Update to use FreeBSD 12.4.- Merging upstream branch-2.17 [RH git: 309fe521e9] Commit list: e9336a91f6 tc: Add support for TCA_STATS_PKT64. (#1776816)- Merging upstream branch-2.17 [RH git: a7b4835415] Commit list: ba62a1eae6 Documentation: Fix links in maintainers.rst. 1b76faf8d1 Documentation: Fix links in the DPDK guide on physical ports. e1ee9c32a4 treewide: Don't use non-portable '==' with test command. a7d7c30c48 dpif: Fix tunnel key set for IPv6 tunnels with SLOW_ACTION.- Merging upstream branch-2.17 [RH git: ba8ea0794a] Commit list: 8d055809b8 ci: Fix overriding OPTS provided from the yml. 0eb2aa46be Prepare for 2.17.6. 08971e4b93 Set release date for 2.17.5. ecaacb01a9 lldp: Fix bugs when parsing malformed AutoAttach. ee002b3514 dpif-netdev: Use unmasked key when adding datapath flows. 18dcfda673 ovsdb-cs: Consider default conditions implicitly acked. 793709a856 rculist: Use rculist_back_protected to access prev. abb9d3482e Prepare for 2.17.5. b6c3788fe2 Set release date for 2.17.4. b50f4e3d21 odp-util: Fix reporting unknown keys as keys with bad length. 44012fccdc ovs-dpctl-top: Fix ovs-dpctl-top via pipe.- net/i40e: fix jumbo frame Rx with X722 [RH git: c34d3981fc] [ upstream commit 719469f13b11dbdc921b74258f2d10bd1c5328d4 ] For NIC I40E_10G-10G_BASE_T_X722, when the port is configured with link speed, it cannot receive jumbo frame packets. Because it set maximum frame size failed when starts the port that the port link status is still down. This patch fix the error that starts the port will force set maximum frame size. Fixes: 2184f7cdeeaa ("net/i40e: fix max frame size config at port level") Signed-off-by: Jie Wang Tested-by: Dukai Yuan - vhost: fix virtqueue use after free on NUMA reallocation [RH git: f4948cf20a] [ upstream commit 0b2a2ca35037d6a5168f0832c11d9858b8ae946a ] translate_ring_addresses (via numa_realloc) may change a virtio device and virtio queue. The virtqueue object must be refreshed before accessing the lock. Fixes: 04c27cb673b9 ("vhost: fix unsafe vring addresses modifications") Signed-off-by: David Marchand Reviewed-by: Maxime Coquelin - Merging upstream branch-2.17 [RH git: 63d511698e] Commit list: 118e4349db rculist: Fix iteration macros. c9f10ae334 vswitchd: Publish per iface received multicast packets. 4e3f9951fb learn: Fix parsing immediate value for a field match. 282ba24d99 datapath-windows: Check the condition to reset pseudo header checksum on Rx side- Merging upstream branch-2.17 [RH git: 6214c5363d] Commit list: ee0e1d0a51 netdev-offload-dpdk: Enhance the support of tunnel pop action- Merging upstream branch-2.17 [RH git: 209d631f40] Commit list: 4e3d762f05 ci: Update meson requirement for DPDK.- Merging upstream branch-2.17 [RH git: 4f4ee43eb4] Commit list: 0d1e425c7c ovsdb: transaction: Fix weak reference leak. ceab1ca1ec ovsdb: transaction: Refactor assess_weak_refs.- Merging upstream branch-2.17 [RH git: bf6774bd2c] Commit list: fa95bf9621 ovs-tcpdump: Cleanup mirror port on SIGHUP/SIGTERM. 7ebef81f91 netdev-linux: Fix inability to apply QoS on ports with custom qdiscs. (#2138339) 037ef6301b tc: Fix misaligned writes while parsing pedit. 869e2e1ba0 odp-util: Add missing separator in format_odp_conntrack_action(). 0aa55709fc vswitch.xml: Fix the name of rstp-path-cost option. af459fa370 mac-learning: Fix learned fdb entries not age out issue. c4336a1f12 ofproto-dpif-xlate: Update tunnel neighbor when receive gratuitous ARP. 683508cd4e bond: Fix crash while logging not yet enabled member. 41b178d525 netdev-dpdk: Fix tx_dropped counters value.- Merging upstream branch-2.17 [RH git: 4ad2c662f3] Commit list: d0276481a1 unaligned: Correct the stats of packet_count and byte_count on Windows. 71401199ff tests: Fix filtering of whole-second durations. 3c1c034e58 netdev-offload: Set 'miss_api_supported' to be under netdev. 35615cd37a cmap: Add thread fence for slot update. 5f8ba216a4 ofproto-dpif-xlate: Do not use zero-weight buckets in select groups.- Merging upstream branch-2.17 [RH git: ff2d81a848] Commit list: 5e26f88b4f github: Update versions of action dependencies. afce3662f7 ovs-tcpdump: Fix bond port unable to capture jumbo frames. 602a41bb3b json: Fix deep copy of objects and arrays.- Merging upstream branch-2.17 [RH git: 52fc530642] Commit list: 5dde4d748e Prepare for 2.17.4. 2b4b4b8689 Set release date for 2.17.3.- Merging upstream branch-2.17 [RH git: d374ce43dc] Commit list: fbc3b10e9f Add support for OpenSSL 3.0 functions. 5a77d53b8e dhparams: Fix .c file generation with OpenSSL >= 3.0.- Merging upstream branch-2.17 [RH git: c5c912ba61] Commit list: 09e22fec45 daemon-unix: Fix file descriptor leak when monitor restarts child. 53df50db26 vconn: Allow ECONNREFUSED in refuse connection test.- redhat: get the NVR from spec file directly [RH git: f045ca9fb8] Fixes: 339efe77c4c7 ("pkgtool: keep .el8s before added bz string")- Merging upstream branch-2.17 [RH git: 2b512f855d] Commit list: 26a11ca610 dpdk: Use DPDK 21.11.2 release.- Merging upstream branch-2.17 [RH git: a2109e1f4c] Commit list: edf699ec64 m4: Test avx512 for x86 only. 1989caf9ea ovsdb-idl: Preserve references for rows deleted in same IDL run as their insertion. (#2126450)- Merging upstream branch-2.17 [RH git: 6d00d0c803] Commit list: db6a612cd7 python: idl: Fix idl.Row.__str__ method.- Merging upstream branch-2.17 [RH git: daeab22d1e] Commit list: 73d7bf64a7 bond: Avoid deadlock while updating post recirculation rules. 70a63391cb ofproto-dpif-upcall: Add debug commands to pause/resume revalidators. cf0e12f8ae test-list: Fix false-positive build failure with GCC 12. 5cbed27c87 tests: Fix tests with GNU grep 3.8. a5cd60db0f cirrus: Upgrade to FreeBSD 13.1 image. 43ece36f31 netdev-linux: Skip some internal kernel stats gathering. 846d6a0c51 ofproto-dpif-xlate: Fix error messages for nonexistent ports/recirc_ids. e8814c9b88 ofproto-dpif-xlate: Clear tunnel wc bits if original packet is non-tunnel.- redhat: use git rev-parse to get BRANCH_NAME [RH git: fbcf506fb4] git name-rev may return tag instead of branch name- Merging 7bcd45ce82 version: 21.11.2 [RH git: 3073fb2b47] Commit list: 7bcd45ce82 version: 21.11.2 e12d415556 vhost: fix header spanned across more than two descriptors f167022606 vhost: discard too small descriptor chains 25c01bd323 net/mlx5: fix Rx queue recovery mechanism 125a65cb03 examples/performance-thread: fix build with GCC 12 2a55c38e27 test/crypto: skip oop test for raw api a561d44985 net/vhost: fix null pointer dereference 0f80c13b4d version: 21.11.2-rc1 84b2018842 app/testpmd: fix GTP PSC raw processing 9e7d93ae2f net/iavf: fix GTP-U extension flow b11e955370 vdpa/sfc: resolve race between vhost lib and device conf 06b246ead6 vdpa/ifc/base: fix null pointer dereference dbe68f0958 vdpa/mlx5: fix leak on event thread creation 9224015451 examples/link_status_interrupt: fix stats refresh rate b941165a00 examples/vhost: fix retry logic on Rx path f169902058 avoid AltiVec keyword vector 20ee5fbe91 app/regex: fix mbuf size for multi-segment buffer 81a0919f6a app/regex: avoid division by zero e1c3685b21 dma/idxd: fix null dereference in PCI remove 5b7a2b5672 dma/idxd: fix partial freeing in PCI close 1fd4a985e4 dma/idxd: fix memory leak in PCI close 008e1abc82 net/mlx5: reject negative integrity item configuration fa1d93b8c4 common/mlx5: fix non-expandable global MR cache 03a6a9f751 common/cnxk: allow changing PTP mode on CN10K 8fb51606a7 gro: fix identifying fragmented packets e46eb5a8dc service: fix lingering active status 399cbc736c net/igc: support multi-process 97e75c37b0 net/iavf: fix VF reset bbc9dcaefa common/cnxk: fix GRE tunnel parsing 36f4c8e67f net/virtio-user: fix Rx interrupts with multi-queue c353b1de9f vhost: restore device information in log messages 1f963ee7a3 vhost: add some trailing newline in log messages 4ef6a79d4a vdpa/sfc: fix sync between QEMU and vhost-user 5991d25b74 net/vhost: fix deadlock on vring state change a3ff1d7e9c doc: fix readability in vhost guide 19457a68ea net/virtio-user: fix socket non-blocking mode 3287afa5e8 net/netvsc: fix vmbus device reference in multi-process b6e4963255 app/testpmd: fix supported RSS offload display 49cc0b73a0 eventdev/eth_tx: fix queue delete a1564274cd doc: fix grammar and parameters in l2fwd-crypto guide a8b87a7063 doc: fix grammar and formatting in compressdev guide 8017591016 crypto/qat: fix DOCSIS crash f2a62f854e examples/fips_validation: handle empty payload 390e956b6d test/crypto: fix SNOW3G vector IV format 35b1acf851 test/crypto: fix ZUC vector IV format 6706a66aaa test/crypto: fix authentication IV for ZUC SGL f95b184d1e doc: add more instructions for running as non-root a74fd43471 net/bnxt: fix check for autoneg enablement in the PHY FW 7a91bb4238 net/bnxt: cleanup MTU setting 1ab0afa450 net/bnxt: disallow MTU change when device is started 8185654d05 net/bnxt: fix setting forced speed e798345849 net/bnxt: allow Tx only or Rx only cce3a4048e net/bnxt: fix switch domain allocation 17d26c7fa0 examples/distributor: fix distributor on Rx core 8bbab0b5a5 net/hns3: delete unused code 32535f69cd net/hns3: fix descriptors check with SVE 5a05333308 net/hns3: fix statistics locking 6420d2f828 net/hns3: fix PTP interrupt logging bdabb55ddc net/hns3: support backplane media type a650bf5cfe net/hns3: fix link status capability query from VF 44dad33c76 app/testpmd: fix GTP PSC raw processing 5dee226e46 net: fix GTP PSC headers 95b87a5314 app/testpmd: fix flex parser destroy command 2a4ad9bb84 app/testpmd: cleanup port resources after implicit close bbf31ae0fc test: check memory allocation for CRC ed8a477487 app/procinfo: show all non-owned ports 6fce2b8067 test/hash: fix out of bound access 7181c621fb rib: fix references for IPv6 implementation 1b31f49983 dma/idxd: fix non-AVX builds with old compilers d6e109f8aa dma/idxd: fix AVX2 in non-datapath functions b72fa6fd7a raw/ioat: fix build when ioat dmadev enabled d028271a0a raw/ioat: fix build missing errno include a3d0dbcf03 config: fix C++ cross compiler for Arm and PPC 3a9c3000f4 vdpa/mlx5: fix maximum number of virtqs 45150fc78b vdpa/mlx5: workaround var offset within page 0de69e279d doc: fix flow integrity hardware support in mlx5 guide 02017fcad3 net/mlx5: fix stack buffer overflow in drop action f8b370bbb4 net/mlx5: fix metering on E-Switch Manager aa8fb4afda net/mlx5: add limitation for E-Switch Manager match fac54fde60 net/mlx5: fix RSS expansion for patterns with ICMP item de9fa7b453 net/mlx5: fix build with clang 14 e4939398df net/qede: fix build with GCC 12 cca0819d48 net/ice/base: fix build with GCC 12 f361d278e7 net/ice: fix race condition in Rx timestamp f294a3dbb0 net/qede: fix build with GCC 13 760f94b15a common/cnxk: handle ROC model init failure 3a66cbb695 common/cnxk: fix decrypt packet count register update 614cd42ac0 net/octeontx: fix port close bee8c21938 malloc: fix allocation of almost hugepage size 7b610e0a8d net/virtio: unmap PCI device in secondary process d6e4e0f46e vhost/crypto: fix descriptor processing f69a61bde0 vhost/crypto: fix build with GCC 12 361723acef vhost: fix missing enqueue pseudo-header calculation 76556a3128 app/testpmd: revert MAC update in checksum forwarding 1901dc5492 net/ngbe: add more packet statistics a92e31d35d net/txgbe: fix register polling f48795dea1 app/testpmd: fix bonding slave devices not released b3cfb3db85 app/testpmd: add help messages for multi-process bfaaf994a5 net/hns3: fix TM capability 35582af08c net/hns3: fix crash from secondary process ba4aa140b3 net/hns3: fix return value for unsupported tuple 332e5fca03 net/hns3: fix code check warning fc61bd5d37 net/hns3: remove duplicate definition e885f508d9 net/hns3: fix an unreasonable memset 8854374c9e test/bonding: fix RSS test when disable RSS 2b71d44b80 net/bonding: fix RSS inconsistency between ports bd9ffc1961 eventdev/eth_tx: fix adapter creation 19591ad643 event/dlb2: fix advertized capabilities f7b34f357c event/cnxk: fix Tx adapter enqueue return for CN10K 93b1138ccd event/cnxk: fix QoS parameter handling e6f569043c event/dlb2: fix check of QID in-flight 7c0439f319 event/dlb2: rework queue drain handling d2c3d326d0 event/octeontx: fix SSO fast path bf7aa26ddd net/nfp: fix initialization 1c770fda6f net/nfp: make sure MTU is never larger than mbuf size fe2cddeb08 net/nfp: update how max MTU is read 095d2af061 crypto/cnxk: swap zuc-256 iv 38eabfdd0d common/cnxk: swap zuc-256 key d1e2bd80a6 test/ipsec: fix performance test 387d7f2a33 test/crypto: fix cipher offset for ZUC bf03e0341c crypto/scheduler: fix queue pair in scheduler failover 9445fcf138 test/ipsec: fix build with GCC 12 e0bff8480f crypto/cnxk: fix build with GCC 12 978835ed87 common/cpt: fix build with GCC 12 a9485fd00b examples/ipsec-secgw: fix ESN setting 362a219f40 net/iavf: fix NAT-T payload length be3beb946e examples/ipsec-secgw: fix NAT-T header fields d6a5fb4092 ipsec: fix NAT-T ports and length fd2d725ae5 baseband/acc100: add protection for some negative scenario 4184a99adb baseband/acc100: update companion PF configure function 4fb5429816 eal/x86: drop export of internal alignment macro bba01c7ab8 sched: remove unnecessary floating point 03b38f5281 test: drop reference to removed tests b55b2820d2 trace: fix init with long file prefix 17615c81fe trace: fix crash when exiting 64fdce75b6 net/mlx5: fix RSS hash types adjustment 1fb92a1f45 net/bnxt: fix tunnel stateless offloads e10c862914 net/iavf: fix segfaults when calling API after VF reset failed 8e8886a0e9 dma/hisilicon: fix includes in header file e027f40cd2 dma/skeleton: fix index returned when no memcpy completed 675b5bdf2c app/flow-perf: fix build with GCC 12 f85d0fc397 vdpa/ifc: fix build with GCC 12 ec6a2fa05c net/ice: fix build with GCC 12 ac8e3a7546 net/enetfec: fix build with GCC 12 9c1822f59f net/ena: fix build with GCC 12 c86456efc9 crypto/ipsec_mb: fix build with GCC 12 4cfe560401 kni: use dedicated function to set MAC address 9b7982b986 kni: use dedicated function to set random MAC address e731132bca net/tap: fix device freeing 63bb35c3f3 net/failsafe: fix device freeing a9062fa2fc app/testpmd: fix multicast address pool leak c18ad5cc3e app/testpmd: fix packet segment allocation 8bb9213bbc dma/idxd: fix error code for PCI device commands 5215fd05ab doc: fix formatting and link in BPF library guide 7133eadc9c bus/fslmc: fix VFIO setup d2d91f50f7 raw/ifpga: unregister interrupt on close 56e6acc152 raw/ifpga: remove virtual devices on close e06a55362a eal/ppc: fix compilation for musl c3a48df3d5 dma/hisilicon: enhance CQ scan robustness 543121b53e dma/hisilicon: fix index returned when no DMA completed d1461844a6 examples/dma: fix Tx drop statistics 6564af3d39 examples/dma: fix MTU configuration 5d71b3d9fa common/mlx5: remove unused lcore check 94b9525189 net/iavf: remove dead code f0c897ea5a net/iavf: increase reset complete wait count 341d13b08b net/iavf: fix device stop eab5e035ce net/iavf: fix device initialization without inline crypto 78cf4cbe62 doc: update matching versions in i40e guide d124639aee net/iavf: fix Rx queue interrupt setting 4a42ee9346 net/iavf: fix mbuf release in multi-process e1a84de6a9 net/iavf: fix queue start exception handling 6730951205 net/i40e: fix max frame size config at port level cfa67fc84b net/ice: fix MTU info for DCF 356142f8a2 net/ice/base: fix direction of flow that matches any 745563ca3c net/ice/base: fix getting sched node from ID type 97f8a95696 net/ixgbe: add option for link up check on pin SDP3 111417a49b net/iavf: fix data path selection c8868b3c5c kni: fix build 3aeeea257f kni: fix build with Linux 5.18 301300a86e net/mlx5: fix statistics read on Linux 83abe945a6 net/mlx5: fix Tx recovery f06feb0822 examples/vhost: fix crash when no VMDq a7c72e3e6c vhost: fix deadlock when message handling failed e156da31dd doc: fix vhost multi-queue reconnection 17a0ef7be3 vhost: fix async access c8c6eeda37 net/bnxt: fix ULP parser to ignore segment offset ca961550e9 net/bnxt: fix compatibility with some old firmwares ee3b68b408 ethdev: fix port close in secondary process da7caee013 common/sfc_efx/base: convert EFX PCIe INTF to MCDI value 959cd86178 net/vmxnet3: fix Rx data ring initialization 8c381b1157 app/testpmd: fix help of create meter command 237d93b36c net/nfp: fix disabling VLAN stripping b3ef192fec net/txgbe: fix max number of queues for SR-IOV 7b5339d563 net/txgbe: fix SGMII mode to link up 8bf4f37ede net/ngbe: fix PCIe related operations with bus API 512f325928 net/ngbe: fix reading PHY ID ba78db53ee net/ngbe: fix link speed check 8e23b06316 ethdev: fix port state when stop 54cb103e7b net/memif: fix overwriting of head segment fde361696c net/bonding: fix mbuf fast free usage ce5917f846 app/testpmd: do not poll stopped queues 8b28d584d8 app/testpmd: fix use of indirect action after port close 28e88ef39e ethdev: prohibit polling stopped queue 011122b9e0 app/testpmd: fix metering and policing command for RFC4115 e154ece049 app/testpmd: replace hardcoded min mbuf number with macro f7638851b4 net/cnxk: fix possible null dereference in telemetry c05dd44f52 ethdev: fix possible null pointer access e5177f3853 ethdev: fix memory leak in xstats telemetry 2104014dbd net/axgbe: fix xstats get return if xstats is null 3422f4b58c net/mvpp2: fix xstats get return if xstats is null 7a1086a9d5 net/ipn3ke: fix xstats get return if xstats is null bae6c70cd3 net/hns3: fix xstats get return if xstats is null 0c48dafbdf app/testpmd: remove useless pointer checks 8378498b96 app/testpmd: perform SW IP checksum for GRO/GSO packets 65bff89f9a app/testpmd: fix port status of bonding slave device 4f9c7fb5af doc: add missing auth algo for IPsec example 2d0ec22be8 test/crypto: fix driver name for DPAA raw API test 082148b6a5 drivers/crypto: fix warnings for OpenSSL version 48dda925a7 test/crypto: fix null check for ZUC authentication c195ec01df examples/ipsec-secgw: fix promiscuous mode option 9c33903649 examples/ipsec-secgw: fix uninitialized memory access ea0ab8e686 pcapng: fix timestamp wrapping in output files 412da85334 pipeline: fix emit instruction for invalid headers ce7b8e673a devtools: fix null test for NUMA systems 84eb565954 doc: fix API index Markdown syntax d55a70f874 mbuf: dump outer VLAN 2fcd1cc163 rib: fix traversal with /32 route 8c5ab722fb acl: fix rules with 8-byte field size 5ffee1e906 test: avoid hang if queues are full and Tx fails c1f49d47a9 eal/freebsd: fix use of newer cpuset macros 214462a05b devargs: fix leak on hotplug failure 29fa5a6eaf eal/x86: fix unaligned access for small memcpy eeaeb58d56 event/cnxk: fix out of bounds access in test 09d859555f eventdev/eth_rx: fix telemetry Rx stats reset ec08dcaf4b doc: fix build with sphinx 4.5 671e8fa0c8 net/mlx5: fix no-green metering with RSS 6857653625 net/bnxt: fix freeing VNIC filters fa1a893ff7 net/bnxt: recheck FW readiness if in reset process 2ff3768d20 net/bnxt: fix link status when port is stopped 71ab79d3a7 net/bnxt: force PHY update on certain configurations db239d7290 net/bnxt: fix speed autonegotiation ce36a5d910 net/bnxt: avoid unnecessary endianness conversion 8c464cf618 net/bnxt: handle queue stop during RSS flow create c25b1d545e net/bnxt: check duplicate queue IDs 3f9914a7b3 net/bnxt: fix ring group on Rx restart 821dd9cd43 net/bnxt: fix RSS action 3774986bdd net/bnxt: fix Rx configuration d620238a97 net/bnxt: remove unused macro 2f66d10615 net/bnxt: fix device capability reporting b174adfcae net/bnxt: fix reordering in NEON Rx 7d9f5b3b33 net/cnxk: add barrier after meta batch free in scalar 8790891a6d common/cnxk: fix SQ flush sequence 08d2d8868e net/cnxk: fix uninitialized variables a10e2ec8ee common/cnxk: fix null pointer dereference d13786763a common/cnxk: fix unaligned access to device memory b117088323 net/cnxk: add message on flow parsing failure caf428f0a0 app/testpmd: fix MTU verification 5e1545b730 app/testpmd: check statistics query before printing 66b7e330d6 net/hns3: remove unnecessary RSS switch 15b794b152 ethdev: fix RSS update when RSS is disabled 0cec1c9477 net/hns3: remove redundant RSS tuple field 5a6fb3a977 net/hns3: fix rollback on RSS hash update 8c193c0b4c net/hns3: fix RSS disable 8b00917c08 net/hns3: fix mbuf free on Tx done cleanup 74089f471a net/hns3: fix pseudo-sharing between threads 827f72e8ce net/hns3: fix MAC and queues HW statistics overflow d96ee7bac0 net/hns3: fix order of clearing imissed register in PF aa2c6d3f69 ethdev: fix build with vtune option b839853e83 net/tap: fix interrupt handler freeing 41c0ba64de net/bonding: fix slave stop and remove on port close 5a8afc69af net/bonding: fix stopping non-active slaves e856fe9aa6 doc: update matching versions in ice guide 82ccc27de5 net/dpaa: fix event queue detach d24d6395d6 vdpa/mlx5: fix dead loop when process interrupted 879fb64517 vdpa/mlx5: fix interrupt trash that leads to crash 78414da84e vhost: fix missing virtqueue lock protection e3036fbd0a net/vhost: fix TSO feature default disablement 4852da727c net/virtio: restore some optimisations with AVX512 58d1b856be net/vhost: fix access to freed memory 24dabb9d25 net/cxgbe: fix Tx queue stuck with mbuf chain coalescing 6627ee48b5 net/cxgbe: fix port ID in Rx mbuf 8cf194f699 net/bonding: fix RSS key config with extended key length 3192737d10 net/nfp: remove unneeded header inclusion 8ab93b06bc net/netvsc: fix hot adding multiple VF PCI devices 03e1864411 test/mem: disable ASan when accessing unallocated memory e9b46ab763 net/mlx5: fix LRO configuration in drop Rx queue d5fdf0a2ba net/mlx5: fix LRO validation in Rx setup 28ecf49a60 examples/l2fwd-crypto: fix stats refresh rate aeca5959dd common/dpaax: fix short MAC-I IV calculation for ZUC 5a9af71a6d crypto/dpaa2_sec: fix operation status for simple FD 5e3a3f48d1 crypto/dpaa2_sec: fix crypto operation pointer 4644779034 crypto/dpaa_sec: fix secondary process probing 15a3ae1a5f crypto/dpaa2_sec: fix chained FD length in raw datapath bee2c296c8 crypto/dpaa_sec: fix chained FD length in raw datapath 86ba4e206e crypto/dpaa2_sec: fix buffer pool ID check f72e482fec crypto/dpaa2_sec: fix fle buffer leak 8bad3a05f1 crypto/mlx5: fix login cleanup be6637f158 security: fix SA lifetime comments bb386a9f91 crypto/dpaa_sec: fix digest size f343d3b4ed eal: fix C++ include for device event and DMA de48c79f3b malloc: fix ASan handling for unmapped memory 804b2e64eb mem: skip attaching external memory in secondary process 65855b2d37 test/table: fix buffer overflow on lpm entry c7e0471948 net/mlx5: fix Rx/Tx stats concurrency b0e6a9c183 net/mlx5: fix GTP handling in header modify action b3896dba13 net/mlx5: restrict Rx queue array access to boundary c08c6247f2 net/mlx5: fix counter in non-termination meter 99ba358268 net/mlx5: fix probing with secondary bonding member 1430ccb1db net/mlx5: fix Tx when inlining is impossible 72691359fa common/mlx5: fix memory region range calculation 550f0d8288 net/netvsc: fix calculation of checksums based on mbuf flag 21edf23c6d net/ice: fix raw flow input pattern parsing aedf24edbb net/ice: refactor parser usage bb6683a89f net/ice: add missing Tx burst mode name 91355ad5b2 net/i40e: populate error in flow director parser 8ae457cbf5 net/ice: improve performance of Rx timestamp offload a25197930d test/bpf: skip test if libpcap is unavailable 6da5f268db examples/bond: fix invalid use of trylock 9c267cbd10 net/dpaa2: fix dpdmux default interface d8898f0763 eal/windows: add missing C++ include guards fad1dbc0c5 eal/windows: fix data race when creating threads 95e04d4866 doc: fix release note typo 592c7bf714 net/af_xdp: make compatible with libbpf >= 0.7.0 6721fb14eb net/af_xdp: use libxdp if available fcd039e466 version: 21.11.1 2130012318 net/cnxk: fix build with optimization 9518bcf700 net/mlx5: fix flex item availability 05aa560efc version: 21.11.1-rc1 b68dbab7c8 Revert "net/mlx5: fix flex item availability" bb5ce0625c crypto/ipsec_mb: fix GMAC parameters setting cef6bb00ce crypto/ipsec_mb: fix length and offset settings be2edca509 Revert "crypto/ipsec_mb: fix length and offset settings" dec4b1b89e raw/ifpga: fix build with optimization 4586b6b8c2 doc: fix telemetry example in cryptodev guide 2740b29e48 doc: fix missing note on UIO module in Linux guide 713a4bc48c doc: replace characters for (R) symbol in Linux guide a50b228d2d net/mlx5: fix CPU socket ID for Rx queue creation 8db2867c79 net/mlx5: fix port matching in sample flow rule 7c12be128c eventdev: fix clang C++ include 4f263532d0 cryptodev: fix clang C++ include ec8a6dc2e6 compressdev: fix missing space in log macro 37232971b0 eal/freebsd: add missing C++ include guards 8320df4804 examples/l3fwd: fix buffer overflow in Tx 3313fe0301 app/testpmd: fix flow rule with flex input link 39d09d7155 app/testpmd: fix GTP header parsing in checksum engine 514668e230 app/testpmd: fix show RSS RETA on Windows 3a3d4d3332 app/regex: fix number of matches f2a457c605 bpf: fix build with some libpcap version on FreeBSD e84b43b5eb crypto/ipsec_mb: fix GCM requested digest length 8c7bebaa38 net/af_xdp: fix custom program loading with multiple queues 88dbe7c555 net/qede: fix maximum Rx packet length 09891782a4 net/qede: fix Rx bulk 506f3198ab net/qede: fix Tx completion 268985d32e doc: fix modify field action description for mlx5 59a419a416 net/mlx5: fix implicit tag insertion with sample action 42cf1850e2 net/mlx5: forbid multiple ASO actions in a single rule dd859e1797 net/mlx5: fix sample flow action on trusted device 7680d1d321 net/mlx5: fix VLAN push action validation 691ff0b6db net/mlx5: fix NIC egress flow mismatch in switchdev mode 6cb68162e4 vhost: fix FD leak with inflight messages 4c40d30d2b vhost: fix queue number check when setting inflight FD 6ae8ba6b7a build: suppress rte_crypto_asym_op abi check efd091d541 devtools: fix symbols check 026470bafa build: hide local symbols in shared libraries 89f14be564 common/mlx5: consider local functions as internal 6e7f8939f2 regexdev: fix section attribute of symbols 6472c2d476 net/iavf: fix potential out-of-bounds access 67191a9cb3 net/sfc: reduce log level of tunnel restore info error ee836190a1 net/mlx5: fix meter creation default state a17cea76b7 net/mlx5: fix configuration without Rx queue d31463e0b2 net/mlx5: fix MPLS/GRE Verbs spec ordering 48fe9efaf2 net/mlx5: fix flex item availability 3bd5cf393d net/mlx5: fix meter policy creation assert c77572d2a1 net/mlx5: remove unused reference counter 0036f3941e net/mlx5: fix modify port action validation eebfb74c51 net/mlx5: fix shared RSS destroy 5d3ade99bd net/mlx5: fix next protocol RSS expansion 4500ec704f net/mlx5: fix inet IPIP protocol type 9bdcba122b net/bnxt: fix null dereference in session cleanup 4aadf56c66 ethdev: fix doxygen comments for device info struct 0c7cbe52f7 build: fix build on FreeBSD with Meson 0.61.1 dab4a96be2 devtools: remove event/dlb exception in ABI check 4fa43b7bff vhost: fix physical address mapping f03f4b98c9 net/cnxk: fix Rx/Tx function update 3a5e1aaee4 net/mlx5: fix initial link status detection 295f5022f6 net/mlx5: fix link status change detection be828a8eaf common/mlx5: add Netlink event helpers 7214354c52 examples/kni: add missing trailing newline in log f5ba75eb9a examples/l3fwd: make Rx and Tx queue size configurable ef48f23bfd examples/l3fwd: share queue size variables 6bf720d7d7 examples/flow_classify: fix failure message 2719708908 examples/distributor: reduce Tx queue number to 1 7aa3bbafd6 app/dumpcap: check for failure to set promiscuous 955a6afc6f test/bpf: skip dump if conversion fails e71f3dc931 pcapng: handle failure of link status query b8222349eb app/pdump: abort on multi-core capture limit 8adbf6df92 raw/ifpga: fix monitor thread 69da51b405 raw/ifpga: fix interrupt handle allocation d4536cf86a raw/ifpga: fix variable initialization in probing 186250df3d gpu/cuda: fix dependency loading path af8ffbba79 sched: remove useless malloc in PIE data init 8ebcaf23cb eal/linux: fix device monitor stop return 89d84883b0 examples/vhost: fix launch with physical port 7a5659dd94 vhost: fix linker script syntax b7f396be62 net/ice: fix Tx offload path choice 28acfe550d common/cnxk: fix mbuf data offset for VF 51af57d005 common/cnxk: fix bitmap usage for TM 43dec151be net/iavf: fix AES-GMAC IV size f314e6acfb net/mlx5: fix flex item header length translation 1926a8d8c5 net/mlx5: fix matcher priority with ICMP or ICMPv6 1f5aede9bd net/mlx5: reduce flex item flow handle size 279cc42d3b net/mlx5: fix GRE item translation in Verbs 39cba36e63 doc: fix typos and punctuation in flow API guide 41510092eb net/kni: fix config initialization 6090ee620d net/txgbe: fix queue statistics mapping 8a301f166c net/mlx5: fix check in count action validation c46eaf6f4c net/mlx5: fix shared counter flag in flow validation de3ad851ca net/mlx5: fix destroying empty matchers list 6468addfe3 net/mlx5: fix indexed pool fetch overlap ae071e1851 net/iavf: fix function pointer in multi-process b82b6ed613 net/iavf: support NAT-T / UDP encapsulation 5f275a0312 net/ixgbe: fix FSP check for X550EM devices aa6f865e7e net/hns3: increase time waiting for PF reset completion 94420985c7 net/hns3: fix VF RSS TC mode entry dc3cb423f5 net/hns3: fix RSS TC mode entry 772292049b net/hns3: remove duplicate macro definition 24939fcc13 compressdev: fix socket ID type 30fea0f0a6 app/compress-perf: fix number of queue pairs to setup b2b15ab556 app/compress-perf: fix socket ID type during init 8ace98122a compress/mlx5: support out-of-space status d386e37612 app/compress-perf: optimize operations pool allocation c65e648405 app/compress-perf: fix cycle count operations allocation 9bb7a3f9df event/dlb2: add shift value check in sparse dequeue d2b19d6346 event/cnxk: fix Rx adapter config check dd8c73295c event/cnxk: fix sub-event clearing mask length 170c124998 kni: fix freeing order in device release 0617d94900 bus/pci: assign driver pointer before mapping 099aba7265 devargs: fix crash with uninitialized parsing dcf545fce1 eal/linux: fix illegal memory access in uevent handler 38c59b06b0 distributor: fix potential overflow 77b6873f73 efd: fix uninitialized structure b017e1159f test/efd: fix sockets mask size e9100a0196 doc: add CUDA driver features 9703132099 app/testpmd: fix build without drivers 158012beee app/testpmd: fix raw encap of GENEVE option 8c4ce4d7ff net/i40e: fix unintentional integer overflow 3334722c21 net/cnxk: fix RSS RETA table update b8bfbcd1a0 net/cnxk: fix build with GCC 12 c957e1063b net/cnxk: fix inline IPsec security error handling ee97d867e7 net/cnxk: register callback early to handle initial packets c5124d0ea8 net/cnxk: fix inline device RQ tag mask 283f54ba9d mempool/cnxk: fix batch allocation failure path ba9d00afac doc: correct name of BlueField-2 in mlx5 guide 9385e97741 doc: replace broken links in mlx guides 239796f3dd doc: remove obsolete vector Tx explanations from mlx5 guide 2007577b29 net/mlx5: fix E-Switch manager vport ID a600672d1a net/mlx5: fix entry in shared Rx queues list 7f982e1320 net/mlx5: fix meter sub-policy creation 7b5ea7efc3 net/mlx5: remove unused function aff5b2ee60 net/mlx5: set flow error for hash list create d2e99680f9 common/mlx5: fix queue pair ack timeout configuration 233c5aa3e7 net/ena: fix checksum flag for L4 f5eff853e4 net/ena: check memory BAR before initializing LLQ 70c3e891d0 net/ena: fix meta descriptor DF flag setup 867dd857f4 net/ena: fix reset reason being overwritten c443512e3d net/ena: skip timer if reset is triggered 4e9e9e29c4 net/ena: remove unused offload variables e63e5c79ce net/ena: remove unused enumeration 399b489328 net/txgbe: fix debug logs a8be311dd1 net/ngbe: fix debug logs c1cf1a9735 app/testpmd: fix GENEVE parsing in checksum mode 036993974f net/mlx5: fix errno update in shared context creation b6b1c3ad5d net/mlx5: fix ASO CT object release 49257a9394 net/mlx5: fix ineffective metadata argument adjustment 50f3a03f75 net/mlx5: fix sibling device config check e68285796c net/i40e: enable maximum frame size at port level 15ff989ca8 net/iavf: fix segmentation offload buffer size dbb1c53725 net/iavf: fix segmentation offload condition d75be6c28d net/ice: fix overwriting of LSE bit by DCF a628e2bf19 net/af_xdp: ensure socket is deleted on Rx queue setup error ae2f030ad1 net/sfc: fix memory allocation size for cache ea21c6bf4e net/sfc: fix flow tunnel support detection a58ae9af98 common/sfc_efx/base: add missing handler for 1-byte fields 4874f1d005 common/sfc_efx/base: fix recirculation ID set in outer rules e4b43ee28c net/cnxk: fix uninitialized local variable f0cfb0e3d1 common/cnxk: fix uninitialized pointer read 2f61027cda common/cnxk fix unintended sign extension 7eeb8d37ed common/cnxk: add missing checks of return values dd1851c1de net/af_xdp: add missing trailing newline in logs 6a9b64907e common/cnxk: fix NPC key extraction validation 87b639b4ed vhost: fix unsafe vring addresses modifications 01e3dee29c vhost: fix field naming in guest page struct e09a0094a6 common/cnxk: fix base rule merge 1751e87f51 common/cnxk: fix log level during MCAM allocation d91869302f common/cnxk: fix flow deletion 450ee57e5f app/testpmd: check starting port is not in bonding 387187932f net/bonding: fix slaves initializing on MTU setting c93302dd4f net/cnxk: fix mbuf data length 116bfaa14e ethdev: fix MAC address in telemetry device info a42a874599 net/iavf: reset security context pointer on stop 496747d389 net/txgbe: reset security context pointer on close 223010f1da net/ixgbe: reset security context pointer on close 967cb49748 net/nfb: fix multicast/promiscuous mode switching afe8e58fed net/nfb: fix array indexes in deinit functions daf06c45e8 crypto/ipsec_mb: fix length and offset settings cfa7703c8e crypto/ipsec_mb: fix ZUC operation overwrite 1170e24b20 crypto/ipsec_mb: fix ZUC authentication verify bbc596578a crypto/ipsec_mb: check missing operation types 9c67637c8c crypto/virtio: fix out-of-bounds access 301ee2f378 baseband/acc100: avoid out-of-bounds access 79247ddc0d examples/l2fwd-crypto: fix port mask overflow 5772c7b32e doc: fix FIPS guide ad76dc4e91 examples/ipsec-secgw: fix buffer freeing in vector mode f092922c36 cryptodev: fix RSA key type name c8bcbe8b68 crypto/ipsec_mb: remove useless check fec66e64e5 event/cnxk: fix uninitialized local variables 52d824d106 event/cnxk: fix variables casting 9a552423fd event/dlb2: poll HW CQ inflights before mapping queue 720fb431b4 event/dlb2: update rolling mask used for dequeue 7d7a9f161d eventdev/eth_rx: fix queue config query 529f3a735e eventdev/eth_rx: fix parameters parsing memory leak d33bb6bd28 examples/qos_sched: fix core mask overflow 9970eab8c4 doc: improve configuration examples in idxd guide b254386fad dma/idxd: configure maximum batch size to high value ebc0188ccb test/dma: fix missing checks for device capacity c6aea57d99 dma/hisilicon: use common PCI device naming 56d6e5b091 ethdev: fix cast for C++ compatibility 5d75eb0924 cryptodev: add missing C++ guards c02f5bcfe9 bpf: add missing C++ guards 362921a8e3 vhost: add missing C++ guards fb37e2b3ae kni: add missing C++ guards e4dbb6873a eventdev: add missing C++ guards 3d1746c9ac compressdev: add missing C++ guards 6fca954338 acl: add missing C++ guards 447210e07c metrics: add missing C++ guards b99a45df05 ethdev: add missing C++ guards e7291176c2 telemetry: add missing C++ guards b2f85a808a eal: add missing C++ guards 81c40b01d0 dmadev: add missing header include 692ae335d6 eventdev/eth_tx: fix queue add error code adfebc59b5 pipeline: fix table state memory allocation 1e8aa23aba pipeline: fix annotation checks 13ddcf9dee raw/ntb: clear all valid doorbell bits on init 0627e93c26 crypto/dpaax_sec: fix auth/cipher xform chain checks 0fd24703c6 crypto/cnxk: fix update of number of descriptors 2630bff5a4 compress/octeontx: fix null pointer dereference 6f9d8df3d1 crypto/qat: fix GEN4 AEAD job in raw data path 98ec92641b crypto/ipsec_mb: fix buffer overrun 13aab9f493 crypto/ipsec_mb: fix premature dereference 98ece68514 test/crypto: fix out-of-place SGL in raw datapath 4d5d4d7abc examples/ipsec-secgw: fix offload flag used for TSO IPv6 abfad6b59c net/txgbe: fix KR auto-negotiation 42960ce408 net/txgbe: fix link up and down 59691181a3 net/ngbe: fix packet statistics b9c20ea8f0 net/ngbe: fix Tx hang on queue disable 3698c17f42 net/ngbe: fix missed link interrupt cacbd7e4f7 net/ngbe: fix Rx by initializing packet buffer early 863d787942 net/bnxt: fix ring calculation for representors e53da2ffbe net/bnxt: set HW coalescing parameters 6c8ff52958 net/mlx5: fix inline length for multi-segment TSO 3831da6c7b net/mlx5: fix meter capabilities reporting 6022babd1d net/mlx5: fix committed bucket size c9a140e15b net/mlx5: fix metadata endianness in modify field action 8f821b1135 vdpa/sfc: fix null dereference during removal 5dfd488d82 vdpa/sfc: fix null dereference during config 7537c99618 net/ice: fix build with 16-byte Rx descriptor 607d564355 net/ice: fix pattern check in flow director d422a9cdae net/ice/base: add profile validation on switch filter 5dc74f1348 net/iavf: count continuous DD bits for Arm in flex Rx 68522027e3 net/iavf: count continuous DD bits for Arm f746bb72ba net/iavf: fix null pointer dereference b832a197fa net/sfc: demand Tx fast free offload on EF10 simple datapath 915b0b0b9f net/sfc: do not push fast free offload to default TxQ config 6fdd1953b0 ethdev: remove unnecessary null check 851b597291 net: fix L2TPv2 common header d594afc792 net/memif: remove pointer deference before null check 273bacf2a8 config: align mempool elements to 128 bytes on CN10K e183e43e2b vfio: cleanup the multiprocess sync handle c32322e508 ipc: end multiprocess thread during cleanup 6e1bc26cde test/mbuf: fix mbuf data content check 472f790f95 app/fib: fix division by zero 1058b2c369 mem: check allocation in dynamic hugepage init c59904ed03 vhost: fix C++ include 6afaa0f3d7 table: fix C++ include 91b9d6cd34 ipsec: fix C++ include 4f328f8e2b graph: fix C++ include 3668e54828 eventdev: fix C++ include 1fdfd87f14 eal: fix C++ include 72334ceaf1 config/arm: add values for native armv7 02a96ad251 stack: fix stubs header export 6b06137c98 regex/mlx5: fix memory allocation check 72487940d1 net/virtio: fix slots number when indirect feature on 160769f648 vhost: fix guest to host physical address mapping eaf935f63c net/sfc: fix lock releases ce413e1922 app/testpmd: fix stack overflow for EEPROM display ac180f4d26 net/tap: fix to populate FDs in secondary process 721d0bbd16 ethdev: add internal function to device struct from name 605d1de0d3 app/testpmd: fix bonding mode set 7b71bc2d00 net/bonding: fix reference count on mbufs 26f2cc6490 net/bonding: fix promiscuous and allmulticast state 30dcde8467 net/ixgbe: check filter init failure e72696baa4 net/hns3: delete duplicated RSS type 2ae91ac660 net/hns3: fix operating queue when TCAM table is invalid 2b7587ea99 net/hns3: fix double decrement of secondary count 10342b22ae net/hns3: fix insecure way to query MAC statistics 9b1f69f906 net/hns3: fix RSS key with null d7033074e0 net/hns3: fix max packet size rollback in PF 2c27da1e51 net/bonding: fix MTU set for slaves 9ac1343c4d net/dpaa2: fix null pointer dereference 90386f428c net/enic: fix dereference before null check 57b2aa0265 test/mem: fix error check 32cb4f09ff eal/windows: fix error code for not supported API 5a9f8c2ba4 ring: fix overflow in memory size calculation 8b45a1dea3 ring: fix error code when creating ring 63cb4ae54f doc: fix KNI PMD name typo 4f140c9a9a build: remove deprecated Meson functions aa8ad3e48c build: fix warnings when running external commands 1e770ae599 pflock: fix header file installation 86f7ed09ae doc: update matching versions in ice guide 37d27abc59 net/mlx5: reject jump to root table bc3452d45d common/mlx5: fix probing failure code 99f5cd0dc3 net/mlx5: fix mark enabling for Rx d157628041 common/mlx5: fix MR lookup for non-contiguous mempool 4c4c0cf459 net/virtio: fix uninitialized RSS key 0d2ddde419 net/virtio-user: check FD flags getting failure 4210bb89d8 net/virtio-user: fix resource leak on probing failure efc7ea9dd7 vdpa/ifc: fix log info mismatch 7c58dbf159 net/virtio: fix Tx queue 0 overriden by queue 128 f05bbce185 vdpa/mlx5: workaround queue stop with traffic ad51b31a30 net/hns3: fix using enum as boolean 9d6db3c3ad net/nfp: free HW ring memzone on queue release 961922eb71 net/bonding: fix RSS with early configure 6492c9875d net/hns3: fix vector Rx/Tx when PTP enabled 9c10b251a1 net/hns3: fix mailbox wait time e073f410fb net/hns3: fix Rx/Tx functions update 581e547a6f net/memif: remove unnecessary Rx interrupt stub 5de680a494 raw/ifpga/base: fix port feature ID 0f8f337740 net/bnxt: fix VF resource allocation strategy f70203b5c0 net/bnxt: fix memzone allocation per VNIC e44c18821c net/bnxt: handle ring cleanup in case of error a04034b131 net/bnxt: fix check for autoneg enablement 72db0cca69 raw/ifpga: fix thread closing 7c682d5c05 net/ice: fix link up when starting device b38f8855d6 net/ice: fix mbuf offload flag for Rx timestamp 81597d6e20 raw/ifpga/base: fix SPI transaction 4599a6179a net/sfc: validate queue span when parsing flow action RSS c935f2719d ethdev: fix Rx queue telemetry memory leak on failure 3fd3c3b3b0 common/cnxk: fix error checking 2253ed93c3 common/cnxk: fix uninitialized variables 38f3a00894 common/cnxk: fix null pointer dereferences 1349f9e568 common/cnxk: always use single interrupt ID with NIX cfcdf00068 common/cnxk: reset stale values on error debug registers 285183e606 common/cnxk: fix byte order of frag sizes and infos 5deff57b9d common/cnxk: fix shift offset for TL3 length disable 41569f9deb net/nfp: remove useless range checks 23c2f68598 net/nfp: remove duplicated check when setting MAC address 85d9e45c32 net/mlx5: fix MPRQ WQE size assertion a9bc2a46c2 net/mlx5: fix maximum packet headers size for TSO 70211750cc net/bnxt: restore dependency on kernel modules 279f0d75c0 net/dpaa2: fix timestamping for IEEE1588 c96ea2bf1c net/dpaa2: fix unregistering interrupt handler 699c30f853 net/cxgbe: fix dangling pointer by mailbox access rework ef94549efe app/testpmd: fix external buffer allocation 6d5f3984dc app/testpmd: fix dereference before null check 83774f8a67 net/bonding: fix mode type mismatch 40a4d0544b net/af_xdp: fix build with -Wunused-function 181ddedb1a net/axgbe: use PCI root complex device to distinguish device bb1854bc69 app/testpmd: fix Tx scheduling interval 96b92d045f net/bonding: fix offloading configuration 661587eaae net/cnxk: fix promiscuous mode in multicast enable flow 26a3e3e7d3 net/bnxt: check VF representor pointer before access 2f9df1413c net/bnxt: fix xstats query b74a60df81 net/bnxt: fix crash by validating pointer 2e31b779e8 net/bnxt: fix PAM4 mask setting 6c57090c01 net/bnxt: fix ring teardown f2c08d53a1 net/bnxt: fix handling of VF configuration change 377a9a8197 net/bnxt: get maximum supported multicast filters count b0fe5e2fa9 net/bnxt: fix flow create when RSS is disabled 6b722d7b37 net/bnxt: add null check for mark table a31a8b6a97 net/bnxt: set fast-path pointers only if recovery succeeds 6b7c0ce0ce net/bnxt: cap maximum number of unicast MAC addresses a9ea24c80c net/bnxt: fix restoring VLAN filtering after recovery 56f92b77e7 net/bnxt: restore RSS configuration after reset recovery 880ed79159 net/bnxt: fix queue stop operation f4d1e64dec net/bnxt: fix multicast MAC restore during reset recovery 5e35fae222 net/bnxt: fix multicast address set c59f883c24 net/bnxt: fix xstats names query overrun 9d1da3652a net/mlx5: relax headroom assertion ab06c7bf9b net/mlx5: fix GCC uninitialized variable warning 379079d6cc net/mlx5: fix GRE protocol type translation for Verbs d8d54171bd net/mlx5: fix RSS expansion with explicit next protocol 032e27c0b2 net/mlx5: fix assertion on flags set in packet mbuf 59f8d27b5f common/mlx5: fix missing validation in devargs parsing 407b3ae746 net/mlx5: fix memory socket selection in ASO management 751bca90b1 common/mlx5: fix error handling in multi-class probe 0832935bf5 net/ixgbe: add vector Rx parameter check 1eef1cf7d3 net/ice: fix Tx checksum offload 76a729e7ed net/ice: track DCF state of PF 85e84c5930 net/iavf: remove git residue symbol 3380c428a5 net/ice: fix Tx checksum offload capability a9ff22fc59 net/ice: fix pattern check for flow director parser f1339fd8ec net/qede: fix redundant condition in debug code 9ff875ecff common/cnxk: fix nibble parsing order when dumping MCAM 23b8e0a337 net/mlx5: fix MPRQ stride devargs adjustment c58aaabede net/mlx5: improve stride parameter names f873364dfe common/mlx5: add minimum WQE size for striding RQ 0422d79548 net/mlx5: fix modify field MAC address offset d021a2f9b7 dma/cnxk: fix installing internal headers bb6b3ec4e9 devtools: fix comment detection in forbidden token check 19aefaf2cb examples/ipsec-secgw: fix default flow rule creation 8c4f0e9e73 examples/ipsec-secgw: fix eventdev start sequence 5831db3bab crypto/ipsec_mb: fix tainted data for session 4b8475c98e crypto/ipsec_mb: fix queue cleanup null pointer dereference 07ee507051 crypto/ipsec_mb: fix queue setup null pointer dereference 7823f35581 crypto/cnxk: fix extend tail calculation 5977020bc3 crypto/cnxk: fix inflight count calculation 99d6741b64 crypto/cnxk: enable allocated queues only de6b483f38 common/cnxk: fix reset of fields 7ee503d33f common/cnxk: add workaround for vWQE flush e3b9a8c32f event/cnxk: fix QoS devargs parsing 87646d04a1 examples/l3fwd: fix Rx burst size for event mode 8d0ffec0cf eventdev/eth_rx: fix missing internal port checks 393d0580db doc: fix dlb2 guide 19c6e95cd6 eal/linux: log hugepage create errors with filename 24e496918b config: add arch define for Arm a8dd54379d gpu/cuda: fix memory list cleanup 8e8fe373c0 dma/idxd: fix wrap-around in burst capacity calculation e0f7faeba1 dma/idxd: fix paths to driver sysfs directory cb7d9a39cb dma/idxd: fix burst capacity calculation 572305874a bus/ifpga: remove useless check while browsing devices c30f1ec97d doc: remove dependency on findutils on FreeBSD cb2e09a4da buildtools: fix AVX512 check for Python 3.5 3b511fdf21 maintainers: update for stable branches b3122779a5 doc: replace deprecated distutils version parsing 2be1e5158e fix spelling in comments and strings- Merging upstream branch-2.17 [RH git: ed428149e4] Commit list: dfc3e65c81 raft: Fix unnecessary periodic compactions. 6f322ccf8a netdev-offload-tc: Parse tunnel options only for geneve ports.- Merging upstream branch-2.17 [RH git: 080c941dff] Commit list: a9f10a2bdc netdev-offload-tc: Add missing handling of the tunnel source port. ec2e967c1d netdev-offload-tc: Fix ignoring unknown tunnel keys. 686984d9a0 netdev-offload-tc: Use masks instead of keys while parsing tunnel attributes. 92c072d944 netdev-offload-tc: Explicitly handle mask for the tunnel destination port. 87f191a3a3 netdev-offload-tc: Fix the mask for tunnel metadata length.- Merging upstream branch-2.17 [RH git: 020b9deea5] Commit list: cadcea6fea releases: Mark 2.17 as a new LTS release.- Merging upstream branch-2.17 [RH git: 824e124b3b] Commit list: 8a1b734480 handlers: Fix handlers mapping. 713072fdac handlers: Create additional handler threads when using CPU isolation.- Merging upstream branch-2.17 [RH git: 7e55c5405a] Commit list: 84a8910ffe packets: Fix misaligned access to ip6_hdr. fe27e0c884 python: Do not send non-zero flag for a SSL socket. (#2115035) 729a872f19 dpif-netdev: Simplify AVX512 build time checks to enhance readability.- pkgtool: keep .el8s before added bz string [RH git: 0c88379419] Signed-off-by: Timothy Redaelli - Merging upstream branch-2.17 [RH git: 690a14282a] Commit list: 1b566f8b80 github: Move CI to ubuntu 20.04 base image.- Merging upstream branch-2.17 [RH git: d208bfac1d] Commit list: 86725abe10 netdev-offload-tc: Disable offload of IPv6 fragments. 2276daf889 ovs-save: Use right OpenFlow version for add-tlv-map.- Merging upstream branch-2.17 [RH git: e21f40b07e] Commit list: c353e757d7 system-traffic: Fix IPv4 fragmentation test sequence for check-kernel. 6f54dc134a system-traffic: Fix incorrect neigh entry in ipv6 header modification test. 7848ae6ffb system-traffic: Don't run IPv6 header modification test on kernels < 5.19.- Merging upstream branch-2.17 [RH git: 7a3929ad1f] Commit list: 399185865e netdev-linux: set correct action for packets that passed policer- Merging upstream branch-2.17 [RH git: 862609bde4] Commit list: cda60c8558 python: Fix E275 missing whitespace after keyword. 3678fb544d tc: Use sparse hex dump while printing inconsistencies. 03a0ec82b7 netdev-offload-tc: Print unused mask bits on failure. 5b8453a44e dynamic-string: Add function for a sparse hex dump. 8d7cb1daf4 dpif-netlink: Fix incorrect bit shift in compat mode. d1cec26869 python: Use setuptools instead of distutils. 8d6ecb2592 packets: Re-calculate IPv6 checksum only for first frag upon modify.- Merging upstream branch-2.17 [RH git: 083e7533dc] Commit list: 26dbc822d3 test-ovsdb: Fix false-positive leaks from LeakSanitizer. 6eab10cf2c m4: Update ax_func_posix_memalign to the latest version. 2f51bfd23b m4: Replace obsolete AC_HELP_STRING with AS_HELP_STRING. 8ad325aab5 libopenvswitch.pc: Add missing libs for a static build. b64ff3f480 rhel: Stop installing internal headers. b63bbf2dba python-c-ext: Handle initialization failures. 4ad02ad047 netdev-linux: Do not touch LAG members if master is not attached to OVS. e6dcd07bc2 netdev: Clear auto_classified if netdev reopened with the type specified.- Merging upstream branch-2.17 [RH git: 73fb18f95f] Commit list: 1eedf45e81 system-traffic: Properly stop dangling ping after geneve test. fb8e34bdba conntrack: Fix conntrack multiple new state. af37f41188 python-c-ext: Fix a couple of build warnings. b7d9f76100 python-c-ext: Remove Python 2 support.- Merging upstream branch-2.17 [RH git: 664435a0c0] Commit list: 02fb4bfb87 netdev-offload-dpdk: Setting RSS hash types in RSS action. 8e8fcf7bda lib: Print nw_frag in flow key. 29d8ce1adc ovsdb: Remove extra make target dependency for local-config.5.- Merging upstream branch-2.17 [RH git: 43bbc204f0] Commit list: 13ac0bc7c6 tc: Fix misaligned access while creating pedit actions.- Merging upstream branch-2.17 [RH git: 8edacddc16] Commit list: 2c85d737a4 utilities/bashcomp: Fix incorrect file mode.- Fix REPO_URL [RH git: 3c45153e77]- Merging upstream branch-2.17 [RH git: f530505b5e] Commit list: 05e9d2b7a9 Pmd.at: fix dpcls and dpif configuration test cases.- Merging upstream branch-2.17 [RH git: a51734d307] Commit list: 45ecaa9e57 ovsdb: Add Local_Config schema. Merge: redhat/template.spec.in updated with new files. Signed-off-by: Ilya Maximets - Merging upstream branch-2.17 [RH git: d8e3f49a8c] Commit list: 61d64d3899 dpif-netdev: Fix leak of AVX512 DPIF scratch pad.- Merging upstream branch-2.17 [RH git: f3aee3f437] Commit list: a77ad9693c dpif-netdev: Refactor AVX512 runtime checks. (#2100393)- Merging upstream branch-2.17 [RH git: 7a72e1ae7e] Commit list: ccea7df578 dpif-netdev-extract-avx512: Protect GCC builtin usage. 807f7f994a ovs-tcpdump: Default to OVS_RUNDIR if present. ec13b03ca3 ovsdb: Fix memory leak on error path in ovsdb_file_read__(). 8b2dff2e34 odp-util: Ignore unknown attributes in parse_key_and_mask_to_match(). (#2089331) 13d97f6637 ofproto-dpif: Avoid unneccesary backer revalidation. 9b4035d699 lldp: Fix lldp memory leak. d9351febc2 ipfix: Trigger revalidation if ipfix options changes.- Merging upstream branch-2.17 [RH git: d488a56080] Commit list: 5419b1de93 conntrack: Fix incorrect bit shift while hashing nat range. 1ab5f94a11 packets: Fix misaligned write to MPLS lse. 8e00be03c7 tc: Fix misaligned access to stats and time values. 3a1f5341ca odp-util: Fix unaligned access to tunnel id. 0c54c43b89 ofpbuf: Fix offsetting a NULL pointer in ofpbuf_reserve.- Merging upstream branch-2.17 [RH git: a7a9ad68bb] Commit list: 98edacb40c drop-stats.at: Fix frequent failures of the recursion too deep test. cbc13ce4f7 odp_util: Fix parse_key_and_mask_to_match() vlan parsing.- Merging upstream branch-2.17 [RH git: 8f74cee909] Commit list: 73e6ce4925 Prepare for 2.17.3. 95979b0f0d Set release date for 2.17.2.- Merging upstream branch-2.17 [RH git: 58de71ec1f] Commit list: 250e1a6dd2 ofproto-dpif-xlate: Fix internal CT state for non-recirc traffic. fe870ee072 classifier: Adjust segment boundary to execute prerequisite processing. (#2081773) ec0ec464ba ovs-tcpdump: Fix error when stopping ovs-tcpdump.- Merging upstream branch-2.17 [RH git: 2761ccda9c] Commit list: 420823e2af ofproto-dpif: Fix meter use-after-free. c762da2623 ovs-rcu: Add ovsrcu_barrier. cd9b6b64f4 dpif-netdev: Fix ALB 'rebalance_intvl' max hard limit. 64f6c49d25 dpif-netdev: Fix ALB parameters type mismatch. b11b84ea7f dpdk: Use DPDK 21.11.1 release. d3bf48e9a9 raft: Don't use HMAP_FOR_EACH_SAFE when logging commands.- Merging upstream branch-2.17 [RH git: 97205fb19a] Commit list: e07377bb49 ovsdb: raft: Fix transaction double commit due to lost leadership. (#2046340) 5da86cb360 dynamic-string: Fix undefined behavior due to offsetting null pointer. 369e688908 Revert "odp-util: Always report ODP_FIT_TOO_LITTLE for IGMP." 18341166ed ofproto-dpif-xlate: Fix netdev native tunnel neigh discovery spa. 748e4b2b5b ovs-router: Expose the ovs_router_get_netdev_source_address function. 34390bb35c ofproto-dpif: Trigger revalidation if ct tp changes.- Merging upstream branch-2.17 [RH git: c0dd67b058] Commit list: 1adb07e206 Carefully release NBL in Windows- Merging upstream branch-2.17 [RH git: 5696d42501] Commit list: 1ccaba4484 tests: Properly kill ovsdb test processes. 260b091c2a ovs-save: Get highest ofp version error. 7606bb1210 netdev-linux: Properly access 32-bit aligned rtnl_link_stats64 structs. 0688b9f27d treewide: Avoid offsetting NULL pointers. 92bcf0a823 treewide: Fix invalid bit shift operations.- vhost: fix queue number check when setting inflight FD [RH git: ac46ea1a7e] [ upstream commit 6442c329b9d2ded0f44b27d2016aaba8ba5844c5 ] In function vhost_user_set_inflight_fd, queue number in inflight message is used to access virtqueue. However, queue number could be larger than VHOST_MAX_VRING and cause write OOB as this number will be used to write inflight info in virtqueue structure. This patch checks the queue number to avoid the issue and also make sure virtqueues are allocated before setting inflight information. Fixes: ad0a4ae491fe ("vhost: checkout resubmit inflight information") Reported-by: Wenxiang Qian Signed-off-by: Chenbo Xia Reviewed-by: Maxime Coquelin - vhost: fix FD leak with inflight messages [RH git: c2ac4edf6d] [ upstream commit af74f7db384ed149fe42b21dbd7975f8a54ef227 ] Even if unlikely, a buggy vhost-user master might attach fds to inflight messages. Add checks like for other types of vhost-user messages. Fixes: d87f1a1cb7b6 ("vhost: support inflight info sharing") Signed-off-by: David Marchand Reviewed-by: Maxime Coquelin - Merging upstream branch-2.17 [RH git: acda732382] Commit list: 7fa76371de utilities: Handle dumping packets in GDB TUI. 8cac8baa8f ofproto-dpif-xlate: Remove mirror assert. e0e8f0c546 netdev-dpdk: Fix tx drops statistic for a down netdev. f9b5f8a781 netdev-dpdk: Remove a leftover lock annotation. 4c3976ff2a netdev-dpdk: Refactor the DPDK transmit path.- Merging upstream branch-2.17 [RH git: 9273c90557] Commit list: 410b97c839 netdev-offload-dpdk: Fix ethernet type for VLANs. 7948312feb netdev-offload-dpdk: Use has_vlan match attribute.- Merging upstream branch-2.17 [RH git: 1a8dfc5537] Commit list: 522c46884d python: idl: Raise AttributeError from uuid_to_row.- Merging upstream branch-2.17 [RH git: b306be03b9] Commit list: cb24c524e4 ofproto-dpif-xlate: Clear out vlan flow fields while processing native tunnel. (#393566 2060552) a665b75dec dpif-netdev-avx512: Fix overflow of UINT32_C(1).- Merging upstream branch-2.17 [RH git: 1af56b0e7d] Commit list: 60e7badd6e dpif-netdev-avx512: Fix ubsan shift error in bitmasks. 9cc329ec5b python: Politely handle misuse of table.condition. 0631be2b5a ofproto-xlate: Fix crash when forwarding packet between legacy_l3 tunnels. df97903099 system-traffic: Fix fragment reassembly with L3 L4 protocol information.- Set RTE_ETH_MAXPORTS to 1024 [RH git: 5226ee22e0] (#2077451) Resolves: #2077451- Merging upstream branch-2.17 [RH git: bf2a38bb7b] Commit list: ba159ee0f9 cirrus: Update FreeBSD versions.- redhat: network-scripts are gone in RHEL9 [RH git: a15ee438ad]- Merging upstream branch-2.17 [RH git: 3bd5aec051] Commit list: bd1a3b6b49 Prepare for 2.17.2. 41bb202fb3 Set release date for 2.17.1.- Merging upstream branch-2.17 [RH git: 052159c286] Commit list: 8f42d4f597 NEWS: Highlight libopenvswitch API change caused by UB fixes.- Merging upstream branch-2.17 [RH git: 928136477c] Commit list: 14301b3a3c netdev-offload-tc: Check for ct_state flag combinations that are not offloadable. 3a2eef7927 python: idl: Set cond_changed to true if condition change requested. d05ccf288d dpif-netdev: Fix dp_netdev_get_pmd() function getting correct core_id. 79e291f983 alb.at: Add tests for cross-numa polling. 9c3b74fb24 dpif-netdev: Fix PMD auto load balance with pmd-rxq-isolate. 8580ff9ddd pmd.at: Add tests for multi non-local numa pmds. 6bf4eeddbb dpif-netdev: Fix non-local numa selection for more than two numas. c41434b3b7 dpif-netdev: Fix typo in function name. e0aa5e1329 python: idl: Set cond_changed to false if last id is zero. 8da40d31c7 ofproto-dpif-xlate: Fix NULL pointer dereference in xlate_normal(). 63a903ab42 ofproto/ofproto-dpif: Fix dpif_type for userspace tunnels.- downstream: Enable usdt probes in build [RH git: d7746afd9c] Fixes: BZ1840877- Merging upstream branch-2.17 [RH git: f6beee6395] Commit list: 14d54eb8b6 sset: add SHORT version of SAFE loop macros. f0e63b115f sparse: bump recommended version and include headers. 70b87cf722 idlc: support short version of SAFE macros. 3777ed90c9 rculist: use multi-variable helpers for loop macros. bb52e9bebf hindex: remove the next variable in safe loops. 7d6cbfa24b hindex: use multi-variable iterators. 97ad96b63a cmap: use multi-variable iterators. cd62fda22d hmap: use short version of safe loops if possible. d56bfd7521 hmap: implement UB-safe hmap pop iterator. e2c8354861 hmap: use multi-variable helpers for hmap loops. 897d6647e6 list: use short version of safe loops if possible. 979a9eb5b5 list: use multi-variable helpers for list loops. 6bacf802c6 util: add helpers to overload SAFE macro. f127123d66 util: add safe multi-variable iterators. 38e73f0b68 util: add multi-variable loop iterator macros.- Merging upstream branch-2.17 [RH git: 19d425fcfb] Commit list: e91edf4568 ovsdb: raft: Fix inability to read the database with DNS host names. (#2055097) 2404d45367 system-traffic.at: Fix flaky DNAT load balancing test. 6b8adfdd8d dpif-netdev: Keep orig_in_port as a field of the flow. 6098b7f250 tests: Fix incorrect usage of OVS_WAIT_UNTIL. cf9018d373 odp-util: Fix output for tc to be equal to kernel. 992de24063 netdev-offload-tc: Fix IP and port ranges in flower returns. 7e26796c03 netdev-offload-tc: Fix use of ICMP values instead of masks defines. e319e27064 netdev-offload-tc: Always include conntrack information to tc. 51ef81ad78 netdev-offload-tc: Check for valid netdev ifindex in flow_put. 974253dc2e netdev-offload-tc: Set the correct VLAN_VID and VLAN_PCP masks. c43c159aea netdev-offload-tc: Add debug logs on tc rule verify failures. d34622a03b tc: Keep header rewrite actions order. 5255713d1f faq: Update OVS/DPDK version table for OVS 2.15/2.16 05cf36a620 system-dpdk: Fix mfex autovalidator tests. 87540e3b9f ofp-prop: Silence the 'may be uninitialized' warning. 812164adef tests: Ignore log about failing to set NETLINK_EXT_ACK. ae51ccc12c ovsdb-cluster.at: Avoid test failures due to different hashing. f33cde23c7 ofproto: Use xlate map for uuid lookups. 6ac255496c ofproto: Add refcount to ofproto to fix ofproto use-after-free. db0cc8be38 ofproto-dpif: Trigger revalidation when ipfix config set. 31b86e5c98 conntrack: Prefer dst port range during unique tuple search. b761b532c3 conntrack: Select correct sport range for well-known origin sport. 78bd058c36 ipsec: StrongSwan report connection update failures to ovs logs. aa05596dfb ipsec: Libreswan report connection failures to ovs logs. 427776ceae system-tso: Skip encap tests when userspace TSO is enabled. 66d16e2883 tc: Fix stats byte count on fragmented packets. b63c41f31f compat: Add gen_stats include to define tc hw stats. c531b3828f ovsdb: raft: Fix inability to join the cluster after interrupted attempt. (#2033514) 498cedc483 reconnect: Fix broken inactivity probe if there is no other reason to wake up. 5dc1423d80 datapath-windows: Fix NXM_OF_IP_TOS issue 91c0f0068d Prepare for 2.17.1.- redhat: fix setup on RHEL8 [RH git: 03255d5ae3]- redhat: Imported Red Hat build files. [RH git: 4b0e1204d4] !!#$%&''))++-.//123455789::<=>?@ABCDEFGHIIKKMNOOQRSSUUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|2.17.0-169.el8s2.17.0-169.el8s2.17.0-169.el8s2.17.102.17.10    .build-id0e150ba28e40bc4b679b8895fd690a0202210bb5ovsovs-2.17.10-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdaemon.cpython-36.opt-1.pycdaemon.cpython-36.pycdirs.cpython-36.opt-1.pycdirs.cpython-36.pycfatal_signal.cpython-36.opt-1.pycfatal_signal.cpython-36.pycfcntl_win.cpython-36.opt-1.pycfcntl_win.cpython-36.pycjson.cpython-36.opt-1.pycjson.cpython-36.pycjsonrpc.cpython-36.opt-1.pycjsonrpc.cpython-36.pycovsuuid.cpython-36.opt-1.pycovsuuid.cpython-36.pycpoller.cpython-36.opt-1.pycpoller.cpython-36.pycprocess.cpython-36.opt-1.pycprocess.cpython-36.pycreconnect.cpython-36.opt-1.pycreconnect.cpython-36.pycsocket_util.cpython-36.opt-1.pycsocket_util.cpython-36.pycstream.cpython-36.opt-1.pycstream.cpython-36.pyctimeval.cpython-36.opt-1.pyctimeval.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycversion.cpython-36.opt-1.pycversion.cpython-36.pycvlog.cpython-36.opt-1.pycvlog.cpython-36.pycwinutils.cpython-36.opt-1.pycwinutils.cpython-36.pyc_json.cpython-36m-aarch64-linux-gnu.socompat__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycsortedcontainers__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycsorteddict.cpython-36.opt-1.pycsorteddict.cpython-36.pycsortedlist.cpython-36.opt-1.pycsortedlist.cpython-36.pycsortedset.cpython-36.opt-1.pycsortedset.cpython-36.pycsorteddict.pysortedlist.pysortedset.pydaemon.pydb__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyccustom_index.cpython-36.opt-1.pyccustom_index.cpython-36.pycdata.cpython-36.opt-1.pycdata.cpython-36.pycerror.cpython-36.opt-1.pycerror.cpython-36.pycidl.cpython-36.opt-1.pycidl.cpython-36.pycparser.cpython-36.opt-1.pycparser.cpython-36.pycschema.cpython-36.opt-1.pycschema.cpython-36.pyctypes.cpython-36.opt-1.pyctypes.cpython-36.pyccustom_index.pydata.pyerror.pyidl.pyparser.pyschema.pytypes.pydirs.pyfatal_signal.pyfcntl_win.pyjson.pyjsonrpc.pyovsuuid.pypoller.pyprocess.pyreconnect.pysocket_util.pystream.pytimeval.pyunixctl__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycclient.cpython-36.opt-1.pycclient.cpython-36.pycserver.cpython-36.opt-1.pycserver.cpython-36.pycclient.pyserver.pyutil.pyversion.pyvlog.pywinutils.pypython3-openvswitch2.17LICENSE/usr/lib//usr/lib/.build-id//usr/lib/.build-id/0e//usr/lib64/python3.6/site-packages//usr/lib64/python3.6/site-packages/ovs-2.17.10-py3.6.egg-info//usr/lib64/python3.6/site-packages/ovs//usr/lib64/python3.6/site-packages/ovs/__pycache__//usr/lib64/python3.6/site-packages/ovs/compat//usr/lib64/python3.6/site-packages/ovs/compat/__pycache__//usr/lib64/python3.6/site-packages/ovs/compat/sortedcontainers//usr/lib64/python3.6/site-packages/ovs/compat/sortedcontainers/__pycache__//usr/lib64/python3.6/site-packages/ovs/db//usr/lib64/python3.6/site-packages/ovs/db/__pycache__//usr/lib64/python3.6/site-packages/ovs/unixctl//usr/lib64/python3.6/site-packages/ovs/unixctl/__pycache__//usr/share/doc//usr/share/doc/python3-openvswitch2.17/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2aarch64-redhat-linux-gnudirectoryASCII textpython 3.6 byte-compiledELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0e150ba28e40bc4b679b8895fd690a0202210bb5, strippedemptyPython script, ASCII text executable  !"#$%&'(23456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr PPR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRRRRRRRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R utf-8ad1fda67f8b1471fcb6ec7320e08e85c9dc32a242e3367e7de014f8ea67cb505?@7zXZ !#,[ ] b2u jӫ`(y0яt=cyV*T:g1ں{BΜzsGrfaHoXuBgCo\*D_DqU_"LbդG폗FO9bٸ/1,$Fз\+oa _H!,)-fR3̋0E,YY({?fk_rFȐEBvЧ5P+jp;T\`F༭֓)`dv3瓚/i_lz5dHb7cE HDTd)ې/%$;jW'邉.?B PaBlHBʋED1:0 :K4\q3 Zhc~tBi +|#I86IJ<)&NU" @Gd zuC:<0^6[wgb_(h7&Z>5,wG+?iH4 $w @0YbԎh Fs25P Ic"ȱKb]FT*d=aD/%`P3WqTf+r6#b*hlc%iAmqmfֆg0D)5Gk:kN))ֱâ[=w>ȉ'53.r/8.t nlGѴ~މX(yFd% FeAf(w5t;}zZh|x5fx"$vT(j#W nAj)~K5ʳdKћG׽-G]W]\!`⿜Ϲ_8<)v\wuFv ߳߬2j)mxQWZzW";AbKESO@A`{7uB4|5/0yR0~bI!f?]A7hI9->[M 4.Ni_ ZnQd~m%A\5 e^ IQ,jBP1:,T,^-_w {u3_V4gU%Mc<7ʺoZOp/7:~~^}ڍf4lUR,ނ6(@fH|E6m;UDR,7oidK;Ǵ_ӓI1|xap.#=yq}ڟ1a9h%2Y"4ޡ DHggƬJQwN&cq`. |Q1BE!V.kG,P =*bu7C]]Q{K* #W첉sXo3YEݲ2 kkȭ79\k9~ǰ=+W?5}Y(x[9X^JnZIpfF2 Y:2 p4S=mI)lvs ;AC_K|PrBtL_O "v-Aњ X`Ma7<[p3ox0czDCt>qb?N>Zn>k_9%rJlweB )vuаy^q8'x`z4h$=dgbL-.zȯ I><O=s_]ZK|ݝX$4pnݬT>zۢ&)|o,bҠ_d|`cډT C[S&m) c.'-gV};֌|QR)@Tt^!jLcomݷ"hyh>*XxM[inHEhqի*_ja`XW5*+[Х{s?6C=⏚߻kim =baeY=@a6uI1w' ɫ)PŠ }H+)%ݠ2}4+5Rb3RT'\lJ?tWM+t^w/GKi jAxŵPOR!>m_:gyĥǖ c[$9h$nBfY?QB:oH^r7|ã2WPtZ)s=`5bE^@嘈D\P5o58ifLo. Q/2SM5b V!z`&^yX\7P khێt4 Kt#$S%a˜M'㬢.Ţﯺ-*y =PA).%Lw־ʷ${h5ո Ŕ@ԁ{'-p(TA}Ξݠj PO%(N4bp#ij'P|!#Tܺhm s#LGq醋BKsqlծ~~)AL8fE#Wj#!^-AuJypC" gJEpbMV ecZT)LN36\ݛVˉ+ƐfQ.!oyuŘCT~?4j8Zs;?Bʙ@7tsdV$q&L\6'&h=NrH07B&Mjn$t0Y % ,xL+jE$3McU ny V/E)ULJn1*JOFaϷܽ'3gr8UvpCOo`pZv Bo-l -0u0T!? $VI}V:W)-DOiU(!gRy>mzmtFԪ ig߅܈yp+y9{ӤƋRtyf-=n9u5r x@R(7HlE=5we2T9,rc'o~3ΦNRf@jCxrb{9|b@\Bh,C.I9G{yvr)důUw";h;fUBM ʭHH %FZ#ʷ{RpGV[Ar9;R6$Z};o䓊7u~dL9{}T7bk *h|(ٺbzGToLO <ʦ }B-ce7=4^Y,˴YeWW}&ԀS8%57-}PWѺM٥nMEm08,SJ8+6o)נϦg.+oHf>b-J|۞r*/^*& V1r-r0nħ#X`˔$VELxR']~'W/5liV:v|mIQ/}+~8?> s8ƷLնZrFdgw;iLr-M:Β;,oAs_tK)S0)0 Wk4[6tg)x&s+7 اuɴ1ګp0=yQ2e|'%G Մ$Tw+595 eؼ ww% K˒*R=z¨8,m*ԓws#:gG'y .hy K>OFwIidz0š$ zK,izOALĵ_f:^JME;`Gm0ofK3_c߲r?[)̺ƯɎ%Fnᢱe  ~)˚k@/!K'h@ӕż:41yEsܓ>(ߒ>d; ^,#}P|G6- ŹM eHg)]6Q=_CnpY,Qm4~]BhWᑪE~5 eIUKz4 .2wBW"6 I, 8rD`M_xh{fW3` Mu <;fHq7iN̻nOD|Q(JuW&մ0`]s|gy:$ ӊ?;lޠ2'JBc{{KEuPysf"+d75PNsda8qȻO'o?ZdbYf%Ch䴡p/[A&۶}S $Mu;tO6DוJ7>Ӗ5;{ԯ<$iMBe,- O+waI fJ%$WO;L {msbBC4χɹm?z5LR5EPC?#_Hhnz^^F!QʤR+entJ82j593uEڿ!fb-ghO8S.qL?>4RzB&c.=Y']M @~gcd^Ko4/\=w !VFNo-X^nfR6Z!@v,ܺ8}no3CLDFurѽ|QS:4bY"Wb}XZXyv3أ=bnKdrA; 칮!?skZW&Qh$`S'@KdރvOn N+72z !,bq&OkxIuzi{lr6cngs†hU:\1B^T 8₅Ij?P:[kh+Y55;n?UO^σ*U]2g䓁 #{_XHשR w{> 0߳,1glc6|SEM ubО,pp%ڀߥA*o$#m/y$Ns 6G*qJEIf>6Y>{]^=m/{H-TwE/ z__0g'9#[W#Sc /1  4#jXt*)_@Dըv_ΜI1R ZE"~/hۮAB0EIZxk0^.ۍ+@iFDV<nnS{zZ终w29AߓSAa,=dG&X\\BǗ/k5SqҮ'KJ8eZɩq3oa\]pF~[y`?z('Zzq4-Yh uu-Qp,q*D%.'8^͟RZR\i7Ćmx=owA첥G |un!r+B'?AhiJ֮@ߎ]/1[bO1׮ܞ~uM&EMޣ( 8P,FGӋgFK϶ &;oQ#{als,^p!WB|Z#/jl1bcdVhv~"HPz+\IK2E-/%%}&g`m]W!BfIյ͍%sWOW'VlBժ;eڔpgY*Tr1sW ]D&^J$] d dJVHIG0[~7-4ԾCkor۔|M kJgz;6ktIDTJ?tZHv_48&)*:pk,%ĿE,h ^-q1q*-:Ei`YJ+I ݩeSXx,9U-y)kq X[v6ɉQᜪ$]]9aPtw*&-  K"S+hb^3+G{uʋZ*[qf3φfchzJ\(qx̑@Gw'9oSܧF*'WryjX~q$R܆0 7/#E;J7r3׺c-jwtd31*yK''՛Xt8qt+}A;)x8JyUE>wD ~3:7DLogMU~|.çǎ%졾jt5v>oU C8قI^m<;gj__ M%Qi\H3e ʚ$\M.xׇ(t :tz1|yu$W='(KCMaqh _5!kRrmh60 WxEմ*S J"/P DTrnҙc`P!`Ӈ20Yٿ!BSPK4r_ K|X^F|=_׋uf> <a @ .OG8#/+~T>'UD L;!%؂3)#Fࣦ1< ?HʀkW`#t4_K`m`A#왹9hq53'%(\o}mi mq@{eVU;)!dqH p6vt=l~3b/8 ]U#qAO>72:2F~Z؛'jpyIw;Rr [ܹNY7SG'k Oܭ{u~l8k3SHNȾNwfTVVwDqd)`d6Co@ =v!sַb@,}R}CknA5}t fuFLa43R7>m5ի(xcuz^s$^VSb FU"Wj0#u\|mZ+l YɆKᔻFK"},.'*X e24K1^--d&Y޵ S0;iP;sx'?CڈYUk{J1씚ȐtܐRi3vx8F7OĞʍ tO`1Zcs, {4k*\ަk'%ϚCV7KM &Ӄ V7: iɧZ]VE /w#lѤu>ksb@J)!w'?u8є~ ?c2? gQ;酖VX !tRӿRk|P2 ž|]<od}\DrR*fŏV2[MW=xP32|K-Dkt\IQto}ɜ W bJ! RėR!Q=I#S4j+oĸ:@1@nm "N;4e4=)70=<>maMIk]AЄ"H­6ZtvnY=4~WzGUVa}SsNV5 ݱEP%F.=h?/­Do-x6:n/Z/zl5>7uR!M(ǽG鼃='V`D!`2C^ M+"{,^ۏhçhꝂ$두6~UN{2N&٪';!(#:ղ->YOkp2h-x=t X %8J_S!>ޘd׈ƣو9gabL=L?'Svbnqi=螎qY\^ u†sIxP>w¯8 SNI}VLㇾH=' xlLpŵL ,舆3Oe|))oVrBFc)9u[k3ME,!;3\ν1@j( U{騤"/.b[YBX& L5)yvaz?p@G>2A+1+j,;\Cڱ췫x ZciR&Wv{t\{E/׺U4X\bUq;]ķR uiSqy$#`)/*KkDR [4U:E\b4J&@z>{32SJK_geh+2bgi@nǂbWc/cM %K8\1Uo׮_Nr"l.4IvM7i  )~-[!j8MwR'fz1dSJfqQE1d\JΘE]Yt1gvcm|A᳹ø=wo/F1lgꍏ_>%7[dD"u5[P(X㘺p@Y74K)bMvz}hf MuI3&!\ePu-a/I |_n-W"井m( K+KvG&k.v|hUV/E8~778YP%(@ejV0V,mN᪎en ĝ1L{_)5J;.Dȷ"r?1ǹ{ހM6ʡ^ҵW:?͂82iδT4_ġ`,Y+V;dCa @#T#t#fK%My6(0FޘYk3 uېm_wBU1 0Δ֌/PhL]I\m6Gf8 00Xt9;Cp ΙGh[Lv969\j-WOt5@hgom(e͡/X|x ,Mh]][sGP`6K}P5H|4jHY"ߴսIp.y/w']hP3nGKP|߹%EWvʯP{7iȰv,T: ?)z Ol}ˊJgLnNي2'WrFD.p| _vu"\<J.#K LS(r}8@MZ(/1M{E 5}s#1)=]1hq_H?% pk268V@Ўk*O~C0B0&2M7F/6Al5uK("RMX1cܻN0{I.|J٬.~o :75wr)+'r7=HŒ~5v%-~c I&,[PA/VOݍMK~Jv8ѣp>/o*YiDUjaλӊpuG,,a#V(IMIR yd`k-;6ɹwA|ɛ=u 4UyCat$"|Ҧs Ϝ^DQޕgsGLu+ v=Hg~)_3WzP]IK0Cf+.3'Hq ZСU[|{ڶAŢvUQ?G?^RP=672˸Բ = E[=_8!.~K_Yr"j*R"+'E_.cwPM0Omsm'(xm> B[W'},//qgf0o({[d|,,L/tBt qz4J}ATaܯ$bҶ\ C14J;N›B8”ihǼlwo+ >tYkQ\εNQ8R(s-h_i92C F,2T/Ci_)$Z)}x-Y.*@sWd`))X$z!פkXP `kP/lm@&'d\aP t(,l?opk`RtR:yt^gfWw+õ%}kjy=g 3nl՘dt[t.<_z!N|$ eH9 #`FS)BP^ky]ha6LRuAAq$ aj< eAwo~458`N48ӸqER9J}V:ctr/Ecb;]K[ (`xw woHOp ً |<$y< J#~1^Tru'mW` LEPfCv _? ̵R~ Axwh>E )].HpeI ֗p1!l;1:c|؆kddn`I d?#e&V|1sNun( z쿰 YV X UT,қT$݃8K LȂT%ͦoaQ,(On.cduħh7!Z~Sa)o _(w5|e=qxqT"X B뢠1zt  Z4ro5ˠϞ t C?ᦣ%GN 3\1Q3my8_RBO>^CM-yK %?@e$q8r{3 is9-EH Yš꟩pz7p%-GGր_sDOhұ7T.$M1cR]n/ceVlw/ <b\9a=VKuoZV%w{"yxZ/kG'QVJx|vZ|_Qmau\E ^rۈ-ĂݸVEQ kuKF_.XX )@0mcP&!'ZD&3ʄeu١ˈʿY8^J6{g1[8_!t@^,Ԁ(ZIˇ:K֣:#QÙջKW91ie%O]r=f:er=g 4F֍djKհg0/4^j2GhmK@1wa# 2>[.pиhc{Tm 2~.êw}/Ju!+uwhVNF7`:%4L[聥"*%|Dcsܐc+:j6[/Ի,fܼи/j"lJL}؄OB-դhWGR@muT.<&J~l:hw󃍝aVi/{âg+8g_vD RWɉ3r@r>^>!r/LTݢ]h$*ҨO=3U*lv-;5TBsҺMOIEm:J&}OoSg A$DܙIZ#]L6J9O@5U]d#{mv,γWv7&+݌ BJ;@l}F>.^j$K|㞑 |Պb{gu:FXr=u֒h ԤVm@̰;W̯ T 4cTjh|7,MVG*}.EmΔ؂ wEUr!T4-)nslMi_ 9vk=:{fUR=MS$te-0 XbXvbr|T3_UKlJ ǰ p:X[|R~hULbt&_/ܰLFkMax@~$*ﳵcYMiTUd]“y }s'~A}i;/K./y܏vDc/~$iE_t`fx׭,xIĹ$L1@\C82:{!$~cL/PūhLӧ߰k.?lʱ,Ά)}qvS3:>|dPIihKn[FW JO5k|RPg5SbfZ'(w]sbdܛ]5ìAVj Ygfq/yx^V,qg̩jd|#Dϊ^l(_kܶ]y.u3>J2~e&<+ a0|ܒ^[& 둯3C6>J\?6.A:t"Lxs\|? sũ[vJLZ?@'6^WwA %AO9,Yr]5 *@+d"6+"-43O|kB;\g6ѿ[7Gd*ϑ俠P<^|erwR3+O04mt1 ȗ(٨bX1:o$ ⵨-Hu}!=7]=KHUi|wOjEV] g=Ka([py.?`3tKNBeG }R\ǷLebж7a#+X@&68dUP]Ž ޸=r2oK0ިBc߾ށRIdDSU+ QWe|+`$WL`&\CVY9:`gSvRqX0}z.5~Mk&$q @K =Su3Z}kψDT˹T+ )OTHZ1W@|;!>T'`40ZA C'8ⓃS8V t3 \@UVN m\J,\E 3=.,$예\Ya  5o֔r]wi2LEfXnll2nEL7qIi2R蚆Ώo- Tܾd1U3Us)C+EV4h/ zyFŵ˪9MF/%hϚ9Pf݂&ZX}Ϣ†F.*@N?:^ Wrd7qИE>*c\D$N램MVgrKۏf]\y;W[4^p!r3j n(0xnWk-p~8,9 S- [7:(q3=OE:jcatVܷk6H. \OJuG:wH3(ܚA/1»tW#(LHCBd& ( NdC n ;M4-6X^bF̵,*$[W"MzjF?q/9LeB\tB ߅zpP!Iǵ |dK]#X <%E "_?C2q2k1k$^9MPI--9T{6zI2,ߊBAck~!2bڣ9Vjfa刔Et$ !̫JZ~>Yϥ]Vv[AY ˺$ϭvs i-mdemTJ.1Ï7"% 0NjP35g۽+U+HBe:zej!*Pɝ]'|)$2/(qC 'D#=Y߅lȈF-W=}5}Bd+5rz= k0%>-p;6K8U| :55%(A}Wtp_ dA .1}U-W~M-=JY&v{Z #:ю&}/8 ,r&WX/K\P 9w5Q_^Jl#_ⅸ+Pi0Mc#E"ϻEB7$]>8 LH _  IOYTB]F#p5N~B VٮXπ ew&\',YCô6ٹ34D67>4oaF߶DIѴ $GJņrVm6MΎa A |SȚ+1\D7W}c<΁检ք5>Lm7C}k Z eAm9QJI xSF?hy*8L_-(6?Ov5j%tNΨj{"> Q<("> FwlD@(6 }| `}]7gDf;/6_$pwd14k }Z7%Du T-'Qy-Aw(HJبң,A53W9En!U=}@Z6!>ջٵsgco|7K(Qd%k:8 M;ƂtE03KeUGFd[.zg\eYJ]:e<͊օ/ ++ӽJfH%>XIW-J'&C݇Zٍ6 m|8[z/ ߱7c6Y~l (ӻ7TTg"2Faʄ56J,@J;8V!ɏ[P2eYӓrw* JwFMMVWϞLaᮅn!5{֔(]' E뚃SXꑑTĵ}*hQW7d4\+2З5~~q4H"8{SS ߓ~׵D''?xNaT2E|@&h:HEcX>>+Y;Л.ioIG3+b-k0X\ , SCl%3\́xXj$uZq#f}I K'g|`yb8+F]]_aꣳt6!@dy))r\$']~ɮpQdR[?;)@n-L*aM٬Ţ&?IQrzEBU:A:!C{'GKAB(B6#C~ɹg,!A6WzW擣<^L|e6\0(;jxk-Yx WI8;څ!s{ݻ2 q\ϫj=E)Xjv|wb|"Ȟsp; .QQǷMɝSd ҡ7즴I ةՋ z-Onv/vz!QkיY])PpjȦMpiY&b.D/["PnlJֈ*Hװɹ(>z?ܟ:ڟ\忚qc7;Us/%dV!2,P*ΞG#%}f͆E{oƎ@[a۝̥Z(,6չzFÕMc9n,Q魆72WRIz̨.)Aab;eзD){S&ܗoYW C' >^XNM~^[K?5mFmڔM{6.ܳNNkrN,sJ߾8B,nt|Q )|>4zL f`;il#s(23x 5¯ubh;f*=+ f,(m/X;w]OCqV6~vR/A: z^oS!\L$ őDFފUx7^ %%μGHOc7qmhH$,hB/L҃|/^ntwM Y#A(Jo 7tŀ*RC1N\Z/MuE pN5qnuE8{r!Lh)I:/HgTFԡzFLVY;}G+j ,u-1«@B`{r$X6DZcX8dnn5i iW|bd,^xh k :A󓛩aށvy.I8u4G|X#[E [_)h(q%sp7%@c?Ep p2vV"sw9t25#A!Z ;I #ˡ '8U@FZ!ex_jUY(X0QL18[D21α;'DiCyC3qRmTi .>*[CmHE'qIRG{פEִ(8Z>b'Gq <3M_xzd!=*Wq?Y0 /Oi󉥎o>ڢTD@{L$l]u8aV#pTjAPJd0*쏋e'\eumv ^uEcQ̽Ƕ[\9xM퉪e?&$3.ISGҁX|!~C>60 zP5byBfph]g>s!'|y!Ɓyu6 Ym^L唭ܩ,!.HXkswHydžretF ;PwB0[_󊏖p+l>+y&=JMq>S-Ri|}V3cTٽ[8Û.71Y)Vl @hMR9M-J+ѵSL/%e֨R/WٶMUck`'v(6a Dox@p]/3dM;:ζ$΢jla@͍Y%kDaAMa>%j=eTPo]o">k/`+5ckXewA %PP5|*%q4AKNI]NZea' the,9~N==:H4D?S!N "fϓB6@gXnה?/] iFVCcRdmy୎jhl@اVHUzOQjf{Q'wCȀ(&Ӽ'1}_]5F`V<fc}^Aj&au|xİQ^ck7uB^lDx ml?0,Z\N nd4@aI,7)W#BheMv+{GeØD_FWyWSIrA.~AMg#e37Ӄ<˜Dv7ZՍpR [i皉A  wMY4cIDN}.aq!''$2ƕb#hOک"y=J:n=%ZVs/BWq,b=0k'+@-t;:[$]Mɣ8Q7%TY>e&̛ؓOQr}r/>0I[aZˆY4Tav+'¬O[G&e\J]/4}/B fuvaѼwp#z5UGRp˹]xB1r庋Uɪ> z*pfKLm2y fTۿϣke<dUң[&u[ĎBp) cɧy^S>!/zI9W*WOUɴ5m;>!g|%-.uY  xY BÆh\ NžfƲTEwM#Co Z:$;E|nȌTqX:!; fتY;ƱdT04z.I'QA귢|fTC·Sr"(Kx;KcD|?_-mk $zZrWm8<\v]Ya]f]  KF0hgzݟ\hN4/Oi[ ZPg'Qԣ*jt))ݮk@?YVzc TïsRy ѷ9561"@o_~1D|cԝOcC~s0dY͛#=Gz'He}a@iԜ稲|ލ#M9m${?7$s4lrSa&׊.hn&8D%ahzc]L%h ?hܺ!bkMX+pԞ(DO5n&tGܺ}B /N}kb*j2W ] {e~z Mb,y۷F"9΂o3u%s8yߍa>9=0z8-Ŕzgm @-O*K|s674?-t ܎彜Sф~JbjAF̬A0Zdվ"' ct޽Ԅ^HeEFzwL^䨻JKvy ':0"׋ﴱK}Rfe|Zza8зFBS|ѳ6y$Ō~.4G b-8|]gIK7)! t iUO82$Q5JQZfstf━6̧E͊9gJ4 dMn;住C$^lë|ƶ6p(sOb6;kƹ 8@!( / I/>1W~S\a~2qVJ0oW~k껍Sf/]̞IԍW>'`7wεl\vy?Sq-sc)` 8<*TaK3 zLb)*7ܢF+,a\/5B'ߟكS )H3 冹.KZK0g֌.\HM@r 6;pI;Ȼ >}= -&joTM蓓.BC:: ᑅœ f 83/3 LkYJ' 8KreE|~EBzx@%C2SC+U`AX0}7Tibl GK '텈)kRJsܼHR lT}&x"@Ig 3+hsq%#F 4  @$՞([dxQ%nV&cC/mFf 0:9T'FhqCU۬TTg3璮N-DPG܄ qq`~,r.(ÿP;ΈvKV_n.1jr(l&G{!}41#]|ŝO3v's􃥃sFcd!Fͭg.;c%Vo.K,X!:&!"ZD΅x)qD&M7ݡ@ϔA4fIR~kxaqn%$K:)51a[5!я؅lJ vB'c oC +Hʩ;]W _wa:r3;SJmi%Vb [c(O;R\K{^'\$,~km'=fЏ㚓Znښ:Ro!ںx9PVѧ'BO>D"4 h6Rv G&@z"#n)mr?z!2{ph#h%;.%,!W[Yk藣y'vNY}Z5squH:Ձ0ćS %jw#Xe|d|yTy.`ZZϞæ3"+%iWq !  s,8%.! t&gEo5e} L$ip֝A*1VF.Pķ?rDZ ݒB=SIgq ǿc7!59-5X=>iu& fm\1XQzy`44nkV0M:OzEG v]1[4tr={x-ﯳ9Y!Um.>HC %vB6):PP^z`q #!6=Uݢݺ>h5rB7ZvJ)߬`\G?o8Fg `M*~27kK7#)m)3Z0jo8/kB+;܃➁}{|lIS/D'La}.>-̨8K Kl3@Mj6-bz/fqކ/pONkG D.pw - S.H ju8!e PJ=1Vj*-~TgcnRQ$-gbCN?H+UV'ßyPU Y?vHiruS/vYORAY9.z|bf:7r%~Ǒd%|Gt*P竔B;LvʀMM ddEҫ [J ߔg&n1Y6>転$՝* ]N;bfe`"D;Td} ECJpһ\gD.|9ݼ1ؗл4q B:M9G6 "_UIec'p%v@Ha*Ж.ƻ0pF:b^Uzln)`inOsr:0?V sKS#^\RfvNđ090x ~ E.5?{%'$1l"(ݗQp9ƻ!Ʌ:zAdKʝbQLI$-soYwe ?,:oC`" q5&юR晲-tК '#yLlТ{\j *XFd3=Zn$Rؘ=)xh)-SbjOG\R;YY/ˆ-dcȚw[0yQ[(KO"lo325~Hb9J V~۞=~.V*ryI15J0!:&.16 ÈWLo3Ii^ꆩ8, fV[N) &fHx$@+GUg DxۜI)LQ]FɪynQ v0Dgv_m, PJ>A9zo5뷗 6RH&<*6HN7\җ\>?ϛz|LܲZ[wv9xi$j : {= gJe{@t$_ʽֶ = 4o5UK`K ,Z.D Ms¤erÎ%"H\)n-I)VZNYԆFxNUkXQwe VIXEez[Ml{"e|FleN# ʤpJ~F!b?s~Ƣ\=Y#snӼDz^lr K8i1H^o 3<-"5*VFcu?EFT#N2 g?ϛ܃2F-V d2a-fjѻƏhaseOm(Z{.aLj&#ٿų-72U?0&3IʵV .R^~bM},E.jAMxmPhX8Pҹ"I"Ro̩m9a &˒3ܗ[<}(17%qNy?T$0b/kNH)ȿR}*-99rؼ@9Fa8Mpڇ -UڒzeYG)_۸ͩh@e` /L4Ng끇̾*F+<%9*Y2 7X#KiR~/6S0s's@72a46jF郡պ; N_ٿCfSB|O)=W(RYBX>,t|ӫ1߼w2y0 "ޑt}54 SQWSZ!tksg | :zF}_ Z=\)3wA} ŒpuyӨt F,y`X VxoK.?b|)z+*_ ]STZ<%ohȿt3d:rZf 2J [KjGn$C(̈P+L}KģJ(鲒Le*rҸ|1+;vy pp c~ 9 ףB]܋<fUrkҬ38P .rL >Pp $P`2q<CgPBĐExn 5O oYfQK OcXAq闵onyEu Hb K a42kRVE0SV% d)bcͰVs[.7S1\٥jV[{oWw{i/'w/OUO/{Ä4 iNkf 4d6ɊzZMP@=9!S#:t~޶ȰI`p*%5/gX #:Rɖw=}ɥ]xooZRx44. P\K`Ts*u# 2~ߴto@UKլ`|9Gxx/\Wa a#CqEAErh(WF͗ xsp0nXYV SLe61݅D0!I;4L^(z`X1n &/i]Shs9]짵m;٧-? ̉)y;$A80d$0]:y c6D6;{cרQbrtxPAIvp٬/YB {frsJVJ!uheMZa'ZYV|5sN~j8za2<jASEϐVв?"F0~w1zWF/n~(%5mGm6wJiq͠a}nJ;Э;POn|!%G = ^'OipArTu/3S / > /"e2'{ְ*kj|٤w ClHQ8ǽr߶i9~̯GU130nry6|js錐 ;l }+pk^qOcӰ TGA8!nԉYֹJ ovGPi]Rf=aW*Fl߁<٤_S9vB15shDA?hPTQ BE*m fB$=˝]&VI|>J)W.[2[WDk'آAqd*ۄxk a4 ґUqDQA\2E̎I;/cĠJx^BYcޚO=3ي])t3fN'^O(B7lirD/)'6Y)L9[@t#Ho^N@ zҮ.b1$Q$ML#htlߚ>L=&B\3_|N:f"* }W ir8EǦ^]2/O(iJZ띙Ai_@?5(YQ[ Dw{qLYf,v8Ǹrc8MZM8IJϴǃ4D5[,ݰS2)y`fe4c|N9I׻,9G^K)kg$Fz^4;xyCG*0F`CuWީC}1~hzo:d  kxFږ_vD KR78s4ܖc1+I8W÷ILFrz rLд }`2*myZggrz.td geYڨ|/SEK?T^;Q} ;W|I-gD4zZ`gٌdH.Cm,{82((h07:iC|Q0e} mD(|b>ܥ<$=hgN dV0ZR&^<>tKN^:{:ə/XA SYD+>QN!#w?!sabdS0=J)v"?"U{ ӥYҩH羫Yh[Wm$N9jX2mg_W/ U,yȢxt*_;H7g Luql{G5bG+vQ O 79x =Dm>F]:}#,SULq~~b-qS ?R-Y%T:s+ G3V4% <TKPO4HɖX-ebCEhMm~e̱vs.$y ͒'vj_,HC`{8B`i,>Tñ<fB>'nuN 藥hTyŚ3EzwO?,O.ܜJժRFK|Tfi+6`eO MˡUmy4$Pmd!ؒ#vFQϼ j% M"9IΈ٪ѼS0p"a|1n w~ODF:ڰ5È'eظ?y;f9B{`[uv堧2 9CjK!iBR^1wU- ɀjZc!b vn~XM݇Eڏ^9])++B |$x]8W&,2;AN:;ETi.*'OS}  sFm E )A=4¦=Qs-3"Q˨nI2aBQ /pKLjPb>8ڒN3C/ T3=r!vY$L dV#pC^ g< #bfEVGڵ7 w%1x{av6}ؓϥqRK.%z5 <Y{qVpy= ɡg~M؄ K1~IfG 8!fHyk+" *2YcMګ&aA=B腞14$M)tʆhq:ܺr&J%?ϙQ l-}'Z^k*;9LCiQ`0p t ?9̘VNC[pDr0((ć͇ԟ! iS7zZ"új ix$yv Μ){lE@ų ?jvҫ t!)_/*mݟy_z脇QܑR;Q`vf|S%iVo2[۫Z7l-Ɇg1Yq\%v28EMD5ID ׿DE3͛ty-e!A|.ک!҅%SC 46JqBNNB.(l Q/,E5w|ΫXpLB୚UDZSIa6?ɖt5/'e[ ?_ yO>6Vg: ]e2T羵UD]zꏛ&ZJj8u%u0" X7on{my "nSUk 4l/fC)s&f~I4v3zd}#53w骰PF&4!VyRXt9<{Joк~}8:Fʰ !rkOb.=.p&_h&2*cNo}Ĺj(lA_4,߁wsPg:hgK*/;WrOy;QhUZ5ףs22^cߒP_G(g ߎccVet]_+ԊBeqlTh;uo@<4*Ag/sdYLR'zbYby#YDy<*Ϙ[Q/?cd;]\|w45Q߷j.$6ǧ&9AK4߱~Wy+eo}]={N@DX;nNmR$h[JQ0Kti{JeNVF ֭g>V' tfuYt)zS QFW喇eN iтXÜ=Ҷ|CF.g)&_=ٌM7dHW_{hOPr7̮G_H4~z"e?mkx3Ţ 11 [2f84x4ے,{4pjjW sG2Gucj@&N"ɢa #(8k8y;C K%mJ~Ǩɒ+/7*#PT?nӐ<`B qBu$?⡾'VUlgZEn`(rJBa?%.61w `l1'q39+-ͧ"q@ey[B$vOP{>=I?մ%,or%qp!b!/FNk^LHxVi>c1Y"iKxa({+\ D]01/B9MYIPƮoٗAZh@J=ӷ% b*.jz.7p[|:h V Pu.yC1<0K- Q; At.Dy6?'9wǍ?ɧ4xpptfĩoNL."T``^o?1# {$0 ʆQG.`Im|a(_:?%sǹp l<?WIe;Z:&1"PQ8O4Mx= B~ߋN"9(حZ5y,ǣT-sdͪ wBL,("mN: jFOYP_T4fuǢ7"ܫuS UVH6rr|FM,p?T1Ӌl3 E$fcȼ#z&LNWv1> Ѷ qetn05I׷׷0-?6)v|O0#@^t_#HL+a*_2]{K%`ne(X"| ^Rv^\-U ϛ6`S] LϚqu,j7MG$Fntݰ΍Q/;ժ+FuّP аyw2@_!Q[ up &Xw}xh*qioEKzݰp'iWtUXD2cjA;uVry*G R]VC4/;G{4; LQ%hs9L43YaxfC/ nNe 3\ns°tO\K5$t@1)ָ*ԇ8?-4^)X| GdTM:_njec<e&ZYR4!0t 3 ]iR%'Znqܫ;CT}(YhNՇ\do8@cIgZ[hBΊPblܨ<$p޸Zaw6ѐ//?% FԿ5NC % ~7^Ϊ; 1"p;uunt(ڨ&&/ ?AVvQʐ1:f:M4 ftW e5f_0xx˕L]J4<K%"CeNR9ylc-L0{)#L|ƖCb>/(2*GzdwǺםP ):I%yt@̥ b[ mRp (⾂ xvFR(kej{p_O ~&xOٚ?,aӯ ƌB#'OhVIaABBcݵbN" s|Š6zA՚_0{0_ Du6#᧻O)}JCbDu4^9=-2ꁙыw 3?kS[m61O5ɶЯ_u^'iQPL7h> \˿1s2rb Es墠M^k)>R%{*a\ ٓ+K6o5 nwzp$$XubU7M{b6T9:7 $uDOČ!v3x֞w @{}laE~T<Erʣ2Ti2+̌{ l-iݍB! i`EpdJ'0_ּ\)bX^ԺBε>ۥϘ ;5ϘvppP`!#a۩>5E3w/> /`qk(Z1ceer G .} Qlǥ,;zؾ.!2^4~DI1Cbهr)ig ..!̽&:U/}O2fE5\f( eW3U@,ęTcZFbi22 .ì6c]`m`'` BϬkv31|:.;Zx]뼫/2kКVZt_]zkùqGJ?#@JD/qqU ØfuxT~J'XEZzjvS5UK7VjrԼ1(n\2qWmȉg~oXg/:E!DŽON|L WxR"8:횗5 C*?{@FGA7ޏtK)d87(n~ 5/Eqm0RBJn 6|kWJ9Z)ʝY-bqKj8X+?, _ʉ"Î֙LZ -RJ+~b5@$B$sWf4ͱq67# q--''R?`9-n* $ N\4ҿc |4t}T1]}˃z|n6~LucR6hRcg>S_:q r`VW \%) U DZ4w^;۾X/k0`-KSQG.:Q^Rg-y䝗ZDޕ//U%;*8iгŘ%m& \`5̐OIcD8ca MJ`63l(%k~^a#M! ] KujH2o+S[ke( yu8Dg{s]-`k8ckRU<< .9)j$T\ }]1J'Kևp%԰h;ʞ>DX<O; 35Y'9n0v~qef⋋.,w =|Nn6Ft0SM:8/u T۫ɞ2R; 1[HIHy4L@F;20׮LfO!g ,7/d>2ʻBB^]0o?KJz\`Vx}gIfwө*&X6oJRs(M:vO?C)d8)!T֢XeNݏiG"aYEp`A<\>2ш` 5Oy3YM|c< X E4hC̈́ !0 x5ڎ)nk%cf 3m|.G5{@"v=#pRԺ 9 ,+Ϊ,0k)bH%9fY1C?C$x1A^mm9dʭPA{LhsYE؃J48愙hH/*E6 "8TAv" u+BG:earS\śu+GEp qZS(m7bϮؽDf ]w8Eh6fֲ>FY\~{k"=_GXBo9\9&\$f C`+eel`ӵPU?OT(qnw2䨥1BF \eЩswW0Ƥ?Y-J_nW2;ΣrZiζ_b"r8BPm3IeaaI|=թfl7iQ8od Tߡm\*p!bE#ǫfQ7ٲ CHAZlYqa`q?l_37WT<3$UŐқdSU FƻXR8؄>ǽh7i3X\4g&||*f7&6!5Ǿ΢@ϩT4)^Bc=̯F'#`aANzZU6r,-{CJ;"wQMYLؓw#3gkc&.J faGTB }*z UrX%mGobI= [% sf7·pgwM;E7k(ނ3<״C*IN6ѝr7cc*, A|4mEsR BϿgUo ?Ko&Cw }˜W ya+m-a|s;fG6wsб19t #:v̵TteЮ80neYV~L8Y4:l2)E_4/Y23%sy͞>w"EkwH<2U4 hi0٠~Gn̩br8+aVfuHBW9g*fMQOHb6՘}Fg&]}tPXqk4lw3v].R]l! (bGUu^CzycU qw~I )Z{QAZHD,NZlmc<9B[j?6^'*9&=2N| JpxLJ ݈ZvvaTz[I@6ٴ!F;C4 u'WY&؉'N+w*u4P)0yx*7BqhuTyNI4)ͮ` :9%Y+\PlsCcn }4&gY!Օ!/}x [L$/EW NDmKnߍ,Yq5u{0t J_콊N3y$F1ccؚ⯵ jRMIO"浶A-ZLaGoKq0b7݆GELfL0FU@k-0s$eߘNbh ,=T[qaPv*{Xuڈ.Xhj@s %Q|PTfT |U.{7#uCK,}R)=4ڛN55?_MŇ_"bo3~, K9 EUSgg,>@Wɚx5Od"+$V݈ec_ME*Aǝ6%qRj5G% SBM%_t縒}OwU=!.V0?Iz  OɌ1~K,q fӋaEGnjy`lҾzbʨU'Tsf9wǷT] 0h9bF^MzK1?>;wq&O溪#m&RHB{&7`WS8ߕSu5V[N>f9xQѺoI; s.Qf͕@X6Ckf=B";>p40I`Hw^UztzCT{mBzpy WB [JS N npӈNh< Wͭ ImgU9d&g1Q$Uq7 3!mwd9:fIABN{*+_ZQ`S,{O;,s~I0:>#@)Y>dB2wzRȼs׌ tjCVW;jE Od!y CQSbf9Z xlݕ(=n7r(JaYD59`M iH]7"p+v ('- &v蜰cМD IQIp<}H~%#۝TE;upQM8R9]Ć41-_.th(0(,,f0cjtDh:-^|Qgܪ~B0tv0Ey?'R+{63ΛlOx[tԄ/{+ُzKU~' 'gT҅f,?J܊aA#+_6{^y%]<0JO,H4DTJLhO7ʲ7кAsg :2Wv߃SF~noeB/ s6Z ~burtp#'S+xK (NI8;s.Z>5-@p3\eGOn y9;<7;8dFm:B%ӹrsS>xCzRH_p ;:MpXҧVrةC>p/^q`"//ʽ/U =,dBQڦg܂[.&#&N b1bHqKŜt .8tƥ3r4p@ř#.ǜv *I/ {8y=E]wE֬YԴdﵾw~PdL7^i^DxJ;v@ q ǀXrf># GU+r߆fYr (X_.P6 KFtִ՗$# N5\`l3*Z1$LK[8kPoLU:QYI`[_~Y_TЃ|+g)?A0,|ֵ9=xbjJlN(#'F9u~9U Drl<I*zr |lu0߄"eV@9P > qP>j5ٯ=ZDRNC]Hm\P K_zEdxy9,f͜G)UzIȌ_r}c5OBW}pyE"]7nV!Ĕ tiCIlo Q-v gQ5rǮήi8:[’C#OT`|nGoxr̕NxeiI03 -O33Oa5&"'Ʒ ,L1@Р6CI 4[s9+y&pUE}as}YP_ćV/FPV#4y;*EN8 д)3ת큼Hح%C9nmLSw?$w\jU8HLΔ)ObrVD0O+_`plNiqH6z}szPN35-!3NlE]Qx;׫gck9 ںKP>\b0b&sw3~ez_m@/gs)x HhkA@*,f4mAw< -LqW d5pTqyLNh!r _CU3&1D>{=@#k%5`L :_CsY)_HҊ!]ס VA [cyܳW Pe̡EWL Զ<,\3h'ݭKN[? zMHg+REot7Ya頵rm5CxlU)m,@X%9{~Q H@komۼRMp6cfBP㋄L4r<=O:v'YB97QOizp""sv $Xyx?%` d'\M@G(^߆OZdGȰcѝDhWBH+ӶVnCgYTPʳv3 z徑61X ]+a9xQ˜l\D'M(';K O9Zqt7I I!7ʰ&;%C:>)]#Ozwĕ nXMQkGBu]t]aa %V 3뾯̲BxelLMUDO4}ك44h*yuβ0rٙG+X J M5]|E֍kVj"o<.bޘWZ@Ot ``e9.` Xk`!.A mWtNW}ހ kjX ;?Ēg~ 'ݧb}*'ڬϙ bl͛O :8Lҿސ!ylm뮷Sy:$͸Y4SĿ8| MYR&/Ϳ/:iJnCpdCIaD~kB? Mq!ؚ &f/DD܆@I>y m0 ٱ|kX`BnZ8o@;c!,*=z6FwETWƷ2i8\CTHJ^Re^%'{ҦG1 q(ۡ-2c%Q/CQ8 ΋cIE} Ep]<@uJlɴC1=D1I*{7ZsoBUa l -|N8G,v6BBeg4FCW+Er^*`-YUMK.ھ!})\Xܲa|Y=+M! C[ݴ"x:Ɏ }?d`Լj; yDD~ Pp 0tK]pd$x5ڤ;yNU&?_dn}ƛL()X@x<'})',8*i}V3igi<#҂h{,p |e+KZm/Hnca}S@+y̙6FeH7v77R)J @%7KAnĽygʅ2t>X:?NJcimJb,lkզ[^ɀ?htQDѓ}XZ>@7g<ʫ ZD8 jsiWb>W1LMvDq"Jw<,'CT1?q)tEfq#m_`exd7_rܪ:XwIqo?6k7 c ،EH+/m<y롒B_}A(<85Gg 1s&cAԮ~c.+o`6P:ԟs(ܔo75ax> eЖ _ Rg?dB2;i;b;"N&@yg[CMOw=eV#:/.! dPa,+p9u GVB)^UGԆڝ-v`rS,)w0DlOؤ'<8[8PI ~@c/~*gPY4prv7U4(t^>.QiUL-`lqlAR d'(S  I J*܉+ѿ3 O(Df[ѸتqR. txFYd39$c·dd.kʪ֙2zbvS^f9ʥwuBcbDsEBҐ6G@ƯxdTuŁcb#w^,cK}` /Bj.}1~?'j]TFH$䰨xX=rl ,"&V=SnJ)}껨!~aƂ Tؽ&gLv58u'I|bs?AAnS$@>-cIT͇tY67P Rl7E?o0[ͥ8Ɩ8Gz,8p",iZ/R_|%re;gn+ N"qʐw+yPΙhEv)$x'G[}akjƄZR /Ɋ+W]pd)D5o'sb]m{+I_|*x,$ 5&3Խj?x"kt`I)A__?vvq]o%qPv6wҔpN̂ʲL|c// NܹCY Ϲ&̩1#*nC_66qc_AZրlGHE4X7oV9ZX=?gV p^)KG( 3yƱ)8^ڵbVT2֨Bl&/b41 1#kY?i7f O\ VNb.p[DmBuoW^ZPWR/k. %F77qvK+##"=5.)qHX iP@>`Qf)=\MxEBwk4i3)KW|^ˤdٙ=]߆w$&.o}#]1=Hksqf2O \5ZwЯ%Hv,[%4 o J䝹- dFSpkۉR^hPf8HW_Xcrrް]o E71* Q2cq>qRCԶ)Lz(qۜ`2zh^!Z(csqZ. שqz[.<8Yrb!^Te mtTfu7YK# 7=-( w[1RI+s dC弱Ey%Nfz=Fϡm65)J[>>3K"жY[?2yGP"=!@10e0dN+Rmacx*n_.lsl{ꈗcj x/tntN. z*zKe̮`HS/wrO\tՋD&3Ժ%{C0!-?}IE;+D'pZ ϑ '̖#ÇƱi[$4#TrC/j:;9"f:T.Nr9K\Wڭ@sn;o0cnnuqp3j.~bt2GEo @Md~ ފ_ϚXϑ!IG[ ˌ PQ޽t(tdF3uF$f h}Ã[SaE1|1w"Ad ot/7*j@'tZiKJk6tSw~ D ڎq&N7>)9c`4N@fʂ\)y0b3'}K.|k)-d\kq3IjG >q z僜FѤ=d0~|gm֔ KO3je"0r,mX$Wd누G`oǭp!!:N ?"Y^-[ MSYd F$}\TMOql VT_wJnbR$m}v2iӀJWus|/"@ MI;2@nd-ZuD!@Ug pf}GKvڙ_.cGZ2ucp$"&V}J$}q 3gV?u'yxmXF)_3 qy3;Qި@s9g" 8(O< JFf0FJ3t|KvH1*OGx˃pוAS3_ 7m(owMH o M$?x}Z]jFRM*?i_y@VWiȇ{`\p6˗!܃q@^`0γs=+53J}6?>[+ 6HψkYxˆL.lijX%_'y e8%m\ew|$ = ڰ;+.uzTeH{z&xEÀ;_4%yA.z̴ngR-5qzޱb'NYM{}wPm>1-)OɾaxmF^,'k]fZ=GCŦje-f(. "d B}n)c.e҅x%!jڸXINƾߜW^,Uʇm0b,N8}wO-`|Yߊ6?O$*&;!ya9D~,[ܥL M~9y<7 Q?|՘IxIJ$q^S!RjW~PTUyk;ńLh,-Q1hj+6uoHqLֺrV1C[ȟJ(ΦBPK"X_ _1sB*KDidgTw-pmhavДKf#=SIܵoceXv{Ot75/S j[ևYǨdڃ#Ej}ϻ ~4}1x5j@~P5+g9pfV=8s)zLʶ;9J^ySR[WnS#aEH@vx(' C ZrFuwa[%8CFERt^DƇ CFobݡ=UH;.KՁa‹m7 u ) s78WݍZY;q05h<~]Mx;߇Z>g]ߗ˽^&gi0% ΋-E}-My79fP85`c3(KkJ `"bكC {qۆRk+K _h @ɻƏf9b6i}t矫.*^a"ew.wYns4n"{Swc0ս C6D=i܉So84_Ur'ߚ@h4P Xfuc"+оeڍ V`{OhdRwbdf۞Ϯ4$ sL.;(.<Q83 +gŋ6up]W-, A*ڴͤQ;_+PU>^%9nxDL!IUeV=fϾc{zѼvMCa6@$%X'zXť24S4#, .rR2{MVRڞUIRVpp-u\AOR;3E~ -!!> F>+Nyĉ \2)E`^V5W[sCMfyᵞFyp4I_MbbдXȐ"G ~w}%^n<8Y3ΰ֋n߁  ,q9Y_~sln+ܝ=wX=QCX0Z]$}4=Q=~Xvi0'"7_I|TT`u-TJm]s40utZ|M|V=ktU,8.Z٧1~-K \ Mug I:A 2P Zo͵L(GBntĥȁd%tn2ݻ hpz#3(.23-$ش݃0a\4xwBm)D!>|:f-z!1#<&߇ڿy{{=]ZSM58s ҞƏ/WgZ'dW6,aֵG JKҍO *|)U չODkv ]4+VW2'X!9;*1F֙씎Ρ2}[(n DqߔcٜC{&#gǰҜBNӡ} {L~?r1*Y8-/'6b|kcF. c n1_xJp~-ˈZi3h^<j wT1\_!u-=5ډ-OqoZ#%k oK"R`yL[Do &| 52~6!He s'|tq}!f*K:Sz*RG^3%|Δ-lr(rnԷDARG}-r^)/:l` a ᵲU y擇9g!"ϳdVn_ p#ݕyJ#1SR)X嘉 ܸ?ug1gk~lR~aE#;vER!ҶWeLI[ KC. pc| $,V`jpBꏉyDmTxe^n̝Ԭj21Nv"!<wז4)glx>mu5boD$|tǑj;r>V$`Q"\ jٰ{48j 'x&NTdmQYGtUX4u'<ժfL9!T\Th#S\hf{Bj؜$   ~?uRQE6Тwʽ=0O^Xř,pYdzjr'Va_U; lmqvuLj#q#v+i$C@VIeYV|E6fЂMM}_>/S9C[!jRvHxl# c z)3ϡg)l5 V8$݀"oY29,B1B5.C?0A̝&obF-ۚ Zq}m_ L Mb́W-cbK-4o@4^NaL}N*Zb1 HvAjހ٦X/<͝"h5^3޸ଚHTEFő79§23ʗatˉ9j z[aQYxF H:x8) 8Π<ѬQ.85:iO:j_dhxeB p6z䵗aU:A}3t . Bm0gӘHC/n94O{nr HhqdŇW1XUKBp4QxvR:W;SEaH;~O% x?rMʈoBg mF}Sӻg&&!ӓ2t|Z[ij*f惁 ;0t :R8臁{qNP钆KǷp@b;, yӿ W1s9`u|S8cOX~ :A5h J}c|PD q6HJ 6>Z[<.T)J V-L)S6Rq^ I4 QO`-U!Е2 _fΑq9Lɳ ?O:?_x ސT.!~V=i ev8#z-) q;A^^5iƺHcNsz;6B8YD]В*Όя?nNןi_ҡ$'G*4p2VQ`NkVV^|kF *31t:iwicMu=ʊ1Mui`zvH ͏P#Df~\s|I_%R}nvSSW$P`Gقn!==WLw3 5䶅wrҕ4_CuLߓ\l .\ݡ8Qy6?LXFPr82_x,NQm jAIUy='-MK$S~B oG4| ZGsn5\$c=̐6[ &R,f|5O-!"26W̴&[ܕa=ٶ.j:4c>je[VcC/u\ Htq :`=_\/fOӷߧJTFŎf)t U"ads&%Lr4jȆJEaZ{. w76,:GAw^*!=(m"v- !k+w vҺ}<7T&=6wnK%Tẗ ߰҂.=t@X H*mveBzbn.g='T}BvTN’1.zGU#cubjlP̫%]XG-l0hY4 7'8\T<=,?{܃xXoT\2!eŻzM]Å"|D/P6<帊ۉ%# d9 cu^?a7DvvqL 1͕P暸*`%ӫMP2#=95~/tPLm]٫~^ak)}u@%a*RqoeB}•(lI;*i*wjMxʼn4JxbTvj~); )5^7< EZ'j}nl*6I&9u01ͫ@4yC$JDC_E_A#Gy87txF{(}UH=KֺI6R yM7H&pRۢ?@L:HGJ4b !qX&g%M~/A$Jj]C-:`c?*:iɤ ^JmQF|Luo-`=*Ay<2L zڪ(g}1' £ =78Ut]K~ ! _ ߔ*0 ֚{U)ڐer<)u|M%yxM*=eE]2˞&+9{f+s4u`8ݕ뙤^m8$ d*KyUc  'pQo@(`Jq'Vq646A0zj$@J9/|$%'SX>M9ܳ̔!C{Y2)8BzZF4ݦɓ֍c; $4Ut<1dkHx+.adJ˵B!G<)6 oAyTk'8Mu,8vs8t$%ɝ9/J_@W-C@W>N";~[ї4:--?S]TRy% ))67+^9ӊ{C4y̐yM;*PyI:ln:sflVW?SkSAnSyxPuu#-s^zܗܣGJ*q3;4Q A9]!3"r~%6fള;`2T?h'gGTQC \6ß3MecϸXrgbׅ+PU{m1!G@w<ʁHNfCq{:Ԯ f {.!#a~a0ns9lO*+}Ţt}Bϻ>'v;q~`_nxoBO.~+o l8_}X#OU{5 yPxR@n!ZdrN @N9@  hD:=Ȳ'>beB5\ gDP/=n Q94PkrI@a}OL VDWn^OqVn;:TX6L}.M^99c 7P.jD9o1ףFvh넼!`>׉*NRwaK7KY9h-%qʯ!\Ip>R)/gW37mpv>8 ;`-k ~%'R)$rGDre٦X]U yP/.: c|I5R_dk.RϳTNв-wW1k_~ͭ=ITLcBfJQXIj_/R#.1>fYTjŒY-r_<8CRa륑*?:N8Π3zI؄%?U&[| d ߫4sړuWS}\ \QXj oՐk%bhj+s_H(+wcGJdPhqcjp rA%S73qәqjVMl ]w[,=.eL^8ώ!Oy!I*YQGBD 5)"+e5`JHcճedwGiGo1P[6@`ӷe875Z6UBG vj\ޚ6JT~C4-uX_P*G-<m P (+Ua2,᧦TV؈>jGbR}'Ϝ YjىdU2. u7035!f.ħj׍˹={䘷 `v,dsHIh%a%hAgoa_y3dX }_79t!4 Owgq-Ab+sg$>?h}x*/fQ+,.$a Ca3"jC|EM 1H￝]ޅ39 OfF$M::O͙#pxiE|&/Vሬm4d> |kX?_l*1icZ=, Ծ2.q#,]J7pYСqցG. a*cɇc^Ԅ|40i\anTIcO v{tɅt]D^^TRȵ+Inyne$@j4q>;MS ՈjvtyWYg6>>jVzۚcd,9,^ JH1UX{5~p%-iy~ qoըQ4a[2^))̙x1'!e疋F[j5$ؽ<`W}S"Yc^B V/`] uLn8&td"k3,UP7 W=tO|lұ*B@bRn*(;}Ն]xΠK]۴6Hp7tR9!/s3#YYNdp9regnn+ѳs~< OT$&` 1DR qJIP۝kj0t붺S\U'3)ܓ8([xo R1ΆჴUY`v7OkGEZ{Y'Y0iXL]Z!Բ|s8 X{\qN.If4Xv":3;j#:r^j跺13FԃB(>L;bO iy/Ǽ(-1!@ ,懲y%oDkV;rցd-p@&᳃P"6dX DXRWzץs.Eoq¿Gܘ^ XXG/Ϊ=d MͰfazp9,"tCwP@ejOؓY:$Twg"R90}U}JƇ%VtWiطm$kۻ y٦\l])Zn >Mt$8RʽImAw 1'D4AeLHRKSQ s~"CM{qp$RlT !@2{۠2'з]5pa3G.vLnE{5 &24!Z)?{3}Ig4{G>{wh8]60$P9~V>0\!%9 }DLH{z{{CU>rլs}b~s2&4_Mm7 կwd̨`җ %V(|rmbR&Vvƀ~'_XX E`f}) ؍<I{ie;{ވe_V\{SVBǩ \L+E Cx^AV+*8v/n %4虅9#f~60X0FĆw Iq N{Ta[RAKO5[A8u8U`<ʷڌ̪"sH禫h"I r:䝒d"3J5;[H;C&O*f`߇+cȃW"2c&g48tZM2/\5zIxrJ|ta,~JkiG&EҸ)l|jM#L:|>i Z+m |!.RyJ1숼VyڏnW@V#Ž?8VɬQ\Tv.띏K1TSmC:pABpF`uփ+Wϙ\ :x:1ۗ_5aNp"XeOo$і ͐〔cK,ĝA踰1{Jj N?еBL:'l}O{UHhWDja݁ɻ)ʜ(HzXubDD̆b}Tx SNL/U)XjY!XqdI>zp U ui^?a{y<`r%DE9nal# YxT3d*߶"m%,J:ǽ1|Y9?@Ώ}[mE\ڄt_uX 9yd,H\['wK }6kVgÍ|MJu d}fëGa?O}"$z)@0Vp7|'2_/ ޝGkx4 `MvJOaҁÿwE\MnkrxFݽV&^ʮ^LݸuU9oO/)9\!Du{!hlz Ǥ4&Qً=\7sK!k˸i0dHQ1/Ж >0@6;Ac4p,o-Z.;qјTN-:~'D5romNV, rIp#%Z,}7W/2 MgroXe+#Q%영RִG{Q;mO!tn%)8zC6A]]IB sd&afĭ.u޽?펻}(>_^P:;ե0qa҄q_;H. 7!ò7dAnJ@u3"FM5|qp`>GLJ5Bf }m؃kRp '5;DVuE?٫B^T:N,2Y54 O4s YeĴ)fxV@]-D݌QmhX_`kwKA֤&ɪs?*\V2m*ב"W&F4ωg'D$Cܗej7.lH쒝L!f*/q \7*RZF\ަ2=l,D4&4AL&p@Bs<0lh^ He_n+=` :ρd\84`uYf'a=Q4GCʜImY\]un3p-ݟ+ÿ2ּdXn̗"OCŠ*/Q䇙Y̜ԙHͤ7iHGdh2btKlAc19x'7~#d}n{tԠݩ8Y4w!p !&n-tQzS},}0ܖpKT&n>˟ 33aZ^" c?W|ɜsƈnq…1V 7beF NޅjN%@;5 d"BpU̸r=Q %fPϖh7=FP6?O7$O`B! p)|R(N De{_N|x'N\[)^3sʝẖ76bPjWF}+`^vQ]VBȖjwBl\1os*DVṮ.F ^rNG?X+[Riq>'7|B*J~!Iޠ/@,ב{@T-reؤWDnAK^,/FxY} &c^pB \ĭy4-xQ45UFTIED,a=VuJźCo#!1r@V'G99CZU.MiU˧\ )kn,l- d 3' %T>%1sáP|J#{7VUg+{`Ώ$O}v?lT9VMNz@+%DI ka 00mPCv/7^gC8@E`8Ulߥ|xm2QOTU$m=7RzcL"ڊ&:*Q@,|\bxA(tUnlmgN<7׌:˞t60E8h.Vwm]混pP3"i2&hl]-U;+1ϊ;fb4݀@m*S`t:mxC~6$ޘ%HY˜.JA9*$qElHrpo[B@MH{Z@YQcp`[~!`>o4kwƆz|pJWZ:IЉ Umz֦'H =d0+5"Pz8Ktlْ֢n 4(. 8(Yցd卲O7z`\O&y)Y B ~{^4K'LJ*t1%(`_ޖxSlK. 2YgK޶7*/"3lN3Ju6RxV⯧ eBcy $ mj4S_5ËhlNDY*nh`ǏKD$!WG k'`:(\XCb6[dG/M[  sjV(* &AL e,j0eVb?Dq+'c*{f^|1T_NffkfF W+hMu#.x*j][zO TX8ņ|ւ/[xg~)КjU 6='d5⚑vIHƳGlF?K_}j#.*fOǮ}L/ LD+ ~䛈G{pTEi9 o!"/4;b@e4XhD9+<5^W+;z,_Jr쇟@K@~70+*ҏ9mAۘ,-b- `\&29 Va=Nj% T7q*.GLv0jI|Ruboq"FYFV( ԰<V*Cc7K=JI>q'DQY^Yy99!g(FŠ3K:'~m;}[ym @U )rf5SBOW0s-I0T㖥R~-8 /:WR3r_{nA !g6pb\hQjr`(l; ఄyPe3V~pn:*H 4 %kY&xtbBs ^ /G%W=BxP\:ls?e`ԀN-+:a<`惆/oDUhEl28[%I\OmhgyZQ 9)E dYv2;p%jeS(D|ȝ#Kir- L֓j}ghs§"Y=m5+?NIgѶ[_.jNS>B M KKȽv&jN(Yn/9Qg ܾS|>dMQ|9ڙFljd5vwmz8_P\1ZP`kV̴YD{a(dbf R-dn+>+mk (rZTD,?2S,(:57,> ϟqy n/Z~J>H @̑X行*쌿̒r9Fd= r1d!n@@ӳFoODN.ɫ!tu l(^b}U@BTgԧle=*'h&N M5GUk6[!v;žfnXgy3:GZ,ǼAJ5pFSvFwDFޙ*%FJE 4 K5j$y^_Cь֊0 4-D}x_l55>Ga,irz?"W?=mʡ0@ϝ%es!5Q-L2~$7, dVS o)/*(MșȢA#Yr¤VcZ ^P:[#L(O_7*2F.(Yj|檉3kLֶ.*px\FHb bRZ9kRor3K+z;eh#8(uML/VOj~eiI^GI LIYb!+y rLzT[ݗeq,-5G\?8՗L:q=U".dP`mMuY%Il)o%@QOО*=<(KqKRo'z9r oefnk4.wL<*#ZJ7&`.4 b%rYLҼM9aēn򃇗3Y bKRJ ^/yCQa[*z|0D1o:k$R0^1@"[єu/;xx/Q3M::sӲQ@vEKYegȻ09qaɘi^[CtZ+W9/>HqYx2'yKh,gCH_iԮ2Ӥo2-W*-GB2ےj/_I+vE?mbSB F$/h](t,Ue#AO`:"W -tkajY|P);YΫ+"OUºMB ݈靑{:_t1I. vNB;2bok+P.0;_EUPQ3 Dƺg"e.l,}Nc3AQ+/}]{aTޟSTm,MSꘪ7ݵ9E׎;yg2) Hd_ Ćn=,%:"Zp!zP{Y=d-ځ /)Ea(#ljOG`R 7Ø#[]G<#+޲n/d l{ @B8T [[%v <7O|nhYLՑS{Gʼڋ@{W<DZ0֫.=xrـnْ)sP&-@ ~Vq3-eu/b`*m.O}f?)δG6EWCIyOCh>^ Ko %Il}g 0wQ_:K}9Q|fGk!xt!{Vtq[4$A->iâ1AgfV"~ޥ|PŐ345D~`D0HJSHő]6ߒ6{S3vyj "vŌ=\!`gDܖn AJJ+zbnK~j(gLArC>H˲hv4%}vl$wQHˤU4Ǿ2bzXN6oVL<$X~am(Dx8T EO~(#g,7ׄ *K ǐp[SM6 GEzZ0>~ٽk4h_D(A+"nVf|$ٺ㢼=E[Rl}@`41rn 4NgaKfTM=l\.SxzYnvKAYif.HFkYyfDFҵa?!𝮼װ[: ިp!OSJ#hҿV堕j.̀JcMV!zz61;]阬~.mEi_Lrkh8`&(IP,:4P6m5`4@J&)h@H!C+[F,6^u;xRd&RF3dt T+zY4 A$Q^*"S`ם:qgC23XM%..[M3i29?lP!LίZ4?iR|eP/\mO oLg9=kĤ$W7|YCtBPƇj`J2 T:< 4v3p*"n&^:qjηñn|z4Zi|XgND\n۟5x>Pyn4e8BFE9A$%jbx/]~kg1X5uo|ebJD&krVtE+ ]pl+@o.:1Ű?oC4հ\eg^OZ!3M=/w( m^ȋ7y\?v=xUc/)d#p)&hbV*>?!hb-~>N=pN{Pk3FIJ}E_t( mvKHʕ!^#G }ԙƄPJh"͜Ψq9R/63zS;z[BfMgUe`p\P/ڌ Z>1'>ڲ7>I8L} P mM!<f ӷ)M7d2%@n<k!P*\%8|/ ӇeNav/,,*%2zeLA"K@{ BA8qaMq"8ތ_8}Ʌ]nwvP L5iK F".ՐJKV‰1.#"zK24ъk{9u4_@1Zi*|yYǮ F9E ZQF"_^s ձFb"@j0y/u3B-%YR)x4"{16Fpؔ˹cbx~Com3_DŽe:=QwAw9KvT&΋vJ^ɾ*^/]X`&ǡ\ߟ\Ӂk}[cmnrV# 3\ъkAD0I:1LW;{B٭R_:`f/H@V|~]7<`X_IT0e`|^>dYC_cQ#a%l䒣4 dz'x5 MըZ, ɻ0gW1AX_1+S<#@KCEu"ܡ)Yeρ:R坬k]{܎ +ݜqEo^п-VƞQ$c K~ |Q>+!3QZ ?*)uR:B-KH@]/&4@fBް9d!%lD7oRtdLd3^K#:l]vcm`iqiW'd8w` v|Vϫ9#H]JmnV5j_AvȤC@QaxsBPOMYS92 oO<=2(׀P-PFޏ I )XB# ;ΎҠ'b~ּIX{iw QV+Go)XN8a_B/vaڶЭ𕄤h">V0Oz3?YzSuS̸SFhI3^ >P(ho`f$ƺiҦV@"82b`t&#}EX =b ST;G+\?(ԱD,FŶ  l&!msFEW6o9t"s.@~uTМPgg朴b_ h=ۦZrىb4{PRHv2`݊Gf^fpq6ccSW$* (HBiHk #m7ΣS#)Y 5]8rA}S9hM9H+`c^Q /LA? 2ZJr\BeMC 3~{ɢHS' /AhgB@l$A&EZߐL Nj |TxH3\q8 ĵ ti*$7|`{퀟Ѡ0~3=wt%&U)\Yrcx?p-!MаK)yW`?;0$.=dFϳlh|Sz]ްB3/a(Ct,uLqkY1BrP0;h,ƻ*cR։٬ =m]:O`w3Zɺz5E7)򑺿arv?-u*m!.BM;a\Z{߅P$30q01ʘP!.,ZOHa ұ ~=Wj$L WT^!O4Vn]W YۺjA}pA _n&ƄR&TuTOF߱=n4e^.v^ M8G!rc(qrg;$?6 sSy)2!!*QXS9Oнc&qfW7@Vx"|H>땲NM3( %@+|xEEiiԲ$w^[=UJQ N5@r=Zimg ZˤPٙ6w/ȶzk^QEY>~9tD-) -qCYWSi6tXƤeLad!j,fPA@L9S}elFNDOf-8, G %g|( A.䲃JWY"EJ×%* L{5c#%(g^':OG6΁VNU6G}a[I82nH1@/Fx Mj.'w5^0;J¤h )qƧiQMP˰GvNHuǞÌ^ $S!EK;zJ'ke5VbF$'${O;H95Թno @*G6BNɰ3a`WӆpǍf>W~ 䊘Ξ9(1PJ+~1D졩MFp1;oZ ["cܡG@S wzM R:6io2^pGCW{~bM C$e}RU-<~ I$0#D*"~s+Jy#ȧKZc9 2!xI}gRS⺗r@+LUr~bG?j$X7xTvr`fnVGOICgJAY U==0XhLYբYӬ{]%RUA`I=$?08.}ZwtƆbj7훊w h) &}XI~+C_ExIg߼Eag@@! )gVXğ*fF&M±T\楄Wٸ`d]fEN(7v-A^ :d]om /6ERs:F.*(f|ZcAp `jy^1mەlHZ5'Kj4uMlen,Ō/<Q#L`mwHvnR~*UE0S!V@V<^:@2Dq4}i }:)s>nP$ё$H3vKH{.Lw %[EBWF}imJa^ɔM3iecCDy6cd|!J;`eVgPDK%a_=P%P;u1~"J~I(Kf b8)5xM kz&6g!R=SbpM9w SH=*9P6 [4!vSa$'-Z3*`>Joo1CǮϴamafSA`r\í Io䅰xV=/y|Ǔ)|eSm S f B̬Z6VJÏ-bcL)[C1k YHi^O)ǜ;x@Fh)y)A QR0%Nvq:FS"x?vZVAT>p:Gs4,IHO q|R Q&Vc¢)6((I48Z.LEw\l`BRBsOCg5(mڑNUIE.[㜈u5r;^r[(JSFq] `G!1xi7kټ"T6j<,ƘE˧7  p]~r\d ^yN~A6 rb $~Lmb2u"Kiz. bHtKza i[ǹOyGW9]؅n Ig`I:6KѨac涡S`qTzyJlER<u(\ &lZL95K ?ȵ[U ĩHtj";4[={+ hy׬Bw8PtdJqt,Oȝ>& P',?0ɰQ$w0 ُ;X+ BZ,0^s-oӒӫ97q;xz9m C['-ۻbY0]%Q;>tj 5̩6ܓN ̢=#cg!y1L͐= |ۥ>ҵVk2Β1֏ D{J#uđN  q Ք3z_~Mg*q.eAi0_G8mLaBBQ' eH7pxSMJ6 ,CgnTG_6LB= C{G℄kyZ!-^V,3f5`:$uXО0UŃWPY ("EךڋdzYh"#RQp}FH2zS2 ^!,4Ą%Hcܭ1-.=0 )sq-bc,Zx^õQ@eErZԳ24^D$/5`=mthh@dX\BUw=+}.4=8(CMW؋D3&Z0Њ2ە kꨯܟ.UVm:aD5ق\ݓbrs@xT 0~1֖Ѵsֆ4##vW/R@%Xa7>3~(3RVьXVG{N[D0׃'BY@pa R\;T6fۓY[]sʿL+"?z+㖄k+,9,L.LacLtR5DwIIՁ-<үs=rxNע-ĹooI1Xm`s?. ~ρ&q\Jm$xZU+(0oz-8~XS/--6!ґ'[ѵ\D^(@u-Sq }$?K"?q O;FVg{q˃(F r7mcе'mtEءl6ǬYgeEԧ`fW9AGեq#J;+6ke>S@xiZ`SnD <]iSrД\WS~ڑ{ӏ S9h_8]ǠEB|9ܝ=汿{jmnfK#k?߁NU,ۦUJL3(_Ū$"}cvy#Ū,P"'镹/Yt-gH rg;U!Fmt6U e#d5,/S&hAmT!h b}TC4R[6lvprjLn]8G/ X%DF2 QyF,;TH4̓Ȱal1h=5̟`Ҍ-<+_6FҊD " +^"vJsR PAROÒ+su^d0~-~8|ئSsޣзB(T EӧˮY(弎sҺp( !0JJNSC? ?wÀH![ƫۇp"iϥ:՝"N`BV>h"P87}aSəW6Rutl3) EѠxaJWuZ)ZLCەFVkweffE|d`gᶷ-#!@ .RYqQ"8鍏O~ 橔EAOpBV+hs+TBsfm퀶2hw6xX'Ica쓸{z}03Ayw ;pc(dž.Dub,}KLVN .-8A5iy,W}R5W.Q#!я/X2>GDшL>wr}f[l|ݲ 4-!O#yo={%&OAZH4,lH33Bi@@ s`k o't8TzwZ}IkwU}quMX40'4YV~-M(2FRaUؗ}rFٹe>u\DķVv9`=St7[(.j̓Po-hRu<60"^"ڽL}<-/uJY VlxW0X' b[(Z:|/+# wD: 0 RO϶"҆7Ra3r_:FL @!ƥ`k $Df OnkΙ,7Ĉ4|HND!Rt9n8 #ڞ9~?Y^-SO}/m vRi0L 2Vڴ6>&عA1XMÛzLiͻ!0(j?8`7zU7hI!k&pǞoxz ٳLj݂!B>ăcاu|ƹs{ڋtjJ'l,1icPQD//Lw#Is ۃ836xxʺ#'uMhLE3 k=@.L aY35E\#P'ڼl13d8v$]-][ND1oF,98z4w}WA[\Q6Xol>a@OgQl_W@szŜJrhcMDOm8N?q3 $3R͛@lWe'H^E`W2QQ5.M osBv;DiVU8GT1uRm^w=,Ñ>htd:{lSVC#p,1`0@Jᖕ#lANӓZwMv~-Fe3E^&nI=mUFߑ؉ R*kOJd5p>M@^۬?S( Fm"W^ |+kmRVq8au{|{A@&-+*Fr4ds2IXGXqRUՃ~.QPUH)( `ʩwUλgL.DY7,ޞR .S*0~KP ȗS @M}a'g<ٓӔ[XgW{9,sϣޤh O<B3KNUkGľM2g%s^ AO |*= 2u6 7odZzcF2g`^|W!V36}mouw;Z᫛LZlQHj=en (uw]f&= V=)sy*K<e[mLf%Cn"p3CXwbZ_tS FujC8 /~,,Xby@Mn'Y RYO!PUbeưr浰# 0XYT4hs:SP S*%8.vn8ˊ@}ͦa:`ZU; YQGgl%`3AMߠ/5QBڝ RwiKVYYv;UL8D?9ѕyvڒ7xH^UX o"6)XUJ}rGYzϊ] T׎7a.8WK"]Bem*M88ꚲ)86_bC >ғ ?S/#M"ߍVZ7-lbRЉ,nNPS12}}gpC毉<4v> .;Q? ďʯQxP{fo)nH9#Vog=D BezbN HܲeZXjF} d8bt6}a+Ө;Ck飀.VBf,Fy^iX}XɐWVa]ym"'u waebD3M/e=NB+o\n9]%O, |=Rzဆ/e2 a;J%%M!\Ɉ 4.Za$*K}ޣqaI51)xaLfavݯoC`؄U6,Mq k:_Yvb0Fݲȷȼb >>(' G>4@ۋkg^ȎߠV#"kl^^fοDJv `b,]6C2ԣ\Y}ތɽ1 9F4tL6NA I#,Ie9le&/Xd4r;i-)VSQLW5 ,jtޙ"|ry Au]l;D^3 2Lūv  ÷3@#NI/oή[<)E/[h3`y%%/`Jص0X07r@ण[Z? k{kԜ\5-Z Qꇌ*rdx$mKw`{-U y\Jsl*|򖑡/)1D50y>k޹$:gAugL&d_\^LgSLqeQGqK|v'|߃q\㸥^7I`iXpfH2bGssB{(gvR4WX|_<=/^J(g}C~ t +Dߦj4-d\O[dL2 a{#8k?-F7@ Oh =-ߜ dlrg\EJHE&T̗JG vX+}2V 77]WncZ[>;3G(##\iR[J0"ԈB*FY[,a&#fAOxOvz](dCiO{x+d&)lEJK54|e gJIr\p)P pݼ/>dE]DKaŇ`b K7&1Z=(E< ~Pu(|ҢI on R?,w)lI͋.zM \q絚Plz]7U#!1(b* <+{.4[I=_dvտ/+'9Sxf׸Ec]6hA\v[9I}0u_[kx_00 R?6@q6L8XJg{(YDM6evfEL! y&E%Q)ThkNK %QYgȘcSP !qb޻#!_/Q7,fI Hf'֕wc+sHR1.{pvEKd27B-R,öwK@iVѩ["^4-YʭHäDn`nU<1t4o@fs4}5|֝c#V0&f\ٺ'-7KQ4 07<ϓ a=Eh9 ͢hYs v\=УoBA49_ںQA4UVs|9ܝ}T&j:r x~jx^eq7σשw\:W: -ujIozWL,v+r:pd҅2LxdEkEK?fŸqR{ i yh`l2L6][/\d7쓙yAWq^gy!o S;[XsjtU!@Eƌ]X/MM9i/QqSHe|wB-/37؈"=7G'~ERTVWZX8q@sSЄVϬ>^=߸|!_/;  vZU^X˗R`੖]ࠟ>$MH4%] Gcr3(NEs /qtZ8-3 h()ї}`++/6XlZ,)HN(]-f3<؂d9Sڹ^ eħؔ6͔z28Je:EuW tN()f҃ 8 )$}\-U "HE> 7/ֽ'gQvpv_\Ց$X(Y__ݭb[=(sG#d6qwOW tf}ya,SYir><\ tvNKزآEA(r-4T*t91ג4SЇ\u/1Y)(RG*$N:ɁMڻX!,ؖ[~Z=U#Vzax1Ū#M8w.!!ٲ~ 3֊2D١O2}Js{fxb(XCw *R/YIi&_ras̀ҧ7_3'MlVނaK<;^5 xsӕ,=Jv>|)2> ]G\lP|9$f=4^@' n^RZ)*@QЧ* u Qiš{9$h$T~")763\Ocx iZV;h ۛ}؛eY7R5S*E7ۨjBFdkJGKKcq&>kt:D4.B 5+cJ E-dD1qU*?G<v$gֈK8s|.-iw$? wiVOev*^\ DyunN9A>lt.X.S⎱\"IH z,Ln. K)nt I5cD_T͞ j4AG;ӯaíX}ws)֓!1m Q#Py<'2.ѝjx\o<f+Nr'=M,WIVW GiYPYx+ȑebý{JA /Dw) @8FB8 @c*bvWc[X~x@t |Iwq[T8f{Jc˹a? 9}H`+c6 E qa-ONDΥTqI~QUZo=r\cP@w8@2%W$-.44㢚ty뤨]ZXK#&(J\ dUcѬef28:+8(PM[yoPĽlKE/SIFNGbȤ'Zf} ޝ>g=X 57毯&XΎ//Ie?eB!t.*f#C DN={_Ȥ4;K0<Wb)Z06[ӺvPT29nD{/9l YLޚ1#(lB^({[ȮC%), \;ԣu:e5B?Յ290Lʳ]tNd>^y7Q57i.q'GZZ=%R, ),Dh"|5™Vʓ>IXOare/AvzWXgVq5he}>(0^@۞#08"n)2)`LBw SBtWEbj^De$h6.yx9#qjn&8%nm.YJnӮƎB;k:Fۼ5^QpM&DI;IDv8*{-vh.i>A(Iۮ VZR%cn3@N\oH&e9tNRq@^($ִBE P5C788d?> {H hpwi+2BPO?.E*w a "6/*5$Lh5Ey@I9i d42wqLi8vm5;Ź~߃h9DC 1'o uVwk8.m|){uZ^1^Ǣei='?bۘUgҟa9?7 >Pָs=o *g2-0\.wWYZ o'Y8>0k^&1iˎ:1헬՟U.] XnON<ؾ6jYr\ҿ6lI\ ?'ʧO]8³8G_"*ҔE vٵ{!Zc46ls'NS*y(ER.A~k L\n$J\#v T<鐯x[!w0G{zOQ  a·ؾS\:6#cpg0Lx^?iZTs(,8U$GsEsCZIE갇_<?W&>7Sͽ[dh槪G'4%`޽[AU4.K NzP).!9ެֲF9D@z`y٨t%"*(x.4C)3B2\8֟Zp7*4Ld0.!ҥݱ{㍇gQH1Rg鉏 u"grK[Q)y*,pqnk"TqӮ uRףh>NUh䁾eL\Dw&_h8R`hcS͵dIk%huraRO #%',Q0< C$ v&֍>U Z:!w=XX3ӎ3}f'R0q6=y1Qd<ťz)?G yЛ  }-<eqEQ"gz DEHpړAȮ_ZmSngC N,q ͏Gλd=rWL'9Ɏ~ړS1w`EأoDj9M1+]%d#v_F%U3i1˂4xyq훻>(=TЖ5 <2>_o~{χ Bv.+ @:\A5&)KAѫ0@rFAXmKqѝ׺9ΚIH%}m7i) ﭫ =P;Hk֮ei3OH㻉o>'%hW AZ>0n1!"ίlٽJQ~S Q?]"KoP><{BtBC; `~C-IԬZ^<8 7~l$QEW.c#Mj0X 䶑!a-ࣣ"~xk^\T ǕoЫM+٦1R 0غ3tQ"79boRm 4ulzD  19f [Toc ni'E-S1Gş8*jC,P::dCաBZP"B~> IL<{s-5Q]ً*t8spB]963Oف .h(ʪ `!>Y.+ OkJT[h](X!٫l0 @E17N iB"{Ii8 :~} EI$IEf.y>}g̐]1ZS˝`cZ7J' &D?0R9maܿ;`cT-;\\Q|2c-Oӏ>\(t1zu @+cq7A6Ƚ(#̈Jz;,!c':Om5 Ո媞I()<,Ҥg9֥!#76jvm;2u:LzK+vnMD·kߘPtPo֠/M,ߺ\bD&h-ڍZq%"hN=EP{ 8K^4 ӎz2eOpMdS4w 9y3g |:QXF]n2*T OugzkniֽDHsxG^Ly&q!sHL,-N ?zVG4͔^Kp_C;9ٟmVݥZpAS3QDFCȝurC#nKJTJr3*'~Go/wTHAԷ:8]/`}c a{HGF7WUfD8ԋEpB(×(܉2pQ]U93=P*AO[7x2K$UߑSۍS~WVx&;ȧWۅH<8)'x,-&zx:%"&.y-I"K5HeyF( GQfb= ^Ծ զ=P{+6iMI6+N"v-m%aGW; NNL: sl~>q$KKmg/y|hC6A/PĪxl5$/\Չ-CP>P:z", he3s@sB6Vb?2uݚr jU:EhwoIc~QN7E [_~{b JۘrYKm< F,\5EeU5{ȡqw2 9>Yc:߶j ,9)(:^MN;ؘXA,@ګo(H71&tuOVS޾v0Fq@n,଴k8Wc8GsHLs|;Gǰb#BjLY.EO xgCǴAi/FL 6 mf,z.h-#+7pA֥E 9p o߶K6X97[j Zϡl@tFJ~U ǶϬC`eUb-88)뇉!4[6JWLkt=R5loz]߷ "bik)2os[_J2xVtA)AFpFb[N^K*F] 5ؘJ,>K@!?oRlw-L.HdwMI'2 nm&' 78(ć#::ЯH9jP\cΛ󎕙]=f(J?E! Bo Мb+ 3{R~ce f &$fC Y^sa1募X~mAs'Ln,XّʤuSN bVKt1C)eڧj]{#Amql0D5,:`&u k Ir3>) H<Ɨ+53{jۈ1Rk|:24/m:ldi-Q䐣cAE5nh e'&WsWb;PK1bֽ]Eq(n/(Y Uhϙ*7}Q104.l;"tؘyX9.@kZG_q] i=a,!qfI-V`0ըS o6i  $ -cf(tT#3Մ^Ri}2`b9ώ  D.Gj%$n%U foYH D5̈8F4BiWcJqmhff6S`u5I>̲_lbPkn}G$hyT70%y^&Z,ХRYjҩ*ތ._p^9LtOAߺrPӲuA%0oTGZ PQӽ`|,)7ƻ?%G> Ǎdl扴H ˡȃ6fҙ@PD5g % Riγ[MV qrY}{H)k ET@ݑ]]'hfmQ f4^)fSH#~$.)totaJc$dRMIg.zZ^H*:9Bẗlpe :ϟezznXSCKtjb&Xxw 6;#\*iW!,kD&dN}q[uo&9znWf6&PBͺ,w0+Ymi)jOL݈#eDcp jrEuc,Pi=Hڿg&y⊓nUߋG0plg]_Xkr5 h[r/P~6)>' ;i4F~tC{>xuH isUq2,3 a|#QHשa/<,[;(4ifX9+B 3KЅdE16%ٽ)K%N2Ջ|׊ZŰ,}J}iA1 r^EXwK8x{h+X,mI&chBqOq^T,xR2x}7[Jι)h XK[`$laVn$na +"׷7*]U(C @.2/rAM8*$=Pʾˍ7 bzL Xx?j\E!t q/$3Y_h֫1_"+K0C@q_)UT8"]P",/ daX6j'VB^~0g*(W׾ZgqܦE{c?t*Izq< +Cr~<|uCb9j( @0ZXtF AGW܀gu8SwD"LゔJq=٦H~;`-<{CTgЄ} Bx2E ipT!5./ɛOWxIθ_`@+U?.ZL$e5 6 84v&d :4U,azLc7=R <κG0/[Ɉ$c e4?Ǹt]9Ln{ۼ*n 0S ]-_]YZ `8lLdY|:}!shgiMy8gyjqPPЖcc{.Z\_9 `Sf45wOOA~ݟwVwJ#ןH`| | gIL{xip`d %Pj]O_XYhcs"J 41XHy!wǗJ4V|qض~PM>gö'd$A"I놪!̬j(,hx\Cx (M6wת /1ptCFR,?&cX` ^=<;FY G'mS)p\,oWޝ7~s:l?AOZ\cR\orpdOFgذM/}8Sa @)VݸAm/[^ ۜ*ȌpJ0('nWjR|Bj`tgn8>1KStKUĈGef[?Ы`q=\t,RЏ9/,:[JzӾD4<(H,}evo2Va\&OHQl FbщhXbb<+P-8MMH:Rgɱ0s 4kLyЉ`Sb(D Ч3iO+\֏ (d_{bQ/j%OX?Rpcɐ1.A״vSB E[$+Rɔd uI:ep 1URiX=dk9 eu0㟌t3r yϐk|:e7~8C5^8Lu }Gv:A3O'Pk9`Vp"0u65MQS9ֵˠ2;BLO,ؾ6/E"jW.#~2 2yَeVNH''c)28|$ϼ>>JRĮU_e>=s`f-:يz&f9[KV(/?* f ``'0`u#]Eaj]/I6l(VMLyHt gVU.Gr7ʍ(Z7FK*ZzC{؀Z+bpbiM&l uЂ襠3E8XWo[|+jc[DsmS8p 4dҰaAy99&ٲfwI>#oʄABwO~aPEX6Mt7OmQõl }oʋ8TWA}CtإMS{$+l>Z/"SVrlR|* ^2t*]2\]{W1 ,JkU4)Y*QVKqgpD ??,F?zJ<$GW>>oj{x^쩨sLZbn],4Rb@TrJHD5Eg98\497OmҪ'A]^kW~ Kz bPEIOD k^mdC$ y' @d~[缾?AɝZ@HOøn]Z \!D,+gPk JmHƒpB)t\metn\4 >!{ ff9h}#~ _k5~7 MB'K,4%}LN]~S |1Aכh7ߝe_tToM.Q(GiT`MK8K=?8ypSoigZcZt|Nex3#F|aGnM0?K=\sW@20M |θ [:/n]y/+Xy)~Ay8jc-/&2p< -i3-$2.uxa#a'bTՙtg)ېQ%釵&LYleDQN",#d_ct}hZu= trFl[> ?Wb1xT#1SzPML~"=iQz*/G NV$=n:vRu"jܝ#@-$mJף$qu/1$"c̷m9L?adr"DJ6Oo?M|@M&ܷ[ЋiYa(xu";mۮO8(QAґAAb4'n9g;Bݴ!n=-,V]#8l = $Tȗu?UTg/l#<*oV_ <7[Bo.S=b[A# _񪢌x7ʖXcFVJqҰ#ퟠKҜ".ȘIR溞@yiCyɬ{|D ilB v{Znǩg%s3ς'z<3{O&>sqmbd^ _E[ OR<6l@vM x.oGNoZm_* fqpP| /xIRPK:{N "T2N \4<ÁQ110¦KAJ󐴠մ i;7. DTD@B:?*[qBXFD4 S O<" HR]N SgB&F8.pMY~Rb} ر6Dx1k4Rt f`%_p FBb jv2O[MP n @)6ܻx;4O,AiB)AxnEʴp.CӮ!AʊE Q]Jib0ȾΪ3Tfֱ+:I>< 7cby{I_3xf(ͪh2\fMf/T|0%ӄ3-`y+6NX8(~~aΕOo|;?a䢋Rc"*z"$;>:z㩁A@jjft4+Oيq0@ӝ_I/"!;|rngVc"{wjY|BlHu733<T)++h9 sxu-[8O;:QaF!c` UpL[ZBF1oQ&£sY}]\)5o?VARv<=CRxR<M|hL9yG#m p:L"e\ƕAqLPKcS\iuP+8C&ǞG\70"tm  c_zsbflOgȣ$JfLC/Z;\p}9/vWl.0b٦ NWjF.Ni)%o:\sѺna=7Gv)_wk@(&+6c?#=d3mExlu3\)P#zP.WGW]lq0vl#FTSKs@DvP~bNdT֮Y2~3ې?TtZ$/ѣBH o @l VkٳU\pA(Pz`5Tg`0VB ؈_c&io 3Bso ƞh:M~{F^˞ݹ<&ʵ?4DM]R7GYg ]@Ϲ ׃RD ҞQ[yŬ%zy9?ct=Ԣ?nu(CQQN}P\scGGv)y;" H5/_hyeȬ9[+|] 1Ѣĉ%pM4B@GgConEfτ:.J>e8@0|<'8H385qDc3ꚇ$٢0W] {ͦin)5ҘfCe b>wiɎW[/ `|  um&~_D#$,kݷ׼R+}Wxky)IQnl.OLB̥-]O!}ؔGE3|UN(2SLz;KHxhHN]wȨQkZy f]4lyn¨8uR ,8D5ʽX'vh'TW#6w>`T=`'gaZvIg͵|l -GFC '5R38 ~L(b陦Ҫc{}L\8! YXs߷TI4w}WXZXMYٔSy8X?6;+{)C]9e7*8azzh;yl0h3Eg~>h?80 PXKZCA‡]k70MBEٮyzKTdwdcL%EkTnyf  %r(Z[x7N=}'r5"~-R"ȵ*{nqOȮvٞ0:G\pT\V̏L֫ .NolQ-۱fٛ8JǭP) 7тS8NKE#Tq0b~NA Aw j;ddt;DTXpUqn!J4Q,)w~w@*4'E Q:!7bYJ;Ш6G)SHrT^IYPEDr(qOҚS{3]xVX27 xnsVuY=]0ds`s7¥H6:YQ`I]ܨQs$`r -MS2FJi$Pddf+JiY~&?Rwt|NYI}xw9;U S2a*nX;x96,>-B&"Ա32v"P/mgZt6N8SnV/w!PRrJV /l~q>ڿb7p^so!Dk FjH`t5?>AH!EĻ,tػܲWEV}]b7x.1X(zgo))@eJh2O ksAW4SInJ1etWG8s3 B६Y#}DU88)5Y=1מEdӃ罺~P0bYa'&*pޘ굑IC\gw2AZXFBF[sv\AXn.We@ܸWj:jVRG6 L*x-\/,|d?1WJDUnW>Ȗ#9[=޼DD|{nBoփϠݖ[U19tjQ"̄+G4ɢAvP5Co.80d}GpQ F0;ISoRC5ORnu听h$ F0LjkBUHDCsX|5!oG&()B]>r{b͎hwpZ)rLܲܘP|H^B܈97oIh!,ŴJ)H)(j@(y,Zz/EhkE3 O6 ls ۸]4|ok-(ݯVKĜm,gh4ǚe ztKPK.sE*:3%$ٝB>8lS67[4KyE@aS\yt4+M>Ri]N5dRT_h[t5+vd[c"P10!*rh 8KxRH8!e(hJR:.n5hT~*3Xnu=jI,;LW XLTo|}#\kN+_Q؟Jj)nH->;v\imG2!a$Tޖshu4-_:G`i|@+1ee̞mp71jt;Ȣ]gps WU-̚t09IYܜ!:=HTdV$'iD$.0syPԎoU y5z-%i{!E=zd,ђ[ڐB26&B}#؛s:.S.6 lt!ЊDU?.Yl9‹L=e$&jt^y % {x$<~ PƜl3y#*Ĺ. *F|b\WOyLy ]@mtTaDU99酶i81G<4 'El2K֝ UOR'skք$[%UgIHrTϷmt~0$aˀ{O_ȃ??qR3W-GKwCx3Vz:8׮:\#!EW9|VD' 86n>(d ZkC솄_#/҉909Aamg BzNA|J*3:쿚ף2"\udٍcAp\hlP5#i:p<&պ?tJ TWCJzIO/X5°ؖ ӥLL>?'c襢"2rhii'!WA`ULw`0 q,_[-SW3h`e|i 덩-x@jiȩ;k@Ůhk)]!"ow |?Zj@*Y[.;n,Twth54H>9+j$YPUC V7Z|W=Ы!1Ī|Um0 LC"%`abK D:P<3H+Ah)cE $o u ) a|;Ljϖ4Rz՝'N .[D&3͘!꿱W62rJ}Ҧ1Z$nb0—S@< QʮbgVp nP#r}P4-xчn<쁞P9͖KtgLw9s/xc/!JS>(p QAZ:(i&,n§5k 7ͻdqlDځcph^fV퀒]>iLdq\ Xk$AW|_ms(j"7 h.R]OA.:fPݍ`` O5}E)+^LM59A0Ab$mތJ|H$#LqBMuU-az)CG1/}!BLmeeK-;LeW95*q}ػ3X@M NjPṆ1+D~=z"^d ~S t5DfYU²H8!qA,aqa[gҼRI,3uvSuOAL- a%m^AP|+߼(p2\@Od`w @'K[OR"A~H@lȴtŬ-]$/e%a8)SfT&5e 0v"x=v@tT)f$tQx:pqlid*>pVVqr3qi@(;/i㊊ܕ7PeR؈}w`΅pͦ?&iǷuwfn&&Uq!1(c(0<=C#x6p;ɤsмl0ߺ e)kaSNfRWۛ>i OP+0wٰ^޹?u}J{bS*Z9K vW9Vч W[&:`KHpwb>yl2]S+[oe%A_Eb mH{50z/ Gi}0,Dec{iUGYVo?!@4tj8]d>CJO%]N罇cQ߱czQ3oê'R9@=w򐸍[G`v{rM1=y.т:"Yi%&s'Ԉkf2,."igL2 N( @[EΆEbDjə>@화)k$S![Ł67ɇ;FR&@ۀEF\)ՙt<&mFML,b,~8|Y2w% |u蝒jlR>b?MaAX y셶` #[ )6M{I7zg 1 hC#@ Wex/l Ҕ\0dcmc=h G~゛"~d^Z}Ad Y$;"[%8Xw WB_bn(x YUYvi3S\(nȮ$KYf~TTFyMzPmtՎ=((b#K\z0BՁ| j+ye_r @AS!s`SUu6$^`=+[8#<`=g~[UYb =X4B%&a\%FPfG"T"3ӟ Kwv5OvY(7uaWHZl;޳.{FPIT{^mzhDNr[;/?d-!/Pla<3+YNڴ|@A]†rsOX4ywV{{cm9tylB{{n|\ Lɂ#\@7QMQ[G֏j{=sf`=߮Xp5a^}kH ޴vBמ7^C_[|!O% qΔO~$Ä:Bc). [n}*-ZNWd \Ǫ]͟9$(#0Kx.$Ͻm]ڍMTi_K}'Q逧ݲwͳY\c6i D,2Nwu&Ћ3p83}x1o2xZY'Y[|$HB/bi.B~B vU?oy;Ϊs[-5W `2 <g;s"5J;E?V,}UZ8ɍ.X|;Bp?s݇KؒRLJmXө)݌`XV E}sa{#(ZJ.0^T^QM+`2C瀆UOl[! qiU"o"VɭS( (o&hA䑙[*= ~B$䱭؀G4˫4~$)g`U9n龜K5k:mBXJ鳓")C(.elytbV-Z6Vpט_{%6o6[8E{&' ^ρS(0n6Ԋ "1$A=v#'e0k'z%+p^EF L0~չ߻ "],3qX 3S m4RJ n71=»Hjb_V7tɁºaA:v'*\%i oYdUdpC4Nd@ !|cqK/" Jf[7bb$E-*nG1P?|]vEuٵ٤ C7ј2%`6T6eu$e* =&}6z9W->2( nʪpY-wo%@bWC$Y],,F|'H5|` MGrFfWzL1IĨ3s6vAӚRO_^ lGOs(lWo0LdagPtd#uiM#sU&\+B@G dnnvʀbSŖNKY՛;_ 9×8ejE2۝Ev*5m/<.+m(T=CB%Tg)8|xccx2=}70R /DgvO(o Yi=dpi8VzXZB#^N.3u^G]{Ț^<(NK<>iFV#CG5,ITo0}̻O RaF u*%&8 vC(;cwBC |?Fݳ~Gs= /ሎR>=@,9T#m$cœNr z$n_,b%k)BH_vs=,\ϵoIs't"09G\Sex(G+x~w& ;$Q@(̡ Jg8^ Ye!$yOA98CBgJkË;Sk&p}"2_V0u0~%bnԻ"ҦyN@!9wGNoH }FV}P.e;&ț|_|#KzZ6 ב82i#@\&ϝ TM^Zà+>uL9+#|kU1_W:瀞il?ݒc)gu5Zbsyv#@rKhbG0ʸ16L[t -{`j'CCIS+ I_K>{#Zc5+~ۗlTHN<ʅѧ:e!=DˆG8*B9? q$+HJkϼeZNU ~/?3^Y nd3]Zv.QO휁tq4 i~]ȼsᮄj37<nr%Ģp7 eU\O[*X!Rev^%!Ig錜SP`0gAi &E#F26T$&2diUSu^~@;_8ݓ ږ]ldqH"X5HGyYx@W.p-ITgk*\xS'E3΋,4K_ ɇeNHoLJNVbeg U*{y,k~j5hULek@'rL{fP.PT@kR Сc~Պf93 [#f&V9ɑ(R_sZ-v8hĻeY,@~.]ZO$1*fz+mCGڡ42#@ & b˭UO)[B]hiI-|/O[S$|N ^Z%yJP82SI-'C$˘=;T֗2A? x}=TŌZd^M@)rM]?qঐw; ݳ}"pbKE/'@/:tY;Nu^T>qʷHqw)"&AFrGz*gc}(H3i kn~tk\=_}t7 p '+RtnbY<VuCkgi n$y)*!ڝETû~$,~A\hxpS95ƺSM]-.댷iG_؄H}&ڷ/Q.Qq: jf1+j S:s+Yy \ŝ-3Rh[t*L*ٝ]x)cCOe/!8O`s¸GLqT׳9SYkH`N@M4qo͐Fb<(n`qJ&^D`!"󠫾C!N饄hwU3ޱ줈+L͖.^L4o_2Qܬ.23ŌhXÌ λNt̲#l,^& }t?B0>4ksYǭh=l\:尜Jئӛ^2ݓcmٙ9~uN @5wzedU GzJ;2D> 3 A ]OZC ]Re_麜ւ~zG8/K0 (\}6Շ°nx dz 3~qhRHMT|iei.&Va$c~/+jCUJYaU`v Ţ'KA<( Ae+0!aI#=˯0# *ΐX 3(x)UֳLb9,iFW0uݖĥҬE?mM{4~&j-{AjLdZ`,$@ ].jzt|"-gU{S+dSPi.-+0:hI T]PNs5WR?/(ճNM'3E$%'Cq0Ii3k&[Z|8mw9[SM_ w}_=t\o|O,rJB/[TVcO}4p*_C(JvԒߛ IAgԫ?Oˠ5G %ԗ=lՔ k3溕$fC1tqER<:W܏5q,Ej8=f"xө50}eD@x6tnF{b_[\/? 䫙4Iy|V!>9AQC|1GprUj pcsj7m hhQ+?e\.ft̸αLaKOLD mM>$)c t UAwDG/!1Bx)BkXSZvI1G`oU9o$ lD|e+d~In:f==!4~b8hy# f1fЃ?L,>?BTHG,|`-g˹(;P' bs\1S_D‹ ]{[)pjp_۴h0#xI5R>LQ4-5}b'6dv%8,"a+8s~]Vɢ=K\l wւuE7ijB 8i^w~RT /HԣrթYxBtwpq>v" >EpRgWT/3e~qݬкq@AU3$cUn*iioԨZ[c{3r%LtsKET~"/׾&*z ȄMXa?ͩDy>uynۈAtó13S?V+C\.rYp {QTEՆ @׹{l-c7l سGNߡـ#43I~64js,wF, RO [@?3r;QybWGѠOìr]7i5A.㒴fXQRP+3SL/B AaIEi*Vc3ZkF^[Ln¦ٓZ$!'jan~@ٸ sguȋlid7gq|'"_&dV1F^Kq,caߌOb C &(P`b!VsO#ď9B{)´6 tdD1i QlHH"{6QA 7*+`Vo CGxf-GEt(ONq1bӴҦ^Gz tb5%dzn6 mΗeȻɤ8fZyM/]uhjJ .w!}ڼM0襀WI>N8!--cIޏ?҅]9~e(`;Dԑ7bɑJl$É_}ow.<>/ksTۑ GAS:HSjSVWu_S ܝ,8L¨pF8T_h=vgZqO_NJK~KBc&xQ8<ׁT`|A+8&I>u?Za ^fꂋ\#Hrbgucҙ$,&zSV9EcuV&`Zhw_6'%;pS)."jP[HX~*BU~d9M^u}aĵ0OCdi.~NJLcU`}@_+Ҟie T)T?[HR)؏#5 + Q!8jWw9J,t_$& 7t:հXܣ]2:R7Bu95IvzbPng)IXetU =%f."_9vW_g1٥ |+o[u? ȷ>!7Of"]q0}?ӦmvM$ē 2/\씎,z0T"f#߭n%$/{F.zeCoS6HyN^L̽'!QlOj_}w5Wv3g ^'WJVd٨*Z4)3Zg;Mi lFU)1upx'M-O$)Jxц}(zgSϰ'SP{ժOgyoies|t2f'xPn,cSq'%<ϿB!Rwi³~FVt +zD% ^5,hY@.@m^_O ;䤴/9ZKjoYqR#v eyYz'2zzlmn(T唹 -'jYjF_HCǒB;8̬Cˁ7ߥE: 0ģ)Sj1ƿ@ti]BXTu}/bT2X`nryYH:G˂AKz1 GJAL`ڰ[aMyIfҮ@k}9*YݘH^m*n#Uw=Szazxݛy M90[1_l,-,W5aNp*3,gQ]%3QtLpօň8}fuD 3+@1zz\;#u%}lcmW_c"x>",BV^uev3P ԧͽFv:0MWZR ké~҅7gseGÏ u]'>_E]pqx9D@L IG'1^Z;`4H`0~C)?bq2x C}i^$cˤjuFH|ȊܡqU3'f͎F}aaEB跛Aqj"&e8h͋$\[+b.g7c7*gk߇125mc_7iˤ7dMP:@. ^BeJ9tOMk.j^)Ңе|rAgw=Q Tᝡ6[|ʼbCx:%',p>'beO41yX#Jȱ>]sGΕTO\8֏ݬ<|뾝YՂ*|؄aʢL l+5d<;]9s\ܲxNI.[@ EF?^:x#oXeGIxb\\-\4)-l۽sz]ua'kњH@ x4X Q>fj0zpvax"/ 4Kd?%ya=+% S6) Ñ֏qnzMZ;pSS>wq ioK@-uZi;%.?Kcv㰯o3 ~U_!zKh_!A*xխu"0.X,>#~9.?e8jĆ* Ԯ:`2-qS47zY?J Kgj-+=iHAt3#HS Khq2vu)O~1~'P!2&_Ǹ#P7}xb!6gSLjh6кmn O_G,l\/s,PBߑMЅ !\tai<Ŧ]Z*6RM*xbE"]8:XXrR?t5SmZ/5_=|OjبK:\̞Ob]&iץopve[lL+ׅ>;SN6&DOJat{␷rQs/9p"-.r.Rm~9إ:n~k+8v[N;DSΛ?&_&$o9Y<.T^ HL!`"q UH:إAA6*c& q CRJPkKee1j\?B{*ݵ`adUr.W9п9pk1T^$Q*f? 隈MA#lMTW%tM̚ ]8DLꓜ )#*3Cr_.[oXF#VfD{%s G.ؒbIQPIeĢHsg!{=94#sN`Ɖt8&1ۥԤld8b81i ]wDҌ<3%h$)ϤC:'~qȒq+aL/#_'> z.)K`YOܿa1܊Lh,(~d/t,/YlQ-*c|T=URVy$LXxWC~h.` c4Mν{n>^'@M^,u&sŋF-adWǶ)3dw1>7燱7--1V`] h ݶQbt-( N)xMrX ԧz04(VˮW VU^mI'V  qSܤ0Tk4[n)r~)_V J w!@DG,P'Cݶ+HXbQ˛t;.{S Pm$r0L ir`>tW)$jz0^ :yX(aR9< z8rN8zu\R!jș ~(lܲΠ Q$qj捰㺪ٍV Cq!̖"^3{lќ{Vu?;O4g/T^T?5vV ylq_: n[@}S%ՠ1T\(b̈́*[YUiKQ11 kԍ(-"='C2GX,\S}Qlg/w((a0+91/iӇS)}l ,a8&GVx:YsN%C QHp59e1>%PDr ޛӒ4ˤ#y|'?jxnN=G^>ZO<$HvZ|`82KSڼIL9Hk9J ØyKsJ$2GpNW<1бV'ҎH 8ntMAtSX3|]SPSboK^7`=A{_s +qVp3 "cBH:7gN2u# A_vG$m$L = AtIDԿݵˏ2Ĕᢂ布2\oPK*5:BCǫW'K0=|oaLGd\aQ~ ]u2 X/#.[C)lݨv!7!P>HQ|X´bz-ZmqSubwھPCP!L\sһ0܊hQ c1x5GHGQJpqތ(z{+)"O~A08tlgQ#י P(\9zьo5*CbQ>PI92DzVmNx^VDwsLV[;$lj!˦n7!ޏY3z\ >r q"pAKsǏCˇݞwAtlȜs<:݋.->kƏF_Ԕ0s/ӢXo%(xb-5|op)2_NWr`M)n*:L[CAl4TI$ :ހI}g`\@6U9}qӒ0"'`tB:t6 %:w+q~AK{Cxr]k"ȑ!w}1li-_D.iFM 0[򙲰=- yr1g3C Rɋy&9ogّc9y^?gZYӵ[ل= huQڬ=-M~F4.y2؁26MƇ $>9Patn ECp~\[dxSu4fqGJXf&#lk % ;лتVBP(FaiP va(qS5n鋵"FiZ;@>,hj+7VH_>xw(ӍcSZǿb}_f2Hgugy2H˽B7O(NePynSU@;PH='J zk[۾5 <眬ޟ!<47_AWH<΍y UW*h`qSc^%? }`Jq¶4 ⭌|xɭ|^n\C0^αハݢUUmIz8J5R47ӧ!K/K!%2bm!9]5#T-m,DG\&Pq"JBD{E2{ʪO&g,E# :}k3z]v2&/.U]x{GR2 )UMNdGG8$|d|r8L:_m;mDӀ LN#V*b@&<;eP u5d$cV )yFΕv8"0u̟.8!`}Y2.GBo+T:3Sxj+i7|X-46H/wGtڄxY$avāځӶ dТ[zPvhƱ?qH@Nw}ՆI!K:V*.|bާܠiBIQ.||ÌgEn G5XY+<݈DU9A&DӶTWM]Fbb]# KqJ]y{M0Ѩ!Fne&-@t {_K㣇ū:m9She/X`Qr4En= @wft=*㜱uEWTV-NT(Qz̽^ި;q_D^)rW?ML7:lc}YG3cyʠ`d9lVQP[#jɣT {!#& edrGW ʣB%Uq=ybka.&xe=;4(Dn7D&$4rU)nl|ɮ `~!"[BШ^dȐ T P`@!+bI"}f;pIC(-waCM>cI4~`w~\[tʻ=CqJ58MxڇNe?8tE΂a;sc399Etgtsg@)I]E]74_J?:[ {&(k(ƃ'oyF= e שoR8$rc }(LHޅk_G31CK0ʖk"WUN<_NPՠy 7uZZPSPf. k/Lϭ2V(H><Ŕ.@Cs7"`Qshf=skf+n ("ѴrL}DB%+@xTy4Ivp( (<$9߾kJF&swL ?.& Щs8a33%|ܶm 0/@P~3*U*-d^*VyDomwђe< ,-ov 9Z5m}yzI7]LIˉ7C}u[a# SGeC.$hQJhLp3Cf:E*=Zs#iR'|G~LwU{e- gkAp:tȆy^z_{W!S&+~b&#&?=Jm"0PO~ g8n7gc~CՓ*{̷<]4I uP_QϴH;<%Ώ_4MZæ P[ C `QB^y}p:: '3DU?"xFU#}`#!S`51;(CmB_5J-ufn wW{A,$NDSmןT12>c>W њ4o:/D iBqQS@]\$M;2#oz\!;(;F7B,>핑;U3~l@wĩ{4,4c_VhK8*mlCp)4"~i-# i92bŎMϾLw&+Mo"$4OWy*lSd?3g} 0n}'(kmԔɄ)5L yAh-+e{"/VZx~䆑*x-ng? Kn]PvrihA% ;X[ db4c)C'9%ቆ ZTu?q_^sN.ޔ>YGH_Yݪ-C~lBՓazt Ss{^J"zqmH ۴)ኸ7UtTO]owCl.0W}^/v2-LA}6C]JQm+* K绕EPB! p,d~ޒQBn'ǹ_`b>#%,iTVgXҒ(m*PEcBFe. .٩~6,kS&f;ѵG2Cg{Nf+$cͧGjr'a*\o-᷁g4С9'P#dhc]ŭާ2ΏAUhnv;c%#V/2 .9˰NgP\WeК ڰ؇ C3;:7Dh:vUI1%FYk!Md2tn6&W_fT 2JrGfGeT3z M/]^]TzR2z.QyoJ:5L%kl^[K_ELnğ.:5 ijvUmYN 51d!{å_p)g8F( H)^{O6eDU~y&vp\U{ tx=p#t b!Zfv&{Nt\%}LjKuV2um͌a,6;Z{-64~B'YGჁ}Aѯ΂a! EZ_(qv+ `[] J4lu׮w$Bztjw*iS W$8<N8 3pofJ-Fcu>wbD[,Ԃ*e|¿J@yPߞ~1ߕb!_<τ([`km@2,a|Ncς߁l ^]U]E%RόYW_/̝ô@0ފW*k+ 2HQJ s@I>;f%917gd ]=p59s )D ~g:겸FgF*^ѷ= I~?և1ѨڄOb E&ej'qltfjE{ 2IO(pOb$FG Xg] XxϹ̺>Wͺ[СzѰXO.X9ZR3*W$/cW wYrr}X^p)c[fxoR=}i4' ǛD6|\zEaN*"={ 6`WNsH6R52:7~XHx;r>b`aLvhB8%{*UfBېL3a0.|׸0I苽BOXvfj'a.@G`̶Me>#X #K;=uʩ22{snMU=ո3;_C\lzDrvWG1H ;QizA<$+B͆g Fj&1Hkч$YcH6j ?a\ B;J31jiUdQ{/s (eۛ/o^ZaBawv^vg"A< @7)] L"4S0{R Ց0 =;kItI.:{oN7Kv!=vQv:%#Jji-<6h,X9JѢT|rɋ`_-#Nk?}-ٟ ڢRT.V,)iPOib>Kg"M= S"s闻=o`¿"\r?@AkBΚb S>HTbYwBx ~f_K#ކ>qO^aak"SC晩a~^jS-ۿKz MhMwo[}9_3s]?cke^+mG^^_UYDO>lNE@Rb$tf:Gc FP46 Ag6cёDu?2bsƊzZ~'G@WEO٨fo9 e2z%Y4uIo2)72-k2!K(pZ_:ci-ej׈&8<@!ȋ]k_S6mufm0B0aݻZ.Bԕ_vJ%=ڳfs P4GLeYIxSEkDDJHX:5:#VʠARيﱕkN&p>(aU=-1@D]8cZYrn?9Ķy!)Na3%Pގo4u!(Y{*hUJ{mj{ft7G'Uw*6a}Rާ]zB])by;׌c*PuB%:oɤ6l;liPCG?\/ A 3\ tl3L:dqny+>hB7<+A0VW+Bu-LUz/îanyIG@&+[hTh/_LYӧ*"8[qyeŖ:`.]v$5@"$&ɀs.eAr,͸m%paik8|M9/7tY5+u<~:m |;4}CAe`>H8F7o."!訳rE6[JĭjTr>{\hh7ŅjK('QJ/r7ExS ۮhɮ,'v?5Jt}2PoSa9zwƖf[ Mޭ9 OWΩd]Ìe{?";ϸ9V#YviMqtb9XrxHU7-DHW*sGw"G5QI(_k ;:/(BVE/ Th -$s]S7ޣM.Q!I0VJE TY`rkXj=6uP0{wV!%u:=kP` +1KXBOGu}1Mi^>){]n5?C#T]F>sKQ)h}?&"Mn Xw_.3T@H0 yUh'w`zGca%7ْIШ;ƓZkbCJ57_TWy[WMWu-v׊C9W1Tg4U:ק9oͶK˔ te 7-ظo{4sx(Z ,-O+>QM`FycJ2gڑ"f:xw?]k .ce #ڔ/-%X<ܙYCuő_>n\VzgapEO:\Sҥ1'h? [Omӯ8 Iw m;R؋X$Hlc)$&I\D6yM$Ү4M7̍\ACi-8  =pf04!wTV>Xm؉= IS>ZG{x]G$i%ZTm( 'r8o2wCӬY K^ ziR¯m{NDk'N_e˔RmYdQ^{|꒷XIdamh^xh_' H1 MG*@xj.>බ#(0,A4_7\U).K{MG&,ʩe@"Z 4ɓOY/"D۳O$H;RZ*0J='>i/$b=>BR vTMNJFcm*o]Ury2J{ӎ̓Gɂ#hN]8+]"snѢ \&sQSM't A V͑>N/7FBs鷺Z6%m\;EjW\\bdD5B>1%b1CB _ ly gy8[OmjDW@v3Rd2Ƶ8q!=+?5Cc ]u(LEz1.,8 Bҟe0U'4{Юl/Bz [^2MW"/ w'0Z&s<( 7{#"[CPPC-VkƲzlkc-N~Rb (zrtwFTaUA&d#L GJW״YAdGibf19"$<Nf̗'g;60zTwX3]I:VE"yWOK=LFʄT7&釾7"7fϿ۠9~_&#hu񸙕Wp\ѕY*p#ŮR8jϻ> ?Cz"”y5iOf C}&\)%r[^D\ R /sR`GmjE.x`#|Kg\}Y!>"An&avcdL^a 5Fd}I&eAxFԧ>* ]/`iaj5nyFjo$_l1%J5ŦY}vG/͉1A.ɷ'fdWC+0ަtdi};hzUT[*OϦ ̎R.&jX ho+ڰo4=Yn ^tg7$%-?A {?+DbbGx !oX̒m MD:-w%S<+z;7&82:)L4v$o6[p/ #.Z ' ؿ6 K ȥ7_W@̫Fwk;U3˟9pq~6˨Ҹɡ,q+7-i;ى*ƓY36NitTGG6حiW`9=鄞DhrnLWKFI\;9Ex;>u lߒ-M;m jرl="Cʎn";o M#L knuiv_` KFnJò3lf,EZL(Ua,vEhiäE+EĖi`oJLp2Bv%q‚Efm3IV0=|Bq~QWqA'S{/mWeǡD`Z3D*dGT綀0zlc5_')3ƆOJ4Jlk #;,yfKzy'~-]g.jG g_ƭ8Ou[hDWH*>*Kx©nf`pșSqL($lLd0hV#{&;Dj@[zco4xVevIv !C:b%#Pɘƹ"CӨgDT%nd} h NN2?5ѣ; %-JjH] GhX{/Q.[ou\rƨD9jhd G9T^CQb)RYNvUqh.4i8I\HzM{d ҍ%lD=d=$o1.%/pJvB.|x-&#x:zAdcѿFn:`^lC ; . {eVń>/-stKd[wC`:v^䯢1gN_q05`@ fc~lf[S__lUo 7~ԏfȖ&0I<Xگ_ 0huPFɚ@U+q\5aP|/8I@Ϲ*'GU1fpoXW}Y0Zt*&ưz5FSޙ2Ps[y<*>۵A;#9!UwD;GFie%_[!pe]oEyU-`:qQbo$vpzImRgĄ3R:FպvC|$6:YF"-EZCwc{7jNl7$35 `힉`й$ɴ/)>^_`XS30?Іc2񹔘O*-zhLYPuh!*d~! mS^5H{QKX9Q{9xXR7A 3M$[D[ٺD҇OBLyiYugEa jIeb=CIo&OOe=*+RxZWq5zu"rUԁ@+wUײ=bjm˱nh&ːBӱPQ:f{/W>3e T0CCM kh}/Uq5[6G4j6}*}3V&h2V1G!E%nW'$&,ݩJ&VX!PPgbb*vZD;,HG:FE}Bk73cBg9gHL{x' ^k?u&woz=pPz湖.WYr#V+%9APy,L♸V ũZo׻@Fn0ZA-Lz,1('o\Zxdר/7l^&$M  ȉ:N_uՉ.*RGof2 f}KwrY7+!]]L3DA:UB\^96TPzW5:S M8f$sg}9]yd!d[ڶQ@a 4bl).3j It3n 8wI@"`Dj&%lwPR-Q,YvGcȼ¼XisCv{]2ΞۚuWU{ʧسPd4[:/P<ЋS)Y{W)Y2ʸwu+=8R:•6^LQ0&.pY^rr&flYܨ[AGdzܟ=k:Am/4 ,M`1rz[] =L'ڪVeӀ}}vFʷ}/+8XvvԴkMޗwku;iV4J^MN#즛w;JYCJo0^[dr7l 5,t#\~At>{/D|4F!l4/P={C1^bd>k@qhӯH'JO&`͋=2g꤂!r޺$ ]R?GpUP^nA%yí=!UKuzN 3ѕZ@LaCPNF7Fjx]F|{ T6@8IjKP^iӸ',pN'K*wر7!-o鲨;4%4JTȭ4鑢ؖA5"6{1ˌ rO2Wb۶ҝ7=T( ;k' !|epÒGn,\cE:tMYc TgOP$&k# Җ-T giw7wb|tJuU"s0YxΝKJQ84鸲lقiG$_oM|?c@FT j[M4ApZCRUfėZ=B-Ta}ݍlo{/ޏyym tXK. Y]b]h+-?{ 4BQO%[$g1)57|Ɍ- 䧦.yLl*΁Thta^xSRV?c(d-Rc *i)۠ 9xZ<짱Nfjv _yRȜv$~wZMg=.c^y#m)05qΡ+ABoGbIJ^SJ=7W`ȺgqlC~6Z;;1N8Pđ ԕ΅C: ?IpF 9M{?Al6XNwS&|A%&+#8y"RB+K^# c!g-xh1*.Г;eEslw\[6.>tyv#BH0(!-Ca | ߈5ߏk99zD!pvݯ{7oߊwNCFy6C8əvp)ڿ#!W\.iW:CO*2T0`_)ʿQJ!^[Ihdnf0LoF[$-P0i9y{ӸJs?fIiQ`r`4kJO<}RtHG=|_#`=t V{#N12mXOU@kh7V,וPđ bhu"8[aa_}Obm4p|)'v*sw3df*l4}(h5nL@C3"z"]0ox Adu4Bf.BCM^MaEBO}lfLݮm/%kqj[j^Iy]rD/J[P;[WL?Dg^t\tw=Bw;xQ?upZ3G9uX@q N+/4N9TLrt"޸dOїrXF$gd bA=I{c'{GA֋L~`Ԛ9^PanɨguN11`DZH꯴g>~[/`dQ !IlhS`dcT&UMx);ޮ1֭ 5ćJY+FDq~nx bЖ=pmq?zDYtܨ[$MgZkn=W_/ҼF"?*/KDH:GBؖ{X%jD8Ä3Ђ Pߠ`LǍǪ:5 ^Եlpw"K8s uʼnѥ@,< `3#=зBY+B`:Qi^1%dH4\~*cX=%$$\d.ǫ2m͠38Ԗ҂q!1dMxAYɞ`2cV1/_ҧ*eXˤ-ݮ5'lrv.cLN^]R4LPtVnJͶ*_NeScKs-Ww *l}DcĽN ((X2` -'?Th8>RWJQ S52g:vL>{&PofzLvL^ڟYS* xU O C|>N꿘Yw2);K d=SNI]TK72ð h߾.r\J].n-%W (:\ ʘ7^ƄUȫ/Xܲsa v])GvAO?H?ʿݕaפ.u۸ﮌKcY*S G(ޛNܢ%jIVYhgUnbVȶ䂦Wn6B URFG2mWX}٭W2-rm˨ߣg35^Ђo *0K5. 6Y ǴpqE?BIQr-Jnсs٪jM={89xoa#'P^Qj^Dh\`B; 7c+7? xoi2xH5, 3iL!=Q1W<*Kn2Hh|!hy2n"/E'Y脬^]wD[NhΊ;Ђ8P{p!>teLkOkƝ3ŀ]l}F58FEq?Gu >ʁ o]Cky|Ss !YI)\b3n f}fN㎻*],c+ޓq"0 ʽ3Mf>ꗶh3X8:ڱ}d$!Pjʽjƹ \t  1r D}~݀`z4N[S)^}&LzR_)=mAr6NH&3R33aTQ:D"øEyݤmQ;Cfɼl'lhdo7i1uYmΎ֊M!ƪL|R䠵,vK@qMJWx#\~+`  jV6 !n]* v"zRƈҿ~p:߽ןtP>?|{@&MALtiIOXO\!Vyd9rڐБT'@RH"nHf Fu,"G'8!MOQթLfp dO)3 T؊ELe'ņsU'w>LCnP@*st:-̼";>\Dq53+0!@I +JLoW 5tyc,nog\`O%]92k$dN\߰˅ְS,T&4V(>52oa^"xW"I/27,'z)wI` eS=q +s`NBx4ҋp_?yG̨ӛMh H-yҶu 1mބ?ڶ*Eٳ}3=L$cOIdcscdp_pƋvj LJmA*0N]/ANc!yf҇IDEcRvvwS5S`ޛ*8Wdc~\N!˾Ȼ caPl`jj41/-Ѩɬ2PN h"SEoQ^4^.po90NdT#kZ}6B )V=U/\<)6Z+˫샆+{-A8J`tKtx4qY A;ǿ~yyBzEJ/ x=tbm#C"^쮠m@rot7;^Ju_Fk(Ԍ2@ʬtyF䄉fS0w\ue RAkY٥QAEF2tmZ;ri}=I&B'T+}j,sO _Rc#2:/ӯ骬YڠR7!`j)?ŅVM}@-Yߩ)?dB.WӪ9o!u< V-? K^ֻMxH$}=-<9H $\ 7Ub>/Tڶ7qͯy^rJATJl3'+Im Cm=rhԩXh"ŭZ(;{c+U+49&%[˩:9*eU{ߓ۝BۛT _'n nȧwTgUq̌8Au ǘnB+bL ED0<4u&m)6H~H)XN0сTJ m)syt}amPM] *.ؠ?o[nTqFmw-kNuV*KP&R FH "6Hn)Y3 j@| f  v3a|0%l}eD z8#1m dKSȗU`U} @8UN A}KD((!n]g0፫߆|r'~$ D=P-&.ǽoT vKHY K;[g |8aM,o6l"KE9h #+b]q'e/A/hY֤I =*}F-R~mbLl (I(2^䎙sTN(}:z:9 -dRrGG?]Fi8׮кt &u3 e$+OrM7S+uŧF0V,S9[@ x '!=Kk:Q";-EѸLE+DnlFjM-gqAhL)|ݳ<wqv!#ɎP\";#+/>Co Ƨ5ӴEݰgs|:@OiG sNV) g-ы| ^߸':NYK'S7nF t>NJW1vA2 ),2YԧQ9ՅRC~86R`>ffu3asa,QRjFLTGGV]L5-6W\k զ_łs한*XܓjV1QF&j Kz]-WkzFxHvOd?[#֪s HOyM#~չxKy&xe-]!D@fT($8fZ$K@TxotO 4bf 'H\fJ]7Gw e*bWvv)M@-N(L&,P@!ŗ,fI€i=qktu|? DĝYKWZ髥x.",( KO>QNˌAc͎G{[+c@[ H )h)sڷy_M}3HTgF X[W;Ih G]c:4ضƔgyܟ)` OqD1żG2  bi{~tӷ.Ox-)O J F-iEu_e~V/䆼A %1j*R #h)[4NzKԞܮ #OÂЋjތulWV@4d$7z` v<8UvCHF}4P:'_uP<'%oQq4}搠}# U YĒ>if @nρDĠd  ̼y^Eq"(4 )G!sqe/au/o\\d+'hOG~s wVjP]&0Dgr%^[5/# H<-']%alš5S$VrɈ6}z#ik}Ghyj* qvF}4Uz=}mO^F$.7'j 0R}WQ2@n֪t[k,< #G c18)]GU='-}g#DvT*__-;%s&I]ã<{; @P Wtf.dw='B= {L56E6\rmX}D[)`bzE9ږ [U1vO^ P F(wK] ѨbdG8TJYDTBxQ_\7pH\Oqe*IB$w ")#6jQc" wXֈY~Qq>mSI^pjxfGKj<;rkcPCa7KwC8Ncl&+]?q@WI;ϐͥQEۉպ&.ĐaO-䃼O 2GdH%k`H$as^n;&DYEBqp,SMs+*(.Gsv酆]J*Y;bIialۗC?_~"?v&଴W`w񺺆Cmmgjt8lOq~ Fͨ7\vL_ 9,&0E-4N=I%+P b4}[&clWlR\K+.frG(|VY_RMR1*I/2D rGgKZcEoJ3~A;#11pYfD5yf7!\ ,5lc&̵~0_r{Y:ĕx*ѫ:Î_WHnD`2 ָ5^i}ޔӇ͆Pt\e~5c+!].SMUJ>. L^$Z1FB;Ch,%W2+]YƝ"NԵ0Q0*h HKGEbl)_>h ::ˡAxI:6Q4w٤;VhAia gv1 I8|* [dQx#&{`g~T>@$3'EO0M)UBZ뷖=K3nGi zz9_s.0>"Ivl12tX1V&Qc,I. vsE0 %[km]-oc XNpbom-`p_J -j@3@8cw0LyrxpK|n-WGߧH Y7 =-TtTA0"PݎGA ôzU;oGZ}}DkU7LzG߲PԲG}]D;A,bd㧢.`Gv+sk$|`.I FG"~2BP :2st`+.e8'ʞIg}1=At[p!ybhb3H"=r]<"&)g.;iv2sG3U=ܭKkGDzr@>|:x;Ȅ2<0t aUӪuvtXk}GqbqF~Zv:ge0+ I;?1d̵ ;ҞD;&eM` 4/<|n1=θKU\sߴ6scZSۓxJ%ݩ'\ J(B<+(* F,AϓZ&2 ۔-/#.6nv$/ ڸ@VVH W ՅC L<.'`$BLjU6@S/nb},0,s.zdbS ަ#Ð YWi&d%Ӂm\Bw_ l`㪁.3j?f[џE  f\g]K1g4:ZzMZ =EyI89I1J]IQq &{-kw<8&ٯ Wx޿gXQnpUԀ gߧqCfso3L diFLcr<$OHmBT҃dNGc* 㩷,1FNGKF⭲Ip8%B)!吝UzhWD&0t6[ëY L;ɜmTV]άQ/j0;~x9Cۢ A!k ^  nm383{GkT8o6(uog=|tZʮ`xt=2lm׵O =IIK-зU<=SW2+'`eUFF iXCBf=n"z1ɲwO_rź+$@:.ypxڄ M7D[6rOM*;3^ڲRkpDiȹdq*bKX["#п!'X#LŨv"J|[ _GL+lFL|#Uٍ (+U^?[Nn2Xr ܥ8k0sRi$KO1 uy#fڧf9Ӣo>EUs܁Ĝ:i mqfR`BQuIq\m U`91txF5/'\.ٳ;#Ý!mG!B8^ x ht bc4Nڨ1?9(ݡ xr_#fDTz1W'Tw Wg<-R G a-g'21 (nB%~Sa*B؜Iڸ5!›x@k.VCuh`x귖8^b`!6$2C({ج<.Kb$^FwT 13y)vcÝP̥3$S@ct{ϤNűxgTw4¥ƄB2 $=͘_ '6<*yRb^" s賄PbX"֏=Aխps2Us#3$ǢIP&CPM)svcqT}Kyp`kZڬԨli|ssgI^`'6U,H3 "5ݟK㺸0- =&kq`gCiY1A5CnXV9VcoQf2d&uaǒZ%kyXj//퉷o͹㧂⡻Ց,PY.7W*.M}ihRoNSUŷq,BǢ%1a*DpFqA6]Wٞ<):TTm?xq_(GnI5Ꝼjhw8rRA,uJ{]N򊓅(˂ z}Y=zJ}N 8S}'$~~vE 5ʭS&% Öi@<UK RY 9?c z]{v6Ht3%( ajs$1O9<#aQS6A1VAͩJz]+&3]㴨H"iB>tXgG]?A{_\ 7?Kr.,!<Z=({)#̞-*ZKB1܉%<+/[X % #V`{s_N TX!=vy]K6;6)ȃIf?=!q;2!Eā*ڮ(%&% mĶQ,8QUUe[K=Q|34oX.|`j!U<_&5z3C1`mM69-OH6MaR]@NBcGH,*tЌ/W/ނv[eV!y*]R]ں7q)@uk 9+_Fmlkym1-5-h/F cyY# 'ёD9ℤk]B@H̱0pzRD7b/aYhu5jߎD'L .s-u|9kiT sl@T?ߍ Ț_+K]睿_1n>׏ 6~ŠT^#NB厍̛d)q] 6Wq @d\Nx( \/3<7ޫ/qIMv`<E1 >ì8t™&Ί9X%xx-otL,į:?r`>RPm^%gDڎ,d7q\o]~|ܺ%1IRq=DGn8Vv*Ҽp;/$ýfU ޹GszUh9&X\Dp{xV&@Sbψ0ngLěa1L KMD.,/ " 0bɑh^ -f'ԘMO}TN] S[Irݐ? h=a+wGCuJPi!x=!tn\fT:Z?sverGd2C Mf}y 8_4%W%" {b|LN_'c-dgh]8CNǏRIu'xRRc#T{hk#{tg#8|Bj`‘EXgc fEiTa)uibn(4hڰ! _kamXd^$_A@LG1lDFW㮅Ρ ˙㡹A;bf$IcE|= H^C{$ZMWLsahFƗ<{jXXC .beh#?J[{,Ө,,h=r$ّ1G}e$ˢw s'|ڋGثk`ql&'7yJB-fwu#DC_|p30 )Q԰J}SGM@ 7'Yt^U aw2[ wRf84Gcݐȋy!]2۔6H55NE|SsY e_[܎ÅM`4BcCv%>{Ќz^؍-t 9U7L+0=,#-k%ԯ#9 T~T]t.nj8yk.,;cR  lT|ꀼVX Y9] 5PŸoa菒v zR5:2J 9:uJ&& ls.|X nb&f֯SWx}u) _ȱgM}]Av2rnLj44!>ϒꚉ/G:r"݈S͝)Mx%M EiX =fx+#RF)HQVnuoF:bX}Bؐu0.aO֭%o<=e0R]g0~''z E;3)qsbv>j\j'kV)+5>5G)Q2 t^Qsfa|ф8t3KRtAsth\cgCjL=V$j}v,'K`_VK >kK cO7+I&ɉ˙&:!-l>GbYdz=bBFe3ucJL]L;wdgo<@x˂^B&~Yt1[ zu)^q+˯ Jv {'aJٱ|2+.VE|)P-^K\aE 1 \bjqO>b)ث˙t@BPtw]dyF~ gL \]RY5:q #04C|5LIYQA$;=C% (V0|^8p gk$GψaQޢ^/|ka=XWOrOϥ)[G] sy÷#S-2 ݗK/'=_^|M h, (VtОkrxUs[SMGplc.6ֹTzAI, 9BQvtS<`g2 Q݀< #+j'89 -E`t욀I\@oTK7i}+?􃉻xϸ%}{8?0u+XKp-G7jjMF_JOąEf_d&R=r z?24LS"Zo|r|@м#ꐃ-jdwQ:nj A@TD_j@ ([}JQ?"Q @n"ӷrh B4x' t ̏o81sxJ#x*m5{qviQ;QR :b3>9{IA3ʾf`gr"}ϫƝMٻhY μR,1EU! )E~+|+l}nDp5yϑg$)ZAf Qج.Et()si?r(ufL{›]ѸƆ# 2t}oLRC@ h+8C T( :ZLYDP(?;1i7$L b~WH>}-_ڨ|*6F`?2W6~]oʀUU6 QM8jiPG$j;v3xR<Ξ~!1izXA?I?@loD-g:G[oR1( +ץ6Uӧ0F/@< .7{*WS73Xo0x8gwtRp jFHu-[R:ck="FN߭=YK - 9:De<eܤOE.[-ݛUle}˧f z6)!&hVG]W[ Z^4f7@ZcآgӸ(Ipx5L\o %RglH)ey#t<.A-bgRg 6cx`RBW-0qdd[q7:诵PDYvcR/ƲظVcKɋ][MQN:9ڇ${)0+o6`nk!E? #aRs.z! pwKiYz(!%\DY#k&+ ׀ׅ _vh&QXRtv9Ly (uBMkRPD?Rې@2rH؎X=~Kd` M>_ k@ ӁGRo(|)q!2o7/\l.D|ђTT.'p}8NZLD^fnhK2)`QeЉW_NU+O@o̥\8O%[m@}ƨxq:jbd>I'TMX<6~zFcŰen}kmE93Y?Lq t2O̿@rfvKT84IyA5ZJi $Onw+^©|G?r6KZ2W%DDhVصWZQ/w VCm?O|LTw,y[#Jwjw2Ejjo = iLle.ycrodq%8yj3"Z8AyǴlG@ׄVs7S7?[6+"#_Twlcݙgl`I4/K"A7߫ qE26;]Ϝ^Xd`Æch|D!վ3>ਖVE"0ue J>x>,r:s gb^/d?BW܍jmQU<(?^%8|QfRһ",CJ;b 9pV+`tp~ )Ths"D8h%إ L&T5x(oVLZF0_b5 ;/ +jh ތN+7MۛOtA5?H' [>eUa$FCN{\Zj;o`my1OLtדN` 7=guIj^>%* >;@fXߢD{f1 ^ kDn9.t4'RJk(49xKlvddp_qx8H(J$=W#]ae1DKiI椼|#C4i*V\wZ_5R 3<҄p6e- .C~h@5h u*(sZCH:R ȁXwuCE]vsqtǺ6 Ncyi'<2ap@OmB~jB0 TcAjQӿ5Ljc%yq8Lg˯/y0vk'G7 FNUa BNۅln;Î؝%P(l/wV4/^T黪%L~[Zf@xqrV^ڂ9#}X5b(|P3MNY 11#-JP:p ,m%Td6>T6 ^6qfр0̍U_@8,t^& MK,x ^dDs;A4A%0"'!d~QLEYJ8joI%Ǽ}&,m;جs|qySH5b}oᕞd4ٝiQU I:Zzn_Ro Ac{7=jm*3)HG'OZrIė_t/>cR9>=ء^ TdPo2"LjUXzB+*fDH;7qwI$4a_UӃc5L5XM9M)$'Ftq-EoD>g#9jʐZ iq#`YpU*⩝U;3U7#(VTP Hbp6\ L|nI0>YN˽b\IEd${G"9PUGKd#aՁP Fmne7m:7/M\LBϥmkaw=d9|0#y~ U;CGߚ/`NU?G6rƫq<d:<>L.m!pR!V%}!Ci=$KPq?25cft.ayU(crZʊs*eo~p:&`>b"VHDH˻{rLZj]F@sXng \qV7^Ti|J PwpdI]W ?yndYD4349kPebrLs hOFnqdG9@t| M: ML[ŗ`#_H#W |A!x#JaTPKBm0{㤂=?4VL#款u >Yz0ID!hʱȴi^eڢaݶَEUZjRҴm0.m& FOj$Z:nL%6yq*o.]NGR4+W,n9ozt5/GԒYbezZYIdToJ7:shѦ1窖؟yT*5yԧy%*!yFdInFHyqqfteI cMwQpcaĩWI SMB)Q0u$5MSXKzS2'\ ưIs4?n5,+]@Q-SiABXDE1!;<Äib| )qzFwsWBo=xJe +ӡ>&b$`dL9(Du:ȩ]/PI}њdLl|VS8lǾ*κ\sz.Cz&}X4vg&ʰM; y.s#׼Nq'YO?9֥f)Lwl-B0Wݤ ~xI?3r0oTHXܾ/(2+V ɞ-ka{a^m8047|?d7 3Q䛌e.9Ua6bٜU U{?h8=0'oN $U 0z* :6[6c=V2R?{'eD.f2Ty~j9}m6R3bWHnlJY~qHus$D&e8|C<5[wuoy֞ kLnMڅRUˀ:K9_0XXL2Pf%'nlֲK&$Ϭ64 Sr ^_@,cPN(Cd}Uʞ#!g2á ،Uf}?7ŵtqo+. ww]M\x~~ 6˸T 2lr-PNL%W=vriQ ? ZkhY}XeA0Qɰ w|" / i@VX|%l |\=ȅ%,>@k UP _:8%Bޅ{ KC!aؗ+{.c>X?ww[a#9eR˵ƺ~m}ښ,C^ߛ~ЉHӀ!rBQX C$<|E Pp\':datΜM}w#15ž!_#!(!skRGaq"lnlCf 0lL39@`O//YɧՑ |7AZ!Jj:ɉ/.* MM2 ؟7搞O~M"[!ߜNԤK 1gFhq I6䂽 ?jxIlQM>;2"4dOZΓEKXecq[  \Z3@L+!AnI6~G_ -Hzъʕ5+noe +K:e `r$v_zbSoI[SAU^|[1Gd4:"ܢ٩_T;Kan ¡K1^`wc 7ýl_"&?my챐gO%6N0SuuUmų0̼ B!|M(B6 D}\&}^$'x]m-MnIX҇,&T򋙢> Y{17[تay+r0)g鲽a *o0< !dC; :?(vZE>:?!OvZpmNz7-]Ȟomz鿮LP;< X48<`MD* Ԏ@~kJݟK~eb(` .K5ks8<]3*6L-P~P>`?Wxp;Nc.u:Oo?Z7<|mk'F#>dBzݵ{Jkh0jV^zS ΈR,Az ɱ 퓔#T4n%!̓*i^'( W5gv\ ȏ?ꝞѠ[K v696V.ZfCu I)kw|Nʈt[m{E9F?-{[W+ڼ X1g2V ,Ĝa4MF,oM~~BC >f9aNmCv;@[t* hu('OwFd:MA;E H[,!N*yӞ1GVOoi}߻ I|)15@8,d S Zh  N06|hwsTk ?^vqvax^şW LAF\q!@H}_}Kh2g@҅-܂\ w?y܈[aXH t)x< GsB<47RhnЪ7jcjRe9 , ׺;)beZ\K!jP: x?BM\ xtU ܙVnOդ8QzDs  9%O>0|D]A{519Nϥ NGW0A׬e.-v@06d7R#H@\8Ya}@,V6`iCHF7CѸN7Lʧ?fP#f4$!Q!`o_c,Q2|+/Ao!U}88PT7&Z9w* $[c9GF_>{/vq -s5kQ3sT (u'K4a `]|&G:Plu1njȼYˏ/% +zgk&*dإ@birBˇ덢YPKwT45brءCgd'/Bnne6O< Ϫ[iMg@! R(M=:.2**͕6, !EW ?K[+y~RŅe>._*OcFhEQYݽ)/y|?0 9~1>65iycJPc{,f#:0Nn3蒨/C EFPKGLuMb!f[fiY bAKHd)bZWC<`eM{VQ]RߢX(,IC O2K3$4cNBr!E߰EC I|dNSmLpƜ򟻰CuK' hne&/klI82GS|;["a9e)O+\Q-ƭVg8mvS#-ɏ̯Rٓih[г F^;.\B#zDkF(mvTжi]D=i?ąÒJj꣔rZ/ޮ8(`@=[5Ug`|4SHI+HuW7&:KB`U#|@,O&29Mz!{Y|85Tkn^SIW PD?0RKlϵ6\Xy%K\X B1]G L{biqSNĚ9jVp8 4Ӵ|Bv#wkd'Z$vt8#)Qp"&ۨꆀNBbMaC[&2޵+3r$"y!D6̞jeZ?cW}ʝ)Xli[kBnvٗ*PA|PD{?XV6XYX?6E/+XΏ= ,xm}e0$ާЫ;v2MH_0QehM)Ac{g"mpTDuk@il_ќLm|YAdpg( ~ຈ=:=_=fk_=ԳԬ 6x iۍi7xڟڭ{a[ԭl-4lj-Bg$Y`=Dpp-BȮ Չz [}2]ɠhJWIXBcJ"H=|R |}`Q4S!X>i[2MiUm 4^կZTΰk\#Ҵ`e& xNt>Zēޏ:vEWP*I'NQs0p-*trgP\[ ZKA"& rlv=КN^ip$JSs(th}x8Nǵ)t”E\ciˍ!p!0tzCkZ8h~ PUmHZy] +:wo,O7wߏ;*nӻI e u8B:PduqRr&Je@7۴=1`\4RHp akN0Pi~`~lB(a':\ j&‚L|gPK|Z02 M;*dž)W7gݽ$8,FIc"3 !Brr$-us˥YKwT|~.N-ҠNO3n,4R^?^IIgjeqd}Fv@blD1`7qu˿PbVB2(vtsM:Dvdv!e{aY]+Q~gY݋owys6݃D5ţs5DVBF|Ixg鸖4SW{ 2 " ֪N"0LrwZK䓨VͲl$V7J+3lzg.)Cz&UC^Djoc+ehoD2Ye],麃):6Y }&DӅ fZ36?O˗g3ܻ>e]f|RMit?,YYQɚ2;vi&V8'<3v5=Bִmw 6995.h$j8`bK!61QJaT]ߴ&72ѐ/RhU<6`e5<_y\DZRz}=p٦fy,5nhcVehWEO2)(<}ȁO8fOa@2Vg#!&ӳU ;&FTW_dʈ1PɤwfQՔl:Ƭq]bvloaTV|X-L+kaYe{(x7 /DrNOEc P tyf4m*#DePe67vn O\(Kx8{X13%DsA:u[&zJ-z̜vHLs#~C <^"VTwi@1 ގl-iϘ ]a~Yk>^?W̃m [rDCKiӃZfvcb?w5?m%khsSӝ'Oo @w  jxy[>u:'61#3׺Ʊ΋ \9T^,x&gfJHH3Yw(!#$8,}<°b ː-QuF <&6h #+g8:Dy~ݪIHT,/nmWؕ + &PdށxGWv6ưYr@ZS#;1}6փS$7F;bF-,ZضܲZq uza4Yp.MJ{#1 \Rp-|GYEkΩt_'GSÈmБF$LIO=x[I"W y^˃DK >#> L#^2pj({/dpǬyHi3^ %Y Q6\E|e;+IǨ^SE(w^Ez+?Ja*ӱ?:+ /Ǹfο5F3XK ˪7v nXۆQoy2R`JـP2ymkCKB9K6lZbP#u_ԖW_!#` G*,ul3H2>E0\!Ndߦ)R K: +Uu1YWȑuv~_|,aT%7P75ѱh0G""ww pT5^f?eeoNPw,CBOLɧKQ:Z@Lmm9arnM^K(Ӡ  ^#~ܵ}YXfPiפI$ef& ,tI;7+;eN1(źއGI_TY?B($]8AK3'rHx]2Z|b9u՝i5#L?gïz FKhZ}Blhf0=F^))7m5 @<§UgK߁`P4? TPr=M@O߂_`Vu]Wy +|\YoCtIF7XD82c}ifE d)a:|xzxKz>@úX,CF$8Ne,^q8qHVX-YHQ՘U(D2SꭙlK|:7'Tf\N$ 1ginyW:|V0X"ih"JrY/v= +3@V8 =šg8zoH*w+wvU1'|c`=F,#W !T9ssGNcTTcrrn%/iȹ$Zsbu~ˬ \'lokaEw5VY~ww{\Hu;}'ӂ2/[3Y BKȖ1y1o5a*q.ђ}ub4:UJz9vMEE{ Q@kp-˭sRx]isX1U2 sRXŧșܼ3(7P~m'=QY:4gEP-7b#e=sk(AfN2#u1朂F>]]S@G6a N#%}r mk,n!? cn-#0SIa; @h@kUo8`g!<}l*TU=nƠV|kEwNŋ sfaB Σ誴^/;BE2[%(+e_0c\;Wayl ȬK$I8DMguR/SZ!.Ľ5Nja(Y2 %Eiwz;؏.^Qgbŀ0k4PGReTsr T'AȯOo~c/{Y||CbH2vLM}"\?5ߐ: px\0 {9: ~ret:qq%jl9ԭoq@9EZG*ʿX1ssN60Jڅ,שŦ 4fA3 wJ+D``B8~`.ۃC-Nd,MvF}yӸNT+q;mj"٠vzT`\Fl@.kb$>F311b¤}xw6bW _Iu0RƋu(h 9څv-S5$-oGH, "T\]ɀK$(圅鸚qAe͹٠Vb(B@g߲&$` rNQ뇑{'=1)/VBGe~VB]Y0Jgd亇}!*pc_!wz^|;峀!9͹`2jh#ZcgT\lbeB[$3# )/xCi'!u~V[iZtc"W|\31ScJ &V!~"Cb,2NN G3Ozv>/*1\7EgY1wv94Q> b`djTX\RM%~i-i;`On>5Aa4|dD3uFsZCC%:ɍMOkcoI7$!cd $ahԧF7ce$8m v.hfN:/ *Ժ{ȼW-'B}X5vjN1L~),3dC1`x)4嚼=Us; 3dq[Rٽ-S[H ?\ca”9SqR lb,ge2 ( 6}ZFLk@;6J1o0SE?͗}IJolL[ylCGlf[0|瘱CFc$; $0/%:+HcU2 $ r! oM|8*ɋVaux2毀d'ILa0MjYLts[ JGx5U7s\@~moQ$h5؅je&Aƛ]XoᢒnLYnn6b6_Nj@W`:Ct|u0H6O $]ԡnt*N{PMi+Ai;%>u PH: XBCnABHj0aސ8X# ]ᝎ8N2yRp/ e; dO4қŋ~;.&bqRe },Z=ӂx~{UQؚxQ{[=?^)i35geS[$.zI7kLThu8ˁvЂfo y1FmIBw(44'*/dْ3~TF@wfa̧P&`ecU^?zF_sQ|h*VTAH-v,lwdȺc`_rFrt\ K+TG; %uRZSU0ܛA qXtʣ/ Iƫ 10XZʋ5*Ya҃8eٻOh\ O&gJ5#+RsJ4%sР !d ocVW?+n;tV5.5)$D J1i%$vXOf姯m%cʅ+˪_Fk O#1SMMڙZ$Zc^ 0Kp틛?_3ks'ELN[8;8xN OP/;Ψs~<ʶʳic.'5'kiۑYRH9@C%f֚ワqrL\")5΍wQ̰_}mI?-ck6"ՔQ>Q-ALaH`)0ؾ>xh'[k`IcJEͱcy%^X*RW_-qu?QrHn;AJ8K( < .?S6yvT$o,3~5%D`; dx'lRY4̪+z0 R#dwt9NHi /VQҤ&Ø? Rf_k hr)=U Fa[f"e/8 :Y VRE"P+mXzām^xz\M`7P˻;^E(P6wH-Xfڧ 7>P!. |4O,%bѮƳ(X/VL]1䲥|M v]& M> %$-`LR[D,U/̮ќu(ل A0Ƌzy2%۸$$Rid'Sn7y;ҦNuONq H;zsGJF0eE# H>C~jؓ^%]H{3k94`T'ߒhE~ՊKzeLBNY#EVVr}pP$ :g4} 25'694K@3 孃3O7#1: !dj2AEm tuJfoy=m}߷G{Cnd`Zj{}*5|Tk-7oZUbe>ԝOK~kebp!G3zIic\͘jݒy"Jm4 y.XuH*Њ=2B0ą"oduOmE|3r.03phi8.<@й,#޺t( .y)(|g}=9JewuĞXlKG1hV-M F,H>-J'uRwj4S8ϙ 9Iø#If>\_"MiX3.XaS$!^\4{M~E1Xr,ﮢglMŒ*8eb~@Xv",n@{LE6,^kxU%ѕBabB O'Tj3L7ךp#jk>Uԅ@ϸ{{dz4 ZH}ˀ#٠; +ܐك=%]VZP_bճlDŽlR{EtJlyf`-Mޣi GvoE~lB*0a'Hգڐ:O5sZ}(ZC^3r)r@Kڳtbe#du'B[a#e'} k~!;9%%FSf4 eE }Y$n7 ⡷`x7fͣ3a_aGY//'<7{Xp:0Uއ˃Vu+7)֚#H)zNZ1p/n̯ڊ +CTfMZ8gK#qz폖j6 ȫwn\17ua1jb[ VbɁ(.z= G5۫{L|74cRs BkvbEgIBXxxֻQ,y@>l|zT>ӡsYaրMg@+Și~a.D"e2O; Gnj3GIg3 f/1{:Zr MW˝R;Mm7ֺwǔvkڀxVC*մ3䩥\\̧pNTLE9BDM&e? (+MXxRG!ד@]5]ú8t14CoiUor#Y?>$^*rqyϢ0L1PPb\A_?f uAi_9G3Luxt 7))l8r^Poا BIБ`O:p< NT>Ɛ+8(?T->:1g#ꩴ8ٰLohhdN=!I3^8I]B;K݅]s; o+(竪# 1[5vjAKӷ_F#oWjSw-$*r^|~lEb̹ԦJ[2hǒQ,Jit]f6 3.bQWm ֺwq~/h'g@YxC%dN,ȸ؏E&ܦ% ͩr+Ɠk M"Zvzmޤ S[K1 ϧh.>xP")L0knN/hsӾxTHa~;$bf4!EdR7EzP7S9nVT1S?ZU{y7C_} !::h؜O:rsBWS>J&=9` Z_=+V}607!-# B҂B6 >+ =C@,668Κzj #]!iZ6Xoe[lSuVɺOHJ/' K T("$dPc`##VD(I3k|߆ӢK r(C{~NrI )&!W8U8 V9Gꈠ䴲k6=kuW/g>I3],Jks01萍̞?$<h:R9b.bݘ *dE_y)0R=Jϊ}=3K;BJ6g';ʒ=kI؊ab2V,=Wú&ԨGR)Eё8 I傕wXN-b博ӾRrrѺFwvc_):>䳂}2}x#yIJS}J-T禶26j|c2O,K!" k\@CfS]wUXv-*b<\QN,ciPp}4'=r_\=^Q\_̵8*CF ֫ap0HkڦNp去U8 }dݔ'OwAL6-GTyIUJ:z*}MaG`I nb ?DkQNYvʮҪt,w-> 3i%#2"‚L f!hnmXd/'7XV.! 94>M7F/VGm-.wIs"Du>#h/0q`=-B{5[|_z~ 9`7=2~8xS¦\vVl >ϋv#=axKvE[WE0мw$E`g1 z[uYJ6tz<'/-}Xo1}£g&finx| Av8 U UFtWCi.T ZHpcƽa2 nz&n6v&ʧպnncڜ]Y3,[ -x,򖡰b2`b|5pPh,M$Z?*'|.s09áxzywVz,ωGU"Iz9VYUV qiնN\9jy#Xw/lѥ~oY VNyjECpStEx~+ido>e0[y-F_r'$>]ٰ ty+*Kq46Q_qŸߣ xn\9i2/ԉเ?>N?+C)=+!tIGBRxP}Pl=((rWg++.#ª ^(@a;#V cR=,R)ANefO.юEH8/udd kᏟ|57[ w7(?`"-fSG6T5j_@/{K̓ lm2<|Eф"eݚ E e~8͠J%q67\NZGVu*U֓J:+A?) Ȇr8@ya 0?VBwKm'CuƖa KoIjvtv^6 B1oOJ߭89ʒBӫ+*A IL'Xje3Μ853(mo؊?w#dmRs]k&A!݄/ ݼHp q[ _IY7ԂVM 3QW ;smXp;ߠ="]]1P=3X/|xɊk$cU=|_eM`{-Y##0X%aN$ qN| ;NnVta̮(o6= DUf~*P;@2s7L'- ߞ!7$*yQo{!kARC%W![}15"uK-`V:L^boV]{+w|jXG0Q[d|[biM6|b"+ֳR~3Ko䟼{lGЭ>GG01p-ۚGbt/М&,(T;( ߨVZd) 0]E ~=s2M Υ BhaiV~h׍Bq<>k"!E ] yX}7 QX;>)6+9>,- ̥Lwq ,%0 6_O2#9Rǯʗ\TϬP;SCpĽ GhȇIGt5q'L[]PI}~ד#EqXWQ|.RdeEX̸2eGVIc8w eP<څ*YI;#Fj,Ȍ!L;6ra! `݂Ovfu{mwg,Q=z-N2l"C+0NV^m4ΒHWKA!絹r%uyi8DNoTJbc4Qh|1D{>xpEy"=~~SV YpIXaqPTJdT5>r]N a.ئHFY(e/)8%?J` %I,6/aA0.J+ D58ŀͤE-9e[s2#9檦}_ȳF6+S߯Aai #s-~'cܝC,?z$~g=: | sig][l|J"Ard2l>]/]ݍ<#{BG)zn{/#m,bITI{S3*o}y 喾|H| t(AK\(wq#  %:ımpwkYWkNNkTkC @P0?NovKa NpF7W{氥t^Ү K=*(Erj⃵U[}!_pN%y(ξ&Ekϭ>!چQ ]81g5$ec/{KۙsDd^gx4 g ,ũZժU $6zYNo5u&5!KgtE}P:cOXkϽn>I*, f̡)z;8').]5 .-onpUl}Lac(>Bʝ@y'_zRP@XJcxQOq$G0)U1νG.Za2`eC'L4n]RfvMi|Rw}Q?uS($sWBRmCIZ!yvTxVv_ZqAЋ߄&z GUsQ%$`gHmvIEiG]x׼8 #k~=;h$eHIšjj/%K˳Nk7YN?\*yhTsoa2՚_F#`OA{9ukzjF?lۦBz[M,)i27 n3mGLVܟRs0`9uXƄX䴉gR"_?hÀXTC@3Jǽ#p\FQbB)5 Ǻ F^#WKTh'[kXTH>:FP #TUN Zh עy2e<ߥX/9_1.,Z&ZbfBۄ}l1$^zT흌z@@%xao 0c],?xh naSBƏ8 ԇ KJvq*C9ݕ$ؓ<|+Y䞦Cl/rSF,P; >[^RҼ08Xg`ٴ{=yDED;it%q4*e5c|VW[i _2_a)9ۜ?$}vVeyeY9F9I YXC-u'q>DP0k<~2à%0YRWbFۉkK7=)3~ÙEՎ(F?&i~`m 0{sEi\+v\ 8'rY#3 ömܛkŖʭ7n0&G:8)Jב4TہWa# fވ''F1;%, qQUC-U#Yue7bѦ鑐3]'wI<7T syv_@:0xa2%@<t xJ-k<o|^ z``TG#q|IH2@Gns62-˦-&.\0r` _r=?^-:5 Օ,}i @.oߗ"wo_jO0S|aY 8QP;5]}qf跫6 .Dn|UWgh&|x4qWT\sq^fqͨ7( +OJ,ώ *'z/ph)i+t@F(>)ő5%_ѸP4k8R>;A,ݘpHCM~(Cc^#j@5%D4#J]q,x4`hFQOOAGC!qF2(n!ŭ֘Nza@"JY 06n'1'2&Wӗų&b'tRkf !p9x9XmhSVqGS9r#X-%x,lr2Xgx.## [f=Vvan|et(Dk+iMob1F(DILVDš2_rEQz_tN)Ӕ 8( 3:a̻n[Юu0?KG6昤7f}MVI6\RQprJ1i*KƱQ"tgkMqD1Ǧ+-?!T'|Sp~x©#`Ut"WأTtdQַq?j_򵿞8c}eM/pJB'.^A4~ Xkz'gР.iN MP*InҀ/|߆~$qW(|yibX'k$l:Ma^JiA2 Gz~ TH`$6v\YXmokmI&H|@-dgAъHuxN5$c٧lHr>-:!$)sa('^>3}?w(kk!bsMA}nn&"ZWZ}#4|8R ?K0ң7~9{8F0-鮀f3I 2V({`zVbY6ɘi牰r*8ѧA/8@}/$LEwGSukVW,1_ۂpg9j峸aR9wx, :w{. 26lllB`֨Hr(3[~4LjLE#8fw?amG1KFOZ/eZ[JQ"iDk"y?(ob9ʤ<(3p1+X3Tv n2$MOv1A(Ǒ<*ݮ>b%$N.twh8ѝ*jFDEľ^eL2lNH]K@ӧP7$0U6F;SAmXtɺ6>B1kD>WAesmH(q&7Ҋ{ְ= wLtB.X&Dէ} 0!5Qw0@_ВY356V$*>5~k2m)(WXNW>rx;0Ww_j<~9gm5tǁ<<71x8kS&x]Qt e"G#U/MIt2ץ&_ő3&ԋ~lYTN4&vv3)e"hrލ .Yڣس7 Uc_u1 ]vogqtG PdG܎J^i¨X;^.6I_R8.[̒B F2nc+σl[nצªIG9I{1XFY#4 |_2vvpz9酺 1 i%jmQJ _L?H̱u[cZHzecŘNƫK^q%gb@$]r:<["C>4rε|_T1^&qY˱ȖuHet $Uĩ[7? qOlT0p[AEEU9rlJ\6#w`{%oSIcnں8yX?b3s(g& 5ՔVgRVlݪ;=g&Hda̤sdTSt` 7ۺ%DI },*A#z)h:d!zš?~`kC 0wr"ә 2@>o^]ItHz>=ʗՍqkD^庌;ZbW^kl9 i}+p}O f6Jzd JbXV q&k>lK.m{15l/߂$>&ߞ8NdrW񇭈pR/A揱kLldT2ȻHkҭM(v&lSD)"t#,SNeӶN+ěhbBp{{=YGO?tyf1_L|l[o[ͩ F@5c:K1,ur5+Lmdޤn*稲.*ptM%"gf23_lѨ8A< e(=o >zװ;H!D~2臌%[OLOs[<`@)1slh4tx(8GE"d*^(餻!^.z -Wf٬N/P!Dߴ|o0W+~Otny=]Q |W 4IǭŽxn!ķbVƲ7r9lzaR& d.G5ǩ$hm6ba%u VCxr0µa6Fu"qC p)}67mtz'n!Ra~A=2徫(|$ܕj=wygU>CEX"8B$qI(ذO&h_@E'noNfi] ORZIMoN-x>f0-PPOHWj쐺g/x,2wu}sY۟]45t吚~5)9|rX>n| Ach)yNQnv&Lc0R^!0t ?{9R)=NSKY2~v C.*=ȑ)N֚~W܍|)@3+2I!nṊ$!Fs{cZyq#@]c~X='zdxj%X=xxt?Yb4԰pcwWu|\ ~8)t{DT,s:A4)*iI,rGcdcpeߴ˭I뭏7 WJEٷkaʭj~ #N L e[mn-j+QwtO&Hxia֜ (`t^(DΤl<, 9-֛!:vQN?G }":}E*4AB v|ZKS5 Q3kƀ4Fvl䮸OX*Kkhr֧]Җ7[l ȗad+=TcA_)aRD0-jjp>y̒ï# P-C:CF yz|8oU@Ui…8JdpyudDXO5ч ]&Ъqqe#a3%w*G 4-V-*g栋U}*=hAslcw>/LAjL@C=꯿@5vۂ2bԚAU8W 'Eos̘tO4ڮ(Vbu}}$zaP՜|/^WEpu#1us ɦh%f+_yCхp!>1\[03`}5T66K Yz|MH8 1V`9w~wZ3j_b8tR\@x; wVid=u5£' ntF7s,>\ 6ԫeP'ыYӁj]RGlki!}ۦ0ϝEpQVs H!641_FXmkH ~vjqQ^M8{?'Lh줛5`edD1hQ~tH|IӕhPItR΍ hb W1B 0_SDqY֮ ʳ!zP;^DhÆ3ْc[<)c?ꌬsNwy(&ں6Jl.#Н(ѱ7k{G IiAL^:36ῖ: M-PL8XiJ;^uM 8|yKojXI;YBc(EYvh˛J,/ A`zF:]3pϱ":`۟ZܚEA%{Ҵω+HV]'Ԡh |+I@]b7[;uRAdŘykq[$-6jPQ.%\tM(@)1~ 6O)m8vTSK7TpLp%":ڛ1+ 5Jڋo{[a_jOFMZs%K6Rrp\ ƣKE U+rI79ׅ;ELʉX~&ZF%u Tfu83# ́ f ZxG i׷Ԍ؉\#"ϰ:Ԛ]6s!q".QxGipdW͊J̈g@ӷq$o,, aOt$H>w_dPT1d&{);x%2i1:2cg'Y7آU1qum&;y!t\{,:Hl8}immb-*Xx͔ ^ѧuxvM7n\1eW*Am2jPe ىH-fp_戏$3՘_b͒%CS Ny4"VK}d^: ޏ%`.#Y"P&^1]jg; +7WS% z1|6$vYΕԉo%ydFӉߏTqfb(iD3L槓OppjξTT~77qi ׻`q߉AȊ+)B*?R7qd_g&63זv{IpUq[S,kYwxش\^_ࡒ˻Or{UK$27[JCnX5 nA&Zizt gH[a<h+u#E`3+3U1|U5r%`՜ ˊ=)[Rv^U^#ہQu&|f[!ݞNBt%`jBt}\$ b]KG*4iұXsQWTEs0VM~GZq#I3;?ؚTN=_PbD4 C&'siޅ=[#@{in#wEF8D==zlqY֑)Pv!-ՙ_afe`)KʇS!Ԍ_0d{dlPa 18V@a2I(:{*h/+OHQ+u w&5 .(fz%B-Z 6_M,ҀYdLjAH;yv=&J!ȿ˧YCJ~>.!4U\mOt夙gJp8҈KƩXWOuMJ8_lnHc"sۺz rQ =M;§Jw_CRoJx\jx C;5M͍_ڃ`H8ȀߤFWek?c$0#bD$H5ErBaui&RKt_BG;EI! X}i(n*gLǛe]ݶoɭmԱ:0J,W}q!RR(~=H,ܨCjDg} 9T(1c+m{rH]Hm~lhU ޳ P4"T^E~5n4>$Z'nڹQLhǼ({ȇ@?h&T!VPqqkLɌno99osQ{B[)vfxppT#RKTT(b?3 5zmScNQVh${!WY 帛.bAmsZ[f,VKndR `h cxovI>7Tq8.O1Ɠ%.eݬE\DQ 9I?!_Кs+:'>~kp{ MO0J/=q{v|&vya!n=x~]Gv-| HR(; hN%C(EBDCӢ#ܧ*t# v+`0A ܷ?{P 6`;_qBU>1" ,0.'dB يl)d'[Ej[*r Rer{ՖX_1"e׺ibmgKF h9,[W.EmI76, _ܳO) 3&93B;}7Gg\b)B`Df*knQ-,cCu/&Լ {|1E8~E/aXv8糷m\y