openvswitch2.15-test-2.15.0-115.el8s >  H bz !F^(*v%hh_ԕz|Qj5c9'|EɭdذXRv0ixœz< Y K5>.h_5;pf&8hF"*Im)0Zp?ĿQ*'0FXIlǃ{_{ w.㩝ۚ])k^53cptWi\ g{Fb/6[-H ]Q3H.~h } (iXdc4abaedcc197c5ab62eaef6af0df6be57f8bd6174743df06245561081e6b6baa45538b1504dfef2c70fdedef8360917f4213f52Rbz !F^(*v.t<;NՌ] $X?22|9Qv,|_&=TQ"N1T3!@EPSmJ4?-M:~ FRnّe$:uaMK0N3zиI9PQZqڙsT} N)AbԜfhXCxMUc+hOP*]r+DӵJ} ?#cugr/S cjr.^J\.u[a&WClZ;w6BV4>p<h?Xd ' F D`fp&& T& & 8&  ^&  & & &&Xp  \ (8s9ls:(KsG&H&ID&XlYp\&]&^b[deflt&uh&vw`&x&y TCopenvswitch2.15-test2.15.0115.el8sOpen vSwitch testing utilitiesUtilities that are useful to diagnose performance and connectivity issues in Open vSwitch setup.bTox86-02.mbox.rdu2.centos.orgSystem Environment/Daemons daemon/database/utilitieshttp://www.openvswitch.org/linuxnoarch + eC/S&qq##//  c c+.4& < KbH WA큤A큤bTbTbTbTbTbTbT0bTbT1bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bT0bTbTbTbTbTbTbTbTbTbTbTbTbT84294e6095721cccb09f1cc181e25cc96c7af37a20b8f495547f905918259565965b0930a93974bfdd9283c44e85f711f8fbe002c7e50c395b983153d46f82a7cc07ee5706a7909a8e48335acf1232fd2d6fd3a1c8a2b4f94b8af9c71eaf091766f643e895f61d3ea415e2d85c87d89096b5b55c491373c2febbc91efdcbe66e1b7a478c7ecda73baaf95f59801b412b794ec3ec01d011eb8b1734526c8d4fb85a4a2a33708dcf1c022b5f7879b005d2232872e07d489f9589deb097b66219e745a17e4c1f53b63085d8047cd04b3930130d12e274b74b5cdfc92a9723296f0244ee77eb5878d7de6a02e258e96b90478a3ebc662b7d63b269d6048f3d18e07144ee77eb5878d7de6a02e258e96b90478a3ebc662b7d63b269d6048f3d18e0710528ea8e6e95cfeb86c751aeaf125ec5564c1360db007942fa431609be277e510528ea8e6e95cfeb86c751aeaf125ec5564c1360db007942fa431609be277e516c0c89648a0e5887f4dee964a979f8b8c0246030505ad139fff2899041e8eb656c0c89648a0e5887f4dee964a979f8b8c0246030505ad139fff2899041e8eb6541091ba9104f2dddbcd354b7a5adb8483d2516a95a3f51cf07cf12219ed09e9541091ba9104f2dddbcd354b7a5adb8483d2516a95a3f51cf07cf12219ed09e95edf2cf7d65f4f8ec4a7dc3470b3476bfefcabea46170bad440bd50c0c2c2aa1dedf2cf7d65f4f8ec4a7dc3470b3476bfefcabea46170bad440bd50c0c2c2aa1dd683459943d538bbf07867916dc66696fe7c1d243c4ee2690da393c3225e6477d683459943d538bbf07867916dc66696fe7c1d243c4ee2690da393c3225e647725f0b7745faf556a7be3419b30e162ada3b58e7b104575781d2e9fb72333258425f0b7745faf556a7be3419b30e162ada3b58e7b104575781d2e9fb723332584b56c72253887f9ceaa6ed928a33554068507d001f0a7dd8d9fdaeb84f6d43fcfb56c72253887f9ceaa6ed928a33554068507d001f0a7dd8d9fdaeb84f6d43fcf6ae1fe068926a93f2519ba95e524662d1cda0e06f0ee96d685a484c31b254e35d39acf1b2b1206b9bd36e27bc88f40c2baa88059448b045980540309ddaf4b1c784ac074ef7f8e80f5791a55d218357c7115a0c79b6e90284020778857a8cba7ca2923d1e9d0f6429e9483ed8e58ec38b480fcb03d3e07907c5534a6aed1d79e96e2dc224d82b6ed87b93eff29d5ca3d400029d9eefc459ed331316522fb1ba2ad062d71cb8e0e77a7ae392ce0f846fa18dee9dab2e048f0f4cdcb77b257cca3c0e3ae6ed34f0592a10b82d672a2439cb125d84f30b8f6b16b7777a603b7ef2a90efe38fe0b332b94f216c9c740d264dd7926ad7386f3191701185a36bf5d84e697f9882b0b7a857c03c45a8003b56c67da517ce0e155ff42149b76d82beaa885b4a58140a33b2494b4b65367fa4c0a56cb3f22631cc14bad335276abc533d6b51fcbc0af5adbb5bdd6909f06bdf1c834a2f83d4a6de4fe571ab3a575128578791dfaaa2858d854a557d0e6586ed5c532c71a6341b92cd5e08126171fbb3195558573a2b8c8ea0872d4ddbcd2bb9c6c08fafff60ec4ae6b9bcca0ab5bcd0c415rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitch2.15-2.15.0-115.el8s.src.rpmopenvswitch2.15-test@@     /usr/libexec/platform-pythonpython(abi)python3-openvswitch2.15rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)tcpdump3.62.15.0-115.el8s3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3bbbb@bޅb@b>b@bbb=bTbkb@bbrjbjbjbi0@bgbaG@b]RbP#bP#bMbL/@bDF@bDF@bA@b; b8hb4t@b/.@b+9b%b#Pb!@b b@bs@b @b b bba@ar@a@a7a@a@a@a@a@a@a@aNaaZ@a@aa@a@@aKazay?@ay?@av@an@ahaf@aexaexaUaQ@aLl@aC1aA@a8aaS@aS@aS@a /a@``@` @`@`\`\`P@````f@`f@`@`q` @``~@`~@`~@`v@`m`e`e`dd@`dd@`X`T@`P`+`*b@Open vSwitch CI - 2.15.0-115Open vSwitch CI - 2.15.0-114Open vSwitch CI - 2.15.0-113Open vSwitch CI - 2.15.0-112Open vSwitch CI - 2.15.0-111Open vSwitch CI - 2.15.0-110Open vSwitch CI - 2.15.0-109Open vSwitch CI - 2.15.0-108Open vSwitch CI - 2.15.0-107Open vSwitch CI - 2.15.0-106Open vSwitch CI - 2.15.0-105Open vSwitch CI - 2.15.0-104Open vSwitch CI - 2.15.0-103Open vSwitch CI - 2.15.0-102Open vSwitch CI - 2.15.0-101Open vSwitch CI - 2.15.0-100Timothy Redaelli - 2.15.0-99Timothy Redaelli - 2.15.0-98Open vSwitch CI - 2.15.0-97Open vSwitch CI - 2.15.0-96Timothy Redaelli - 2.15.0-95Open vSwitch CI - 2.15.0-94Open vSwitch CI - 2.15.0-93Open vSwitch CI - 2.15.0-92Open vSwitch CI - 2.15.0-91Open vSwitch CI - 2.15.0-90Open vSwitch CI - 2.15.0-89Open vSwitch CI - 2.15.0-88Open vSwitch CI - 2.15.0-87Open vSwitch CI - 2.15.0-86Open vSwitch CI - 2.15.0-85Open vSwitch CI - 2.15.0-84Open vSwitch CI - 2.15.0-83Open vSwitch CI - 2.15.0-82Open vSwitch CI - 2.15.0-81Open vSwitch CI - 2.15.0-80Open vSwitch CI - 2.15.0-79Timothy Redaelli - 2.15.0-78Open vSwitch CI - 2.15.0-77Open vSwitch CI - 2.15.0-76Open vSwitch CI - 2.15.0-75Open vSwitch CI - 2.15.0-74Open vSwitch CI - 2.15.0-73Open vSwitch CI - 2.15.0-72Open vSwitch CI - 2.15.0-71Open vSwitch CI - 2.15.0-70Open vSwitch CI - 2.15.0-69Open vSwitch CI - 2.15.0-68Open vSwitch CI - 2.15.0-67Eelco Chaudron - 2.15.0-66Eelco Chaudron - 2.15.0-65Eelco Chaudron - 2.15.0-64Eelco Chaudron - 2.15.0-63Eelco Chaudron - 2.15.0-62Eelco Chaudron - 2.15.0-61Open vSwitch CI - 2.15.0-60Open vSwitch CI - 2.15.0-59Open vSwitch CI - 2.15.0-58Open vSwitch CI - 2.15.0-57Open vSwitch CI - 2.15.0-56Open vSwitch CI - 2.15.0-55Open vSwitch CI - 2.15.0-54Open vSwitch CI - 2.15.0-53Open vSwitch CI - 2.15.0-52Open vSwitch CI - 2.15.0-51Open vSwitch CI - 2.15.0-50Open vSwitch CI - 2.15.0-49Open vSwitch CI - 2.15.0-48Open vSwitch CI - 2.15.0-47Open vSwitch CI - 2.15.0-46Open vSwitch CI - 2.15.0-45Open vSwitch CI - 2.15.0-44Open vSwitch CI - 2.15.0-43Open vSwitch CI - 2.15.0-42Open vSwitch CI - 2.15.0-41Timothy Redaelli - 2.15.0-40Open vSwitch CI - 2.15.0-39Timothy Redaelli - 2.15.0-38Open vSwitch CI - 2.15.0-37Michael Santana - 2.15.0-36Open vSwitch CI - 2.15.0-35Michael Santana - 2.15.0-34Open vSwitch CI - 2.15.0-33Open vSwitch CI - 2.15.0-32Open vSwitch CI - 2.15.0-31Open vSwitch CI - 2.15.0-30Open vSwitch CI - 2.15.0-29Open vSwitch CI - 2.15.0-28Open vSwitch CI - 2.15.0-27Timothy Redaelli - 2.15.0-26Timothy Redaelli - 2.15.0-25Open vSwitch CI - 2.15.0-24Open vSwitch CI - 2.15.0-23Open vSwitch CI - 2.15.0-22Open vSwitch CI - 2.15.0-21Open vSwitch CI - 2.15.0-20Open vSwitch CI - 2.15.0-19Timothy Redaelli - 2.15.0-18Open vSwitch CI - 2.15.0-17Open vSwitch CI - 2.15.0-16Open vSwitch CI - 2.15.0-15Aaron Conole - 2.15.0-14Aaron Conole - 2.15.0-13Timothy Redaelli - 2.15.0-12Open vSwitch CI - 2.15.0-11Michael Santana - 2.15.0-10Open vSwitch CI - 2.15.0-9Open vSwitch CI - 2.15.0-8Open vSwitch CI - 2.15.0-7Open vSwitch CI - 2.15.0-6Kevin Traynor - 2.15.0-5Kevin Traynor - 2.15.0-4Open vSwitch CI - 2.15.0-3Timothy Redaelli - 2.15.0-2Timothy Redaelli - 2.15.0-1- Merging upstream branch-2.15 [RH git: f0a32c6c60] Commit list: 173769badf system-traffic: Fix IPv4 fragmentation test sequence for check-kernel. 3e9debe5be system-traffic: Fix incorrect neigh entry in ipv6 header modification test. 8ec1752be7 system-traffic: Don't run IPv6 header modification test on kernels < 5.19.- Merging upstream branch-2.15 [RH git: 61c9b3f738] Commit list: 8c0a187ea5 python: Fix E275 missing whitespace after keyword. 84b05f4397 dpif-netlink: Fix incorrect bit shift in compat mode. 506b9a7a22 packets: Re-calculate IPv6 checksum only for first frag upon modify.- Merging upstream branch-2.15 [RH git: d3374dc711] Commit list: f2024c9ef9 libopenvswitch.pc: Add missing libs for a static build. a8e6816ab2 rhel: Stop installing internal headers.- Merging upstream branch-2.15 [RH git: 14ed491a9f] Commit list: ac90500da4 netdev-linux: Do not touch LAG members if master is not attached to OVS. dbfe371cdc netdev: Clear auto_classified if netdev reopened with the type specified.- Merging upstream branch-2.15 [RH git: bc54a123ad] Commit list: eb3484a398 system-traffic: Properly stop dangling ping after geneve test. 0f639878cb conntrack: Fix conntrack multiple new state.- Merging upstream branch-2.15 [RH git: b75a6f236b] Commit list: 8c7f759b19 tc: Fix misaligned access while creating pedit actions.- Merging upstream branch-2.15 [RH git: 566da17c56] Commit list: e8c27d116d dpif-netdev: Refactor AVX512 runtime checks. (#2100393)- Merging upstream branch-2.15 [RH git: 4fe2b46365] Commit list: 8fa98aa7c9 ovsdb: Fix memory leak on error path in ovsdb_file_read__(). 61689d0c3b odp-util: Ignore unknown attributes in parse_key_and_mask_to_match(). (#2089331) 3d33ff315e lldp: Fix lldp memory leak. ef42afed6c ipfix: Trigger revalidation if ipfix options changes.- Merging upstream branch-2.15 [RH git: 9bc851aa76] Commit list: 386f0af8f5 conntrack: Fix incorrect bit shift while hashing nat range. 7ecfaf9562 odp-util: Fix unaligned access to tunnel id. 019df265ae ofpbuf: Fix offsetting a NULL pointer in ofpbuf_reserve. aeac1a781a drop-stats.at: Fix frequent failures of the recursion too deep test.- Merging upstream branch-2.15 [RH git: ab1d6faf99] Commit list: 4c36bab380 Prepare for 2.15.6. b12608cc2e Set release date for 2.15.5.- Merging upstream branch-2.15 [RH git: c904e84c3e] Commit list: 3ddf43cfdd ofproto-dpif-xlate: Fix internal CT state for non-recirc traffic. bb5dac3ce7 classifier: Adjust segment boundary to execute prerequisite processing. (#2081773)- Merging upstream branch-2.15 [RH git: 873c041417] Commit list: 22ccbc1dba ofproto-dpif: Fix meter use-after-free. ffc10739a2 ovs-rcu: Add ovsrcu_barrier.- Merging upstream branch-2.15 [RH git: d93e08b22f] Commit list: 18a8b7d5d8 classifier: Make find_match_wc() prototype and definition match. cc783da5d9 ovsdb: raft: Fix transaction double commit due to lost leadership. (#2046340) 292e018e27 Revert "odp-util: Always report ODP_FIT_TOO_LITTLE for IGMP." ecfd0b783f ofproto-dpif: Trigger revalidation if ct tp changes.- Merging upstream branch-2.15 [RH git: 08671b1f53] Commit list: 21b537549c Carefully release NBL in Windows- Merging upstream branch-2.15 [RH git: 93d7ccfb1f] Commit list: beac697b4b tests: Properly kill ovsdb test processes. 1f7a349be8 netdev-linux: Properly access 32-bit aligned rtnl_link_stats64 structs.- Merging upstream branch-2.15 [RH git: 5fb6b64894] Commit list: 3d77799747 ofproto-dpif-xlate: Remove mirror assert. ac49e21b6d netdev-dpdk: Fix tx drops statistic for a down netdev.- vhost: fix queue number check when setting inflight FD [RH git: ba1bcead43] [ 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: 9d20e2fe62] [ 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.15 [RH git: 885e0d0ad5] Commit list: cbed56773f ofproto-dpif-xlate: Clear out vlan flow fields while processing native tunnel. (#393566 2060552)- Merging upstream branch-2.15 [RH git: 87fde112ca] Commit list: 09759f9957 ofproto-xlate: Fix crash when forwarding packet between legacy_l3 tunnels. dd6e5983a8 system-traffic: Fix fragment reassembly with L3 L4 protocol information.- Really set RTE_ETH_MAXPORTS to 1024 [RH git: 4c53699c3e] Fixes: cbe02d895f52 ("Change RTE_ETH_MAXPORTS to 1024")- Merging upstream branch-2.15 [RH git: c55ba17247] Commit list: 3da1b0c456 cirrus: Update FreeBSD versions.- Merging upstream branch-2.15 [RH git: c8842bbbf9] Commit list: 27a2daad0e Prepare for 2.15.5. c281f01dd3 Set release date for 2.15.4.- Merging upstream branch-2.15 [RH git: 74dde447f6] Commit list: d848639d27 NEWS: Highlight libopenvswitch API change caused by UB fixes.- Merging upstream branch-2.15 [RH git: 09b0ffda32] Commit list: 3719bdafc4 netdev-offload-tc: Check for ct_state flag combinations that are not offloadable.- Merging upstream branch-2.15 [RH git: 9e3e8cde3c] Commit list: 80b57ee01f dpif-netdev: Fix dp_netdev_get_pmd() function getting correct core_id. c1bbb1ec6d ofproto-dpif-xlate: Fix NULL pointer dereference in xlate_normal().- Merging upstream branch-2.15 [RH git: c42b42c1dc] Commit list: beaea86825 sparse: bump recommended version and include headers. 4744b939c1 rculist: use multi-variable helpers for loop macros. ab4f0e6fd3 hindex: use multi-variable iterators. b1c7d8a278 cmap: use multi-variable iterators. fa11ec93e1 hmap: implement UB-safe hmap pop iterator. 5f70b45cd7 hmap: use multi-variable helpers for hmap loops. 2cbb77724e list: use multi-variable helpers for list loops. e345d7bf2a util: add helpers to overload SAFE macro. 842d7f6814 util: add safe multi-variable iterators. f1625aa4d3 util: add multi-variable loop iterator macros.- Merging upstream branch-2.15 [RH git: a03b5c62e4] Commit list: 0a3867a9a9 ovsdb: raft: Fix inability to read the database with DNS host names. (#2055097)- Merging upstream branch-2.15 [RH git: bba298f05e] Commit list: 572ea8e0ef system-traffic.at: Fix flaky DNAT load balancing test.- Merging upstream branch-2.15 [RH git: 68ea3ca4b4] Commit list: 25dab05c39 tests: Fix incorrect usage of OVS_WAIT_UNTIL.- Merging upstream branch-2.15 [RH git: 7b1d494b1f] Commit list: c804df6e11 odp-util: Fix output for tc to be equal to kernel. 92207b062a netdev-offload-tc: Fix IP and port ranges in flower returns. 743974a961 netdev-offload-tc: Always include conntrack information to tc. 0ea2fa78e3 netdev-offload-tc: Check for valid netdev ifindex in flow_put. e832fa9b12 netdev-offload-tc: Set the correct VLAN_VID and VLAN_PCP masks. 7dace029e8 netdev-offload-tc: Add debug logs on tc rule verify failures. 56ee5f7070 tc: Keep header rewrite actions order.- Merging upstream branch-2.15 [RH git: 137641442f] Commit list: fd8b2511db ofproto-dpif-xlate: Avoid successive ct_clear datapath actions.- Merging upstream branch-2.15 [RH git: d2abb6b2f3] Commit list: 45e10d84d7 dpdk: Use DPDK 20.11.4 release- Merging upstream branch-2.15 [RH git: 7bb43bfb9f] Commit list: deeec60597 ofp-prop: Silence the 'may be uninitialized' warning. fa26f1f847 ovsdb-cluster.at: Avoid test failures due to different hashing.- Merging upstream branch-2.15 [RH git: a735607890] Commit list: 8a58897b56 ofproto: Use xlate map for uuid lookups. c091911e13 ofproto: Add refcount to ofproto to fix ofproto use-after-free.- Merging upstream branch-2.15 [RH git: 729a55e204] Commit list: 08d77484f6 ofproto-dpif: Trigger revalidation when ipfix config set. bc3b88c8ad system-tso: Skip encap tests when userspace TSO is enabled.- Merging upstream branch-2.15 [RH git: 82cbd329f0] Commit list: e05105f1e6 tc: Fix stats byte count on fragmented packets. 81aa8c8073 compat: Add gen_stats include to define tc hw stats.- Change RTE_ETH_MAXPORTS to 1024 [RH git: cbe02d895f] (#2048601) Resolves: #2048601- Merging upstream branch-2.15 [RH git: 50c394233c] Commit list: b6007add57 ovsdb: raft: Fix inability to join the cluster after interrupted attempt. (#2033514) dce48bb003 reconnect: Fix broken inactivity probe if there is no other reason to wake up.- Merging upstream branch-2.15 [RH git: 9265101135] Commit list: 115f1543b2 datapath-windows: Fix NXM_OF_IP_TOS issue- Merging upstream branch-2.15 [RH git: a01913de4d] Commit list: 8a60afaa00 ovsdb-idl: Fix use-after-free when destroying an IDL loop.- Merging upstream branch-2.15 [RH git: 84306060e6] Commit list: 9e2af615c1 dpif-netdev-dpcls: Make subtable reprobe thread-safe.- Merging upstream branch-2.15 [RH git: 0b62621839] Commit list: 7691fbe77b dp-packet: Ensure packet base is always non-NULL. deb59ba9af bfd: lldp: stp: Fix misaligned packet field access. 2b2371b3c3 ovsdb-idlc: Avoid accessing member within NULL idl index cursors. 193c79ca40 stopwatch: Fix buffer underflow when computing percentiles.- Merging upstream branch-2.15 [RH git: e478bef7a4] Commit list: 1c050d932b ofproto: Fix ipfix not always sampling on egress. (#2016346)- Merging upstream branch-2.15 [RH git: 87783c67a6] Commit list: bfc8902e3f tc: Fix incorrect TC rule for decap+encap datapath flow.- Merging upstream branch-2.15 [RH git: ed4cf202b5] Commit list: 38970bf78b odp-util: Fix tunnel key attr for GTP-U. 57456cec36 ovsdb-idl: Only process successful txn in ovsdb_idl_loop_run.- Merging upstream branch-2.15 [RH git: ffd65899bd] Commit list: 01f8e5199d ofproto-dpif-upcall: Fix n_revalidators on upcall show.- Merging upstream branch-2.15 [RH git: df7561a258] Commit list: 02dd680dc5 ovsdb-idl: ovsdb_idl_loop_destroy must also destroy the committing txn. b664877079 ovsdb-cs: Clear last_id on reconnect if condition changes in-flight. dec99de837 ofp-flow: Skip flow reply if it exceeds the maximum message size. 2a92aac033 ovsdb-cs: Fix ignoring of the last id from the initial monitor reply. (#2044624)- Merging upstream branch-2.15 [RH git: 0ec5c70e5a] Commit list: ed5a1bc688 ofproto-dpif: Fix issue with non-reversible actions on a patch ports.- downstream: Enable usdt probes in build [RH git: 3e2ddcc2da] Fixes: BZ1840877- utilities: Add netlink flow operation USDT probes and upcall_cost script. [RH git: 1ef4073913] This patch adds a series of NetLink flow operation USDT probes. These probes are in turn used in the upcall_cost Python script, which in addition of some kernel tracepoints, give an insight into the time spent on processing upcall. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets - utilities: Add upcall USDT probe and associated script. [RH git: f581b3a82c] Added the dpif_recv:recv_upcall USDT probe, which is used by the included upcall_monitor.py script. This script receives all upcall packets sent by the kernel to ovs-vswitchd. By default, it will show all upcall events, which looks something like this: TIME CPU COMM PID DPIF_NAME TYPE PKT_LEN FLOW_KEY_LEN 5952147.003848809 2 handler4 1381158 system@ovs-system 0 98 132 5952147.003879643 2 handler4 1381158 system@ovs-system 0 70 160 5952147.003914924 2 handler4 1381158 system@ovs-system 0 98 152 It can also dump the packet and NetLink content, and if required, the packets can also be written to a pcap file. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets - Documentation: Add USDT documentation and bpftrace example. [RH git: 2a54ac2f9f] Add the USDT documentation and a bpftrace example using the bridge run USDT probes. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets - openvswitch: Define the OVS_STATIC_TRACE() macro. [RH git: fa1e850486] This patch defines the OVS_STATIC_TRACE() macro, and as an example, adds two of them in the bridge run loop. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets - configure: Add --enable-usdt-probes option to enable USDT probes. [RH git: e1e982a7c1] Allow inclusion of User Statically Defined Trace (USDT) probes in the OVS binaries using the --enable-usdt-probes option to the ./configure script. Signed-off-by: Eelco Chaudron Acked-by: Paolo Valerio Signed-off-by: Ilya Maximets - Merging upstream branch-2.15 [RH git: a70244a272] Commit list: e59194b606 ovs-monitor-ipsec: Fix generated strongSwan ipsec.conf for IPv6.- Merging upstream branch-2.15 [RH git: d17382a24e] Commit list: 2632aeb374 datapath-windows: Pickup Ct tuple as CT lookup key in function OvsCtSetupLookupCtx- Merging upstream branch-2.15 [RH git: 14826e19b9] Commit list: 7f978ee372 Documentation: Fix Rx/Tx queue configuration section.- Merging upstream branch-2.15 [RH git: 228a38c3dc] Commit list: a7dc6af0fc ofproto-dpif: Fix memory leak in dpif/show-dp-features appctl.- Merging upstream branch-2.15 [RH git: 9504acc03d] Commit list: 31288dc725 Prepare for 2.15.4. e4d2df62e6 Set release date for 2.15.3. b8baa11416 python: Add cooperative_yield() API method to Idl. 7834abc669 ofproto-dpif-xlate: Snoop ingress packets and update neigh cache if needed. 833c02daab tnl-neigh-cache: Do not refresh the entry while revalidating. e2182eca88 tnl-neigh-cache: Include expected array sizes in prototypes. 566fe43721 tnl-neigh-cache: Read/write expires atomically.- Merging upstream branch-2.15 [RH git: a1abf356d3] Commit list: d477f60008 compat: handle NF_REPEAT error on nf_conntrack_in.- Merging upstream branch-2.15 [RH git: d4f13fd840] Commit list: 0590e88387 flow: Consider dataofs when parsing TCP packets. 7266042d84 tests/flowgen: Fix packet data endianness. d2e0632dbe ofproto: Fix resource usage explosion due to removal of large number of flows. 0a7e66e37f ofproto: Fix resource usage explosion while processing bundled FLOW_MOD. 68466efed9 tests/flowgen: Fix length field of 802.2 data link header. 2a2185f9e6 ovs-lib: Backup and remove existing DB when joining cluster. fcbc29c6f0 docs/dpdk: Fix install doc. a5d97d4202 ovs-save: Save igmp flows in ofp_parse syntax. 1cbd1f0f56 faq: Update OVS/DPDK version table for OVS 2.13/2.14.- Merging upstream branch-2.15 [RH git: 9221a2233d] Commit list: 01bc910e57 ofproto-dpif-xlate: Fix check_pkt_larger incomplete translation.- Merging upstream branch-2.15 [RH git: 001ae577c6] Commit list: 08a270dda1 datapath-windows: Reset flow key after Ipv4 fragments are reassembled- Merging upstream branch-2.15 [RH git: a134a530c9] Commit list: eca2d50d40 datapath-windows:Reset PseudoChecksum value only for TX direction offload case- Merging upstream branch-2.15 [RH git: 16dad85706] Commit list: 031cf67e09 netdev-offload-tc: Verify the flower rule installed.- Merging upstream branch-2.15 [RH git: 2502ca29b0] Commit list: 952e851506 ci: Make linux-prepare trust system installs.- Merging upstream branch-2.15 [RH git: 7cf784736e] Commit list: 2cf63851a5 Prepare for 2.15.3. 63f9a7c5d8 Set release date for 2.15.2.- Merging upstream branch-2.15 [RH git: 01110b9088] Commit list: b7d9c491ec datapath-windows: add layers when adding the deferred actions- Merging upstream branch-2.15 [RH git: f8619036c9] Commit list: 3f718857e7 ofproto-dpif-xlate: Fix zone set from non-frozen-metadata fields.- Merging upstream branch-2.15 [RH git: e273e307d1] Commit list: ea2ca0af16 dpif-netdev: Fix use-after-free on PACKET_OUT of IP fragments. 9f964354e3 tunnel-push-pop.at: Mask source port in tunnel header.- Merging upstream branch-2.15 [RH git: 3050e5222d] Commit list: 58397f222b dpdk-stub: Change the ERR log to DBG. 2a963fc314 python: idl: Avoid sending transactions when the DB is not synced up.- Merging upstream branch-2.15 [RH git: 09e3ab3630] Commit list: 9efa2ea619 ipf: release unhandled packets from the batch- Merging upstream branch-2.15 [RH git: 2a86017f3f] Commit list: f8274b78c3 datapath-windows:adjust Offset when processing packet in POP_VLAN action- Merging upstream branch-2.15 [RH git: 8f2e30f011] Commit list: a2f860aa2e cirrus: Reduce memory requirements for FreeBSD VMs.- redhat: use hugetlbfs group for /var/log/openvswitch when dpdk is enabled [RH git: 5ccf239b51] (#2007290) Resolves: #2007290- Merging upstream branch-2.15 [RH git: c6bdfa8cc1] Commit list: 7788f15798 netdev-linux: Fix a null pointer dereference in netdev_linux_notify_sock(). dd32deba6e pcap-file: Fix memory leak in ovs_pcap_open(). 9f2f66c8ea odp-util: Fix a null pointer dereference in odp_flow_format(). 02b0c265c4 odp-util: Fix a null pointer dereference in odp_nsh_key_from_attr__(). 031eff4563 netdev-dpdk: Fix RSS configuration for virtio. 09cd9570d2 ipf: Fix only nat the first fragment in the reass process.- ofproto-dpif-xlate: Avoid successive ct_clear datapath actions. [RH git: f9a9ac7608] (#1941027) Due to flow lookup optimizations, especially in the resubmit/clone cases, we might end up with multiple ct_clear actions, which are not necessary. This patch only adds the ct_clear action to the datapath if any ct state is tracked. Resolves: #1941027 Signed-off-by: Eelco Chaudron Acked-by: Timothy Redaelli Signed-off-by: Ilya Maximets (cherry picked from commit 355fef6f2ccbcf78797b938421cb4cef9b59af13)- Merging upstream branch-2.15 [RH git: b36eb7e529] Commit list: ef8ca3e190 dpif-netdev: Fix crash when PACKET_OUT is metered.- Migrate openvswitch to gitlab [RH git: 93147e2cda] Signed-off-by: Michael Santana - Merging upstream branch-2.15 [RH git: 11bcf52d03] Commit list: d3ff41d609 tc: Set action flags for tunnel_key release. 079a4de723 netlink-socket: Replace error with txn->error when logging nacked transactions. f8cc5aa35c dynamic-string: Fix a crash in ds_clone().- pkgtool: Swap bugzilla id and RH git [RH git: c2e6243d60] Having the bugzilla ID not at the end of the line breakes another script that parses for said ID. This patch fixes that by putting the ID next to the new line Fixes: f6b2db4dd33e ("Make changelog in spec file more informative") Signed-off-by: Michael Santana - Merging upstream branch-2.15 [RH git: 08b4ccb1c4] Commit list: 64d1bba919 dpif-netdev: fix memory leak in dpcls subtable set command- Merging upstream branch-2.15 [RH git: 2cc833ce5b] Commit list: 90b219275d dpif-netdev: Do not flush PMD offloads on reload.- Merging upstream branch-2.15 [RH git: 88fb0bba8a] Commit list: b29b04f85f dpif-netdev: Fix offloads of modified flows. 1d0b89ea7b dpif-netdev: Fix flow modification after failure.- Merging upstream branch-2.15 [RH git: a76a4dfca6] Commit list: 8d84a4b166 netdev-offload-dpdk: Fix IPv6 rewrite cast-align warning. f3f7849cbb daemon-unix: Fix leak of a fork error message.- Merging upstream branch-2.15 [RH git: 60c8b2a15b] Commit list: 8aa0f03747 ovsdb-cs: Perform forced reconnects without a backoff.- Merging upstream branch-2.15 [RH git: 48a90081e8] Commit list: ee4e034dc9 datapath-windows:Correct checksum for DNAT action- Merging upstream branch-2.15 [RH git: abdd952536] Commit list: 72132a9403 bond: Fix broken rebalancing after link state changes. aa84cfe25d dpif-netlink: Fix report_loss() message. aec05f7cd1 ovsdb-server: Fix memleak when failing to read storage. 05bdf11fc3 conntrack: Init hash basis first at creation. 94e3b9d9ce netdev-linux: Ignore TSO packets when TSO is not enabled for userspace. 842bfb899f conntrack: Handle already natted packets. ab873c1afe conntrack: Document all-zero IP SNAT behavior and add a test case. 86d6a9ee14 python: Fix Idl.run change_seqno update. 1ba0c83655 bridge: Use correct (legacy) role names in database. 7e5293ea5a Prepare for 2.15.2. b855bbc326 Set release date for 2.15.1. 007a4f48fe dpif-netdev: Apply subtable-lookup-prio-set on any datapath. c93358a563 netlink: removed incorrect optimization 31626579fa ovs-actions.xml: Add missing bracket. 30596ec278 netdev-offload-tc: Use nl_msg_put_flag for OVS_TUNNEL_KEY_ATTR_CSUM. 728980291a conntrack: Increment coverage counter for all bad checksum cases.- Use 10 characters of hash to generate the changelog [RH git: d89d9cd0f1] This is needed to avoid that the history changes since the default changes from time to time- Merging 881d71ea22e datapath-windows: Specify external include .. [RH git: 8ad5538601] Commit list: 881d71ea22e datapath-windows: Specify external include paths 934668c295e Remove Python 2 leftovers. aaa59670556 ipf: Fix a use-after-free error, and remove the 'do_not_steal' flag.- Merging upstream branch-2.15 [RH git: 78ba3622d9] Commit list: bc0aa785a8 ovsdb-idl: Fix the database update signaling if it has never been connected. 559426d2b0 ofproto: Fix potential NULL dereference in ofproto_ct_*_zone_timeout_policy(). f31070e27e ofproto: Fix potential NULL dereference in ofproto_get_datapath_cap().- Merging upstream branch-2.15 [RH git: ba3ba16d42] Commit list: 8995d53112 dpif-netlink: Fix send of uninitialized memory in ct limit requests. 0c056891c2 ofproto-dpif: Fix use of uninitialized attributes of timeout policy. 121a67cad3 netdev-linux: Fix use of uninitialized LAG master name. 5f27ff1cfa ofp_actions: Fix set_mpls_tc formatting.- Merging upstream branch-2.15 [RH git: 8b6b82c2ed] Commit list: e87adce83c dpif-netdev: Remove meter rate from the bucket size calculation.- Merging upstream branch-2.15 [RH git: c7b9daa243] Commit list: a3ee3258e2 ovs-ofctl: Fix coredump when using "add-groups" command.- Merging upstream branch-2.15 [RH git: 69559c9283] Commit list: c5d2a62750 raft: Transfer leadership before creating snapshots.- Merging upstream branch-2.15 [RH git: 6aa50cbb89] Commit list: 553d523929 ovsdb-cs: Consider all tables when computing expected cond seqno. 8d0aebcc49 dpdk: Use DPDK 20.11.1 release.- Merge tag 'b6167fabb202faa025946348f514e369dba5853b' into fast-datapath-rhel-8 [RH git: 1cdc5555f9] dpdk-20.11.1- Merging upstream branch-2.15 [RH git: 120e2a5d87] Commit list: 21452722b7 github: Fix up malformed /etc/hosts. 90d1984b99 doc: automake: Add support for sphinx 4.0. 38a8bed703 cirrus: Look up existing versions of python dependencies.- Merging upstream branch-2.15 [RH git: dbd5501f48] Commit list: 255c38c745 ofp-group: Use big-enough buffer in ofputil_format_group().- Merging upstream branch-2.15 [RH git: 85f5aecb83] Commit list: f2c0744d2f ofproto/ofproto-dpif-sflow: Check sflow agent in case of race- Merging ct_state_fix [RH git: f847e4fac1] Commit list: 09a2081067 netdev-offload-tc: Add support for ct_state flag rel. 423048a34f netdev-offload-tc: Add support for ct_state flags inv and rpl- ab157ef34d dpif: Fix use of uninitialized execute hash. b1fded0208 odp-util: Fix use of uninitialized erspan metadata. f473ee5689 dpif-netlink: Fix using uninitialized info.tc_modify_flow_deleted in out label. 2721606bd4 netdev-offload-tc: Probe for support for any of the ct_state flags. 091bc48d9c compat: Add ct_state flags definitions. [RH git: e4336ed96c]- Fix typo in rh-mock-srpm [RH git: 85631264db] Thanks fbl for reporting- Merging upstream branch-2.15 [RH git: 71c33052b9] Commit list: 1307e90e3f Add test cases for ingress_policing parameters d184c6ce67 netdev-linux: correct unit of burst parameter- Make changelog in spec file more informative [RH git: f6b2db4dd3] This is done by adding the body of the commit message to the changelong. The body is indented and has extra spacing separating each entry in the changelog to make each one more discernible since now they could be longer Signed-off-by: Michael Santana - Merging upstream branch-2.15 [RH git: 504b67ec8d] Commit list: cab998e500 ipsec: Fix IPv6 default route support for Libreswan.- Merging upstream branch-2.15 [RH git: 147a0970be] Commit list: b9ab7827ec ovsdb-idl: Mark arc sources as updated when destination is deleted. c82d2e3fbc ovsdb-idl: Preserve references for deleted rows. 9a24ecbc2a ovsdb-idl.at: Make test outputs more predictable.- Merging upstream branch-2.15 [RH git: cbb083630e] Commit list: 8d71feb1b8 ovs-ofctl: Fix segfault due to bad meter n_bands.- Merging upstream branch-2.15 [RH git: 221cf613d7] Commit list: 3a716b1d9c dpif-netdev: Refactor and fix the buckets calculation. 73ece9c87b dpif-netdev: Fix the meter buckets overflow.- dpif-netdev: Allow PMD auto load balance with cross-numa. [RH git: 47e2824210] (#1941673) commit ec68a877db5bbfba49ddeb9929479c033420ea6b Author: Kevin Traynor Date: Thu Mar 18 11:34:04 2021 +0000 dpif-netdev: Allow PMD auto load balance with cross-numa. Previously auto load balance did not trigger a reassignment when there was any cross-numa polling as an rxq could be polled from a different numa after reassign and it could impact estimates. In the case where there is only one numa with pmds available, the same numa will always poll before and after reassignment, so estimates are valid. Allow PMD auto load balance to trigger a reassignment in this case. Acked-by: Eelco Chaudron Acked-by: David Marchand Tested-by: Sunil Pai G Acked-by: Flavio Leitner Signed-off-by: Kevin Traynor Signed-off-by: Ilya Maximets Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1941673 Conflicts: Commit backported from upstream master branch. Commit not present on upstream branch-2.15. Removed NEWS file update as could cause future merge conflicts.- redhat: Update docs for test builds [RH git: 7620c95a37]- Merging upstream branch-2.15 [RH git: c4fc969d7e] Commit list: d5dc16670e python: Send notifications after the transaction ends. 556e65e179 ovs-ctl: Allow recording hostname separately. 3982aee455 dpif-netdev: Fix crash when add dp flow without in_port field. 02096f1b37 Documentation: Fix DPDK qos example. 8f1dda3164 raft: Report disconnected in cluster/status if candidate retries election. 79e9749daa raft: Reintroduce jsonrpc inactivity probes. 2e84a4adb1 ovsdb-cs: Fix use-after-free for the request id. d2c311dce8 connmgr: Check nullptr inside ofmonitor_report(). 7307af6908 ovsdb-client: Fix needs-conversion when SERVER is explicitly specified. 2a7a635718 windows, tests: Modify service test. 9b48549c68 netdev-linux: Fix indentation. 861a9f3b4d ofproto-dpif-upcall: Fix ukey leak on udpif destroy. 339044c3cc ci: Use parallel build for distcheck. 38744b1bcb ofp-actions: Fix use-after-free while decoding RAW_ENCAP. 33abe6c052 Prepare for 2.15.1.- build with ipsec support by default [RH git: 105482aee7]- Use official 2.15.0 tarball [RH git: 9e107c6359]  !"#$%&2.15.0-115.el8sovs-l3pingovs-pcapovs-tcpdumpovs-tcpundumpovs-testovs-vlan-testovstest__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycargs.cpython-36.opt-1.pycargs.cpython-36.pycrpcserver.cpython-36.opt-1.pycrpcserver.cpython-36.pyctcp.cpython-36.opt-1.pyctcp.cpython-36.pyctests.cpython-36.opt-1.pyctests.cpython-36.pycudp.cpython-36.opt-1.pycudp.cpython-36.pycutil.cpython-36.opt-1.pycutil.cpython-36.pycvswitch.cpython-36.opt-1.pycvswitch.cpython-36.pycargs.pyrpcserver.pytcp.pytests.pyudp.pyutil.pyvswitch.pyovs-pcap.1.gzovs-tcpundump.1.gzovs-l3ping.8.gzovs-tcpdump.8.gzovs-test.8.gzovs-vlan-test.8.gz/usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/ovstest//usr/lib/python3.6/site-packages/ovstest/__pycache__//usr/share/man/man1//usr/share/man/man8/-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 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnuPython script, ASCII text executabledirectoryASCII textpython 3.6 byte-compiledHTML document, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix) RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRutf-828baf7de938b0b346a50f76c40f6eeb68aeac09fa22bfecf0f3d2bc608791a3b?@7zXZ !#,V3] b2u y-iSqj일4-^]٫R澌KK!FxN98Z<ǟؗF[9o0[`A]#[ϝ~\S猵 ToBzeR\ae >z}b8TB@qܧl%z4gͧn`jC`>mLB]{gط$̘~ȁ<|[G-lY0đg&}RKaÿ8WAsA'b ?dӰ1lXZO@WcZ_]P$b@oƄJQFp]"qW|﫥h>^*)3';#Vl[|cvlorz;pbqxQA:˙q23Hg$p2)XSs6u_Ǥ Oy~5~M>6| V/\)5K(f@G5MLft=%2o}3nxf>϶nja.8TF?̾(W懡)i+E.}t[BnHЇ_g(R.8&B[8IlG;-G>RAg^5xw `h m+3UWxOF\06ɓvX QJ.y!'d\eu\ᯭSJQ%/T3:̝"l-*/,'jq)DJқxP#lhqWnbu;+Y8@g~K ڮ^Oy9SGiqlws r-Ɲpoݻ3,pS/*:뫣ƶ1h *֦-}h{}'3 ~+jv,@J:zyLYO*r$XL<-؞/v_5"*Cͳ/!һ E9 y. FHb CD1Im]M)F8KDXkqk@)btNvW3h27~+B7%U K&#:r}}" X?3⨵.jQkJˆ{!d _N'}EwpXA4`K)1 6TZ"`‘ܥ鯒?ۆ֯#C NOedR79ꈼ .ec}Y3%Gos߮6gKg.u*䔣sdC*ےuq]8Eg(H*eO$ ϤL7F@Jϛ@wͱ+WaR'‹M 1pPudP4ǵ"Ư9/u|ゕlj[ O rcDe,RDjT0AjCBEsO5N}OykLEhOqل@/f Dz6I`lĜ:3~f\kqk'Y'25U8ŭf7/?'1aa$V>?:ռw^/h6]?OX܄fE*%?+_t{6}-H m.\E4YL42 ma$v8'5z|$ @&6_Lw&d85J.G2̝~(׻?hH$*'&1:J\K =S]Jy=,2U}S|Jt y^ {˞H9j@V|6â([-lcmb +U(?*Rqʹn𣪅Ek1.u2mjBs}yc1orCfs}<`>p3P{G8֢:;* ~c@qbt8HM/0ojZ;<#,qRL_ڬMΧzzXw]\4ӄCx,ZzaOV/#Xp ="'vvb/u'{\a<誔w)!@ݯ+܇guHm7WdT2"V.KY",f iA.Zf%le*#Df:9]*<Ƞ G7)R4^ CS NԕǑ=d۬س;ߕ t: --Y-cYjzN;:׽Z>[v%l  e˖d/ E3 5lMu\eltIAf*ɾ:tᙖ- ʇF`i 6>2>ڣvu$<L++4z toL+Wh.4V$qV")Ν>Es3C˸f(Q>+rZdOޑ^KIѧ?^j}h=&Vi`w8q ͶUjUk5iυUWo5:QzbHÐJyg(:\`:]qo@W 5RLZWLJO@~ׂQi(M\.`,hB+3JlZ, Ģ gMZLf`*ieQ򨤼8!a'~~ 'U}/(aZK#xـRPʭS*paJZmʗ;[%﯍g-JV?MJTҥb4u(i*|o~Ԁ՟s2ZJG ᩉ%ܗsMPI~ŀTj︑NF UZ,H1wЋyTUxv*`prfO ΪoFzܸgsd:2~4T|@RiD&QơJBtad?XBT:l9dK + 1I :SF C$7g?!`<$6p j$^N;᠛V"W&IR?5@lF@]ԐY? %IiDTxrRaWDM4f|ֆި60)!Q@h#;8M]3*#?D!z.m8~W-7uCSf2Hk*1 $w2Ո`,&GZ->- <{H|<,c:݀|~x9M[BG%N#xQD|x/d&OfSt;Psٝ.ό%[ |ٝFʉ L:&M F}do2T`KW'Q1h)gro7 9$D$U5QEVgG 6Zade%EkAedK`_w}/HA}9u,Lpmx} <K]c(o'L EzA"پ|!FoKn{Qߞ'Dsm a\sm˔B&hhsl'H˙DW %<1t*CGn ԙiu0F+|*m ;B|dN`,94 QfuATwOK BuaV\O#3+R84PbQ":/)[c̍G^Bҿ;jU;ٮ}]?s›ṗX7%k5քs 1N#U:ypLN;ԾOA#"QrpaOu2u݃uP$o֕b]l ݖ"[ V(é2ϛ-l{l9 zpu [="ʿY'UD8h)WkB8DL) eO);tE67 <A%hEۺc,A5X@ 3K PUOyZ:*S<LsLpX*&u82:*2IG$dQr߱WbgjՃӗ(#֗;D{ @j^#-u-a0Mdq0`MdYψ\+le(gI21u7NHyd(V% /Y#iJl2LU| &o)wWp7lކwߘwZoL !_1bmW^`}5jȑ%i-]ĉVݽu%['4!GچQfy|c[1gĉK3Fm~XqpG"; lrOĶ쟠?܏/Pdz16s{.ݕJxiI:" j֐jH2[޳L7 q} B0Nc XqK3CS d ʼnx||PK,y.U ij ןj))rnȿ'`o-@poA`Td̜77CΪ?ccӢW5+·fNs3GN7 `9yEa4wqlf- A/ۦbb S*|L?eb; *#+O[^m8ܞK b#OKRof&0 LFycs %\~ ALُ ~l YaaQM 3Z='!͛F`IN}̚F1-w C1X"@rB iWc_'-9}ytXSt |H85$XPW8{)揜fݪ,|ºS-ONqjmBpۖVL<X5ϕz4!8Qh_R@׬ot7CdO XtWv E4H4bJIv!9!= ȜtQdZtXFH5t՗2Q\hKAmh.Ұ{3?bH1uӞHhڗOJ8kDL9~)LՂV4rY ڎ/.$J之R,M0V{%fUBH8AO)-QJ"D'C0 ĺx爹:2#:<[Pt QAa;c eEEa"rot:PC% bWZ}jY)[/7&h.)i W^v1VAfWzƪ˰`&'],%td!puSa fӸ//x; f,{ퟦ` hf\i펮^23z|>`B~cD[">џ _{ECb6}-U0srХfr|QOq4K6r[G̔Rh['$s#p߀7HPټ&gC9b0UE\Vy92 3Tld;QӒgD4kX 7K-x%ԜT465 e`234"#mPٖ7¬H t*X+j^~7Ukm; m:~Iͷ>8HS7ĿS(.JnMJ$4K})/J^R [ɂU#: &[7ɏ/nim V_` $[C_E{͏(񿻨d }\lUС8+^ pON sf*94<0mWG&E-&'2Hy*5"A#yf)ؽDϤлC׾U 5F)nf8nFVf=+K ʅð륵y) >>oѣ=+~r?a!fm\ '\:B;sHsNDrPv?E?$noգ<`8C' X6'?9ŽEǕ}@t!nzHQh;aZ&@s+ ;̵Fz-g+jN+۸d1d-!\G֤> ݏp6_Gt`e8i;Х=s⎓0jA$\̄mx0jO H3ZUtG;lJJB;Y) D2qdvlK><$0eYVlss'wBeUW{=iM3˄Ǭ9رO 0ji_JrA\MC,L1O* 66ӌ"D7C\~+1.3]ǧ9\ϳv-4RK (:h0B^6qbst tǁyټvL&02Z>CI) ')ꍡ o&l:) 2<,RL_B8+m Q=k5v>%{֓o'';8Jިh-6i(`m hIQ%G 4YAqSz El=t/G(2=:X5s k T$"#;]?uT'c@uaQJr(&Cu`IR!!gsZcOH,Wwɺ.5:C}ھ#5y٨C)=Wr)/*>S:%л-lz"xꞂ3қ"Rv_P`Uό̘zJ-e#!8,w^(A+[gc@y9|񾪀.j"~G{bR$eOtO;s.S*{ `ә?Mj(_ٟ \~s֕).`]H 'gz>X%` m&5#]R2UEspqӹ ۷4[(U@O6qpUپ *ded:YF;o6'6іa3 ͑ߟDԚ#HaKa_&﷨a\'LűgFj<]{ev}F3~=\Dk厞R 汇"ha.e݊7J0t}̀>ag)5WqMu贱(1ftyiDsf"_-Ay0Fk\Lv;^j"bc {aۖ10R$ڥ꺃1Y|y.- 7&@]%8=.q;`JʻJ9 H9LE05>7n[1kשn˚Ld.P3<.R#a0z{hnnH (|1>2c*DKTєJSɎbVpJgłTdrre#(}j/` Tv%AT`ks㋡[SSQN5M :#Дmf}dȗ"L j}RXGTGuޯ1cqߔS`Y*%S1_rÀ99|SuV@&fmGdaB >L̯'h>}>'}hگ2wb Uy$qQ!nI*MU׬ 2ęɁ&}í9)Y0bbO.nF!7VpnȑZeL8v[`o6O}x8C}E`.DjRV Y8PY ќ):mLZ2j*-@.竿s^GȒu?Yu98;yL_9ؿ' '୒ Y ?tAx0< ^;Đ@{dp}G-fOvnV֎Y;->K/{ЁI`4 !uiݺa?OOPm{ugdd@uO.کwv g tX:UK8g/{zNmsܝ %l'*(.O0N#kq|Hj{nWW"]oZ5JŨU[{cO,ݙh]x,7-0@vVC*ʭ=5[踳>o+|pHؔqi(wa?޲ 6Ao;&[f# /o-O(XpMܞVlz;췪Wv0>D"#W-vMZׂ B>Ani]Ƿѓ45EM6~FU;g~o>׾}۩SNs$xZ6j~}֡M&}pݾ&جX?m6DJEь4gs-ϲd&q_qm]stKbDe7 "T`Hiƒ7=D%F e/ BJ;Д8UXQ/kjP`6EQO^bEd*͂|egBՕXzxX bBZ?i'ֳtT&3D}/,roW~J,DfZn)Gl2y5͊s#?CE+"T,,:52LlplߪO8鏬wCVB 4 1$]J,i;-dO)/z_gQMHԚs$iɡ&m-,ĺ>Mt:Ilя|7bˆ l] ]Utc%̌},Ȟ>z2*5[ypM>ЄeJiPtm|*nAz&}|r` 6PAOv]tfi>0SZD%,+e)ǁ᫱;Ӻ%eί{tW⹯#4\{\C>(m̄6T1>ǦcJH쵰r10nJZU{.2*01Ejᰯ%Џ3@R~W^󠊡e-LVSRJbͨL8&{.^?%|X,>*$(MwCK@0CU~k'_iĪͬϣ tanjr7smvqGDy?y\y=bW:_tcPEHDo"$ܩVq=PHypp`m8isb۰0?aIpD$@Z=p3Åc'ce 8ei"|3i籴~ mX&K6i}{ [䂮fmATqh5rٺi{Y;Dhiit㧬xz%Z`$$T-<-@bqvNV`/2W@cNUi͐ٮh VvtS,<%I/K86EN&T ?Wn9"_vg)I Z;ڸ&3"3| ˑɆ7͖0/\[ה-N]_I{Uxfi1 t -sNi8߱~*+f!7xLt [)/.b͋IE"{v3R*- m|r[ L#ڢrx*备|lJUɱفiv"$p;Shh7Uyo렃NpJߺd4ugO+7yp 6%@xh E@w"g(\:hNaGg=s9&~ hDFhܱ*UqiZ󭦵_y '6X;˶h|uZЗP^OZfdz X5_Wx5:H|jY| aU+m`mER\bec >EM]*u I-%=uUް<F; nP:mP5imo6+e[iE.p{KCpR|:5}5'\9g`0O'Ҍ3$-5x'PK9Ovc¢zAzYW\C|؂4:&: h'181&6͢s%3CjLe?:\rޱUEmЍQ\/yP|Pxo>Tziua/;]&3"=5e:pr;1eV75B!}o?/ ~.XF:Į+5L'Պ«^-b#Aڴ̴s}7t*wp 4aTlA3J/ElV8Ưfa<궟} \>'A LtEۧH\C0׌ Yz%I.(al63RS]^^ FQkz$a# @u 'c> "hյ{[?Q m>GmH.Wvɹ~ ( 59pm5<|a‰UŧڊqaM7UY^wr,A`dl\I{Ҧ$g6H`xod l 6P2v=}F6J.ﷶE>e P 5o jX't7 ؎Ƈא=|j< p;3T:j_*BP2bs(KSw'+68%}A}ǾcgmAj؟,@ q% T2?YЇB}К9`(6;#] ƧRx) TjԶb!>̃ ~Sj鉁+$ 0xtQnݏWOiWeظSVynthLZd])I/(ce]ĩap ~Iș!Le5xĎ W`^:J?ق-۔CƂ Xtshg]T8>/DXq\$͉ [;C^9G;ɑvSq''o^ӂ=3z t&l~ LB>+cX\"fAA7eoRy!@$1;TcoQ4rush.orƾWꖉ*qnRM0%<^m3 &.53LIK/D.<^-iTpr?Y O;`梳|{Ӫ%qL Zk)wSeoXVh 9M4Ğ_au\Om` [z\O-l'IY}8"i.!>IG3 6>EfPrRzyR!d A}PDjTF BRQFDmZC<{r!(.PJpZb2g`BI^M|U1m iFee?Grym{>hE[|%iF@feV+ c?L0}aQF^f-a/'dZFˬCU՚&OJ"p=M?i'ig^ψ`ibhO [ N_ @:Ɂ S"6uԭ~|΋mn2l?'zq٠M Zo'L)‡߸!_ Ul5s=r?ņ`@s iw 9cI@}];x;*xDs(G!kBw*ÚRۦC 'SamǬQ$Nu!+LiĢ;rȨkm#F X þǙ,RSMmf}c{2BI+TEqd V$2)ruz~}Lґ&6ri^֚à[z5&GRagLb. Aߏ!?Xt:XZّa YJ x8ClWS^8PfYRɧe,b.a# ]C4dF!V~$UDC(iuYia*G#:R28e{̚6 dS:Ǫ|BFNyq}qOw&V7x7 N ,R+؁iϷC؟'fdGvc봞zM_`{I}fHmy޳eZZyŒ3KSh1YNw.;4ѵjc"XnA#6xXK 0ĥP~rTYŜZN쵽Q1;ta|ir`Tr1<FB@ģ,uE u\F{F%C ,}9D?#y#Phn8Z:u,?8@y1L kÑQ)sR;BN-)Ccu SM5s"tt| k;vt 26w~HޱdR_ȥ9VJ`XW:$%h6`^t``P*Ck M3bQ^N95VFL%"&:PatEWЮױMY%0VR⺎WQ#X;JM,vb`A"vM9`ZE]Oz(Us!1AӼICUn;ytsu  ޜ;5PXY8aײbĨC"mǨrpv]ݞ4@SIT⏦, HV+L X}pbU2 W,\#xe~_`o&"9^|e;^4α".{7-Rtew;jf /PHg]!g薕iLExA℠B ,PGs'q\J|:QH2~ ZR6 t[|!z lyB8רEa_A 1aJws\~4aQ@tu{2dm[K¬<X+3>R` _4E`#֕pZ'u9o30@b4lHDDWH>wrY|[J)oNh?͚+O9 ciуLCI~5iSkHV\ߴY1 |] сbwj8U꿑I;o)Y{f1ciwS^H;.󆇾 fJs‰#H0=.k\mQx8Gs! T?>6 Swi#6 ,m68qw2puߊQ$|XaN΁jt^3}3l`2>-dc?FJ.IlV' % | :>({X? ,Lp]DtV w̌h^I l%NWW·% ܓIɐ~eTmLU'폨x K3U@(+DOӀcӷ}R\= #̪G˻寮Sl?=gC-+2٧&F`<-cفn)n^Vx.&ڒ!"Af$LjNmJ.D$Tp3vb 6x(I B#o3/򱍁r +E7y5,FBu?.xf˻`JNy|Noa5uy7 HFűzXDm; 3ԼLU+mϏrJJ 74`FYZ\ȸO]ZLOFaOڙZ#=Λ #ܦ|E+i"f]Fp7[ K)(!oxu"zQg+nuJ7L_{X_R>j;rߢV!IS6lLҍh{qT? eڱI0/|.͋}jLb[r%'L/X|0 _z M;44GxcS?0k'_ 4jrMHBȶJEw:IgK}ڇt(Mbg0fLs=Nš"?[ -,RM`K)Iq*}\{9mL 8Qs'D7k!?R F~P.:n3]g#&mp%<} sGPw[2d!^o* Ce +/^+HPGiu;(d~]\jgNU۵ @::~놸'ޘ Ӿb>jaz]D'OmJ m/_o 4" V6+ 8:M4r L`S5IMe[]'huiqR=*`xf pn[/΀Vwa]4l;Zq~` ޸s3Nʲ3%!5.0u:g 3 Ќ]ԞR |$욹}:TRhd]tL-'yԜ𥰷g }E! 튵. Su$+BjNMRD9u7\b$EʉCC>rMW0}=90݅t8ƥ3Й&8J=\AP'ժr025RaiZ %Gś BGv3P<3 CJ├ 7L~*B};QX04o>=wl%*ePKfW"Pܾhw߮,)ʟή`2N>wNچ# k܃1vG˄ -Z6Vx9|9LP]B{a |3UYtm\fxkK6B쑈'3 c=z-#1Ȉ MY}$cr2^'֑DJ#ҬMd\EOeg.x Yz(0Qd|9e''T$WY~_ކcLɽPI)$ttx='YbL#EG!XLf!/?lncɤ9lKx?"'G~fJyΏ2\*L?+KE0kwCNmaOBT*{̎d~ <38j?/%cSSM4GӫDyӿ:s4֍D;]xVs {PUawwv Be 4WN" y$J{ loNq׫)JhO%q3k <7*1Ei}Ѝ"bm,톧D;}7@ia_"vx@34A=& N2sQb1HT;'r,D4* ؇Q^u='MġʵRr `LWz7>RU4a  `W}HRB(&ʣ1Cu!w$j۽(@űr4EߑWZ'a14aPoqBaXqflVqVQLG x/7*®v$3~nU-D ǦePg!)) yKlk-\CK`PǵT #%npV$✕BFV2C'+$.W0gR E=aɜCxÛj%j/"ƳQd7lX!bGhs{X1)˂{AZ )U]X{ËAdFXtCj'HGeR#`)ӾdԸj&R=p"%tŻ/ۥzSLRYoKjI;G "EO)ú^GtB> 䲡l3eeoĦmdZOFL}%'M2=̀L+}aүG)B Zx :Թ6ݰa J3l0Fƴ2f nB&P9͓u2DTr6r-OS: eόFRf[~ҩ'e`boؓGmcSn4 p퇫rQDUM01rjш+2ZQfpq@I9僧O{n]wV>Fކ:fu5bot4!B1F #2*xl ޭCRxܟ~Pu*N3 .ptEPDvĽVV(yFq\- sڠPRC{gI'@+c1ըߥ C)l*A ך=?2W| U2m+7e:Ӹ5ob.'tE dive`Vtj"a7}I5G(qK t :(ծ-̰&q^H:y 8k-y'gXĐ# \b1hpx@tTi^ 5G}Q#~p%Z*ӣzheLycS eg :^p8W]qɠ :pnVedQBVb#]Jv;\ӈN0-,e<{422\H)LswJ`Bd-UE9a{;5z+2z\O^!;>z*^ڛ1De-N+/;/ErURҡ?lT||E\[[SiRpNkUR!9M&"sfn6k)Io7s0aqH0zʚP7`0å`/hY%l'ei1ǹaY넵;C%Xcj D=(0uLCj'`h{ d%zޛ'x" 1 G`XX蕕PZInkG[4pAU.} u-ޑgc"X"o֢%+j(doA6_D*0nV gW+{JXHhSj|5X̶[+.Ƿ,ln&bK6#߫YIz%48lû UA)@R:-9C¹iKtjGC xV@MF=a1ycH3**?[RYH) eS#,+5/NUken]FrZ.8uXJL1& `#c Sa@ͅuT_sB%yD޲r[ȎhVu(>~ ym1dæ.xL֫aƍ Xu>7Վ> -p!H!2J'DV07)YԨ?Q6ӥh1}[NH:BP3ə’S:I'މ%RN fh%ĥ(br6 ɇ0H芨6ɂU2Lw5ό^L=oqvgUsIz+ }Bl%FuyRћZnC<9:FG(*$ %#?pE~UӦf(qޅb;Pz`IAΖ2`_6є"VdB#,KM߹I7e-9 /BL4iə}[%]ܤ\Pp*+y?id!=l]ou/-)aCeja{ګ5$s)a96- \>D1+\R~ȁYPC> D_4_ͯg1*q`Ephfmتivwiު5\AgYu 0ri+؉​K}9f;31C"EIEu ʢ?3+}S$˯WՃEћyKX/3nŨv 5GMNiw|IjIzBS (o^o(nJrjy.a @`?/yC:G mX T˦mcڋص7Qͧ7ВSvp  UWm˗|C%xaw5M"6zTb~ȡF}4-ECKxb_ư$AcLk{y&pګ } ajrR,x+|*~| ?m"?U:>ZQ *xG:yt)v Pfn{N}dї&ȃ[7>z}(Ûm:[t5f!++ٝ7LS1.Y1O{6DMcZO&MGNTRjoܑݙaRM}%GOe__۔/(,AH^22('//x[}nn, 3AZkK?""i^F9ih=X kgE♻ f]+Ry鐑KAJcB(A6i1>S,E R!1띝GmyK=J: *Gɱzx'߱6l7q]Trxf)yԨhms v* tªf/&GM\aa0B )I^va-{ts<\HΫ@F $mH{orgn zISaZav(#džOˢAXH pqR @[>8S!{}ZBHLnTPK^T%4a &L+F@Aʞt@AH EØD/sb0Es rK/pY|SMb E[I3e#nwy{=d?+@؆C#{ ]zXC`l&pl鯲ҚkILcAUhiERˢio+mz¾מ+ U;L/;v G^h@e! ˠc7뢦|)U!<,aO-hF^$ȑs!B,:9SF?\Kop5YpJ9}5={A } j$X9QT['g(Eӆim.mV |L~qazzo> >iM`P˗_[pۙHA/><- !cN7s)uC#JXB&BxǬSX G)]J>ܜBo.7n!|6\I@Cka oRERuF >zlobJۆTݟ;@şs{M7/$j?Cv]TZ8bJ4ʎhW@t|&S{eF0De s "<\!,[,7ʉ.!l5q_M/㹺xS<{I"M?3V^RI))EKwTD!K𣑫8Shǘv}O1rRT \Rl1qQnRe, ך.CP%g(ZLO%tvdrl~lEĴ6;UD=k d#)[z{zQs#[Bǃ]^#!%}e>)M=!L0eBTLSHPT>%oh[JOr*4ŷUl[x*H=׏R!Ճ} k۵ٰ->J9*@N-}>)+[οfjST# ⮚-?aTdhgcWet=kg'΀.pg3"?pPkN2ng,las*pC$wG%S w;L/f!|#])'.ݽ(έ _A517/mX!̙uZxh]3N|o9 (MgVri Ȱ5+)cOn0fkږW#"m6iD$:F{)ASD>Z%dTth@>BLỉBGPӺ{aBA)o|f xOsfG] bnfz2̹obJ{ޡr -/C<0 H]uH Xɲ?ܙ)#iFRu֘u,M{Al4 *Dh!} ~aҷSi*5YsJR۾Ccm"7c {P.zD hA32ghCt O6Lb2QVVw8/lQXz!9ͪ{8*@hWJ+aex0lwHI5{=R]>EZXr$dyP%"=MZJd yuq*M#f߃JQts֑9d/a97eDw:ux!Q]-Z`;I;LCƄtqvV>pC3Q1rg U WDXꈃTy025.;E&OaiJ"%M-jk a2қ&P8V >q6X]`)S6%,u[@A5=!c-u;)1x!50ۚf.;#'Y'e3/S u8vu@m5ˀ_}_G` B}\npHx3kKȄ2ӶYd3@Ey@DTFaoZZ:@rbi8&МE)RTkXz?$"biJKRO p`l-Y# BV؜`d#Z?(f~r!\Lcu6CfGk\sݴlnIGqYP7Pɍ+!Ab}ޓdxG~ ˺PE NNqJ† ĎW[/I]f ~SOJNZS8/#5pn7l8ࣧggu&a,hr5f]lce{'$FR D̠Hs}onǭBw:lN8bq{n{:i$RhG`o+YJ@VQPf> LݒJOa?L\8M*Ja$aL6ׅ*EbXK@ ƭFp]F\ݴΫR"=vF͠R)ԐT֕,DhfIwR1b3)]0KSG =0h]=!EۛmR"lX$H+oVL> /RsDDx&kABi+JDRW\LhQ"Jd@FD bgJ&-2YJY)aX"{'/ G\#ǭ&eǭ_+rm,.9>exp;`C T(h{#ѼͧIGrqɚp|0߾Kr s/\ڊ'Aoa1ӕYj44RN@*9?MIݣӲCΌ*/]Z7L+Zig3 # -{S5&ukV=vmGw%=k[M%H i 4Mr.,Q $e3T}M1,NÙ듛d8D5ouRD9aϒ2d U>$Ü$ef. t| O-HqpSYԮ21 m(<魈ħA%*e.%7 \]EURAef^*##Sm:'vK4،Z} _>]r-1ҧoɾ ͠Nu2D,mN别(G `7Ot5ˣW]dȠYc&Acr1[V0٪*u$tC  B,2I(5P'&F9ѣ'Z8].3c灦+M*r2 SnӊxY_dQW]`_;BatLo}z-k ug o&I-WFFܻpoD /,ߨЌc 5ك[KYc T\0/?\Y-ZV2^H_ Pڶ 2(̲^!:S!{$ϗm_CAνV+Ths gjQLO܅ykBl%" ɽ+]`*#xAl3N1robvA%^7D)ImOŽXJ¾-ooώ#pDSLJ.G86j8x.!y‚=QgbzW1d͇o15B,Rt;v,_t,آ'.l xKFH6~ Nt%6'cC!]_[˔EW,~ +V;wz=#1:˚l%23HALe;05ތ8mr63.X|o{Xd@Ŝy g! ` Sd0=Du^\G Z^,bz0V1NrDE'17cᝨ*ۍb_\J L82#ћ l#İ&ڎ(!*Dd9Ճ9D{ 1U.,:{%)a)O=Wަ ᵟG>Fu6 gN<$~ݞuw(crF \ =D7x@yw2C}& FvbzL|`~ΒCNPx}M97mS hȐ<^1b U1PyGŋJ0\LQ?8RԦdh sh^بE{%k%տYcڂL[5A[)x[kb\:Ĥn?TNVi<_#jYn.`u\AX!Yî\^D{:{jo:$Tewsuk©TbOˆ}wVBR,,>!9nږ4 +ctY:%)ǑÄ;-;j!y||{79@ʾ}P5 yn** 7)>x`.Z~ҷl6!FAa\ˢJ>߉:hAL"Os_Q5.w:eNa- > -L$j~UDg 1=\7>KĀ.T%F|Ϊ'S >ZQƟp9=H )ĐVT(uܽoRMr)^cJ`ǍM&*>aj-2 ܏['6WVXS [L 4؂@ 5-\l)_Q.P2w0=s4j[*݇=㐶YF2SZ,}g\t&w㲧]r%[\S-K4QS Y սƚ0uWlX\ z|D1h^z?A,b܁dKq鍙۞=c܉Y[rSb4G{LuQޣ5\b*vw `y{74 ~RZV_݃{xhGη=㛤W`e8GG٦"OE^.ʓôK{[7a#tzr@ {c2xHrY4OJÖ3Ab#lCSP;)-(vuccVj,J~',֫mў.Gvw.}!.Rn;E脪B7Ey-veUK9$?tJ=Xu⻕[¬ jҖpG|ǘbMlEǙFr悁OqZ)Gm,n7-jŏI7 `&}Fc4g,?5MbT;*u^tpr9Iu}q ߗfNUhY aL.{0tr\PiZ2JP sP]|u6<̵ķRcVXo;@EGM$YNEORՕ"k}o%IYHcMS ۑYx݆Ge\KJ&[/1Qq@ڼX2w - c ͵61Xϑm#7 Czuʶ9 f HHO|@o oE'^,X0I8`ZCNa?G5n7M:'x^IJ?~g˜B֩+Ť=lehH(l,U̦l&Pr2`33cRCC%'TZZB2Zh@Q\XIK5C43*דf~ogJb⍄D4 oXdC,/WiׂtS٘F`Z,P|myjRlro1^b.}Sn'h/g=x ;MdlM{¿TlBbXycKǧcfH|)䧤y9ŀ3Qr Y:>_#PtO^I"STmds\ .ALLV&섏hƽ1$uG% ^&/%a4_*E{(|!6+1ۏV 9^ xjIIrT.Yf/b}=2̂N9SBtǵTC_gi]JLZC3&H{ 4/Ά\h&Ӈ٨HыRQj ϠrLzigidKM [ta|tQc /9 *1fΘϔp@ѝJ@3Ss+^VLZj t?􏹄̜wu%BKY7Zn?7*m<-jN[ƄX2WswFzf ي2vj:HX1b2sˉ'wS:~5cwJ;nԯX걏"~nHEKv Ne"bJEW]Dm *.13|lT>d+q =ݱP^71n=Rjʚ+q/@"gg7D&Y6gIZ%a=!##-w(齀Ё૿F3ZzFna'Tga|@yCNf8bǭ +`\KPwe.3:~En0Pq~ .`4m~3Jz K>*%pRTÐy=yoz?dj/p3P{xE(bpo7:gODs_(!6Btu(/?5wSh4G"dBL.,dO:Ĥg(HaW͜~xc6*sޣ',GQA->58WuZ˵-#ȿ߸3"N>=Œ\M¼ӯڬt3/]I}ZH[@;m2l0\BP#cv8T98ËdhȞ:ASotrһ J@u|f,c=LC[< ,]pp[W26Gzn{ib ( B"KVrf'Q({U/Nq>3Ljvr~b+!.f^yCo_!Tz0rUe>dz3!kQT4Ô@aPM?hԱ4G.pF Vٮ|3Rk3?~q6zd\&wz?íMD [E"ցZZ< Iv{U7yOfG g06b-ryRSU2Gl}Ghyǃ7rm9utD#sr T}}0UPH3 8dStZ۸E? x}E㔕zrci5|l=ք}utڻI/XN !/,Bw đܻ灥 }a{) bGѶno%C}R^Cƴ!Z ։j^Aᤲo6]}Uo2GCiEm*SY:f JP: ,cF4=@њyJ 6j(|MTw@Є -YnkeKyԭ"SϵҷKYmbݪvĪA28g2.љC.Uq^0Idb0ʉB1c.S3e3G+o<Ă+`{b Ph5yҀ(-U6hC+n~e~e%Nvp9yOz=6M&⾧럂/;3yFJ\Dm=d4h(MMG t>G(y4&dHLٲo&gE`7!"xm!>aGcٲHwk`!}F$^,4!}DA2B>U!;7MаY7O2>d?VȪ, xA8Ŕ6x-OI1̚珙ʮeS$SB@)Q 'j)i.@ jqek5b +BA7vs0 .nR7Ƕ‚Y}+QwsbvrPSnjіs/gI:} IKl n:HZT>ENWdqt_wYU,t2~ &*TG#uٽhT,P|k32"\Ö;!bꮬL3N2W`~OJ.㶞 PB7n-qLj%eܵoѮd,+GU.ϖ}t0떶=xMԢ)W/sqܱgěe9|X4Q\.S*1gUJٮhcTtf&BDgaL7DIOXGv*s~U!w]_h~'cٯkЃ/o-P@ɜ2 ~?U[d*#dXݯ;!J7/Z|5Si 8AU=qq7(:)ŷPP Y0bk*y/Hf34 PY|)Yf2XEWQ/J!sԘb^Wb7QZ 2@rM("=I88hyUMRy|?UP^=wtCp4iqʩ7 .kl]ә}0Ps`Rc $%[Rae/~_-$Ʉp_8|}6 ~aqr~[wc`g>d;v$WQT9 Wts I*RK66 LH M5(?i؈ftSwXL:+J XoR=E JS\DM@|V[U1[a5ƊNu-HMrTSMR_ C4{}4wL8yE4pjzM^S6B,]@{IDKfEɏidؠ5-wo+G#aʙS舁/[n-Naa?_Ǿg@F;]ds zT2)Wp2a KlcFnNfmSGI WJi,Kj>/\$y?'&mu6ehXb{yh`O݋0EpEq?7n+f VX{nvnԎ5,*Zh p#tGkϷZ/|JhQ%b8euCʂv{u6 {R"h8'#>uW|ʑ{9_JصD $a 5%5{*OHLqެt%eet:2y,r)nuV [v:xoJ[b j+n* ѓf']ХVSxZ/]ZPRqNk"(vOƦ|7(T"II`=hPx+¦bxNL|Hh0> ulroU >^5 A YZ