openvswitch3-3.1.0-150500.3.16.1<>,x$e+Ap9|b gwn@ uQ&@wEkf틦9UJm 4r'iwBsaa,c'OH$d,cv sgQu5g!9zq0d#٣~pJX&? Vt+"dwQ{\C< /oأD9/剱ʦ'ثv^M.!r}jCUYKl hEIE 'EcCTى>T_?_d # GE [z3t^l^ (^ ^ \^ -:^ -^/,^1^3 34^4 5X!5!8s!889(989$b9:b:B"b=3>3?3@3B3F4WG4p^H5^I7`^X7 Y7 Z8D[8X\8x^]9^^@;bCcCdDOeDTfDWlDYuDl^vEwQ^xR^ySXzUXUh__ _$_,_0_4_F_H_P_V_Copenvswitch33.1.0150500.3.16.1A multilayer virtual network switchOpen vSwitch is a multilayer virtual network Ethernet switch. It is enables network automation through programmatic extension, and supports standard management interfaces and protocols (e.g. NetFlow, sFlow, RSPAN, ERSPAN, CLI, LACP, 802.1ag). In addition, it supports distribution across multiple physical servers similar to VMware’s vNetwork distributed vswitch or Cisco’s Nexus 1000V.e+Ah02-armsrv3%SUSE Linux Enterprise 15SUSE LLC Apache-2.0 AND LGPL-2.1-only AND SISSLhttps://www.suse.com/Productivity/Networking/Systemhttp://openvswitch.org/linuxaarch64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ "$1" -ge 1 ]; then # Save the "enabled" state across the transition of # ownership of openvswitch.service from openvswitch-switch to # openvswitch. if [ x$(systemctl is-enabled openvswitch.service 2>/dev/null ||:) = "xenabled" ]; then touch /run/openvswitch-rpm-state-openvswitch fi fi getent group openvswitch >/dev/null || groupadd -r openvswitch getent passwd openvswitch >/dev/null || \ useradd -r -g openvswitch -d / -s /sbin/nologin \ -c "Open vSwitch Daemons" openvswitch exit 0if [ $1 -eq 1 ]; then # Follow the upstream strategy that no running openvswitch # configuration is changed on upgrade so use fillup only for new installs. PNAME=openvswitch SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service ) || : fi# Do not restart the openvswitch service on package updates. # Restarting the service may break the existing network state. # For example, openflow rules are not automatically re-installed # after an OvS update if no SDN controller is used. Moreover, restaring # the OvS can break remote administration during the update so let the # admin decide when it's the best time for an OvS restart. # 5771f476573445710834234a6a9f7bd999a027e7 ("fedora: do not restart the service on a pkg upgrade") if [ $1 -eq 0 ]; then # Package removal for service in ovsdb-server.service ovs-vswitchd.service openvswitch.service ovs-delete-transient-ports.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fiH@ - H 7 XEp=m*,X2wLV oA&3{ P #c J \a bhTB9 KVCVDh~AA큤큤A큤A큤AAA큤A큤A큤A큤A큤A큤Ae+4e+4e+:e*e+:e+4e+:e+8e+3e+8e+3e+8e+3e+8e+8e+8e+4e+4e+4e+4e+3e+8e+8e+9e+9e+9e+9e+3e+3e+:cZScZQcZScZQe+4e+:cZQcZQe+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+5e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+3e+4e+3e+4e+4e+4e+4e+461ded9230bf6beb7a16be0f5a14ea6b23161dea665eb803fe782ce652f41915e2f41ce611aaa40a7e08122af5dd75345c07d47862c3bb7bf25b03921be253dfe1aea59f0eb8fc247b391e4fe939533d2fdefc7ca8e55e24ab390171b922cc48ebd4fd1bdb10fb8aa07124e110d0b7cf1d1151021eeef94f924009923924c60d333c934df45f310dcc3722a6d9fcee12bc3f5c04fcf136a5654d17b901d0083604237c26e9cdbe50d185467e2d29798ca068817178b55f12779456b8b45fc28eb8bd8b1fa2864a82aa739ec9c3027020f58b6de11d1e8b8a0b4dec43332258d31cf59b62f9c1c3219c82cb07fe39dd7d60c586543c631a754431af200169f5ab9dd589a77274aa17def6813b04616b2fbe4c563384afee7b1b2920b777e0a2dd6f30089d02b9b93944ccd222d416b71ca404011bcd35095eaef451fab6ca30db1f1221fad2969629f26325e2282ac8d45048726e89d06f250653baf9b593138a53a0c7165cbc84bdd4a07dac8693944e28c0e83818cae551202475a12229dcfdf4a41e2edc4f212004e146f48a77b4747815d7f26c369a0a0c19a9e6108de34c02f9a6fa07366a7b3fd21cdb9eb222aafb24072987eb0fd90714ee943cb94430470d9348382c00327acbc3f131ff012d35c77022f77bcc39c0f1d18fa88021a6491917e852b3abac8e7f696abaa5caebf7ab903eedd533c0272503b7bb2cfa3ce614b8bb1149aa872e02c6d534977897e75d650b6b0ac560d41264045762d25fd6d8dc3e836a7d3d2aa854f76a2b599feb2551c7379d50f3e16d0a9cf27d70e9f58876967ddb71f44473c1799a81e02d6a0231efcf87d8082737b7bb65df0b67111744ada56b0f2c5073f037d1d1861665a514eef90e34431bf7a4bd19b7af07066d39196701158bfd5a0ebfb5c565e3aea10089dba5ea2fe8f6a259bff058d9bf2b488052b0f2e8dd37069e39eba0dd27e47ad3109a7f7e6245d397e7144dc0ddef776ad9d84246c1bade2475a37aeee9319cbabb100607144ca515d85bea2232f8c447bbc494381d522d0310577ec87b30addab00374ae9edc1bece512ce7519af6d9b51136594241ab5405e7baf68ddd80688f6cdfc5b94da399ff0d12ef0ff41f887b04dd604250193ddd88691ecd168dacdecca2d0d6581d8840e3f0b0dcdd58304d83968b9a7e3fe836008dd798a176a715c12cc696cc63e2bbde7f7250bf489b1a493f871918cd796b5018bd33debdc0394dea843e64b97f3abe62403eef01acbb4eef502072c55ea7668ec71fdd4d66b15dab1ca953d66e3a75abdb7a0c3dd64a089b7215e8c54bd49c649cc40f499aa6ddf641e12ea8eb2ef3f680dc3cdb9887fddbcf1be8294bab2149ccd002468eb8dad8453616eef5b385cd6127965d16360585a78b64d1f255f4acb2ee96f0e9a88560019031ecd9072a5c3852ff992046f6e376f795ba33950e872afc00e954de61cae32bbb798a94ab5dbe453ad723fc748f050121cfd73494ba05d5abae998d8cf550c83e7147a3279531f2d3cdad57cc5a8c5f275de66f61ad497239057aac3af72033d9e77fb94e3aa03b5bc836e43bc47024d8c1dc7e451699fadcc4ffdd1277b7cc3838f28a5d73ccc5855ac83f691070cb7b13006c82b6418470d3a5ac3eb4f15708a6f492990df6bdc62950d081f26aefe398cceff7c9c397ab53964a7c36eafc7a6352e6aa8a0eff9bc00e585a1d65a7a1143f7739dac86b58c7b410ccab767637b06ef1723856dfd71ce3d799a195f4f018b308c7f46db1c68e65017fa7d770c5ef0655a0fba399daaa4f9573ed596a629f2c5552d1706c40d85e8dd88a758bc45665646dc5a09caa02d0fa9dd9c18063421434449f947c5b1309f1b599ab214ad18beab04a589456167a64217d94446adfac35a12094536f4ef90f3681323654b0ddc24e3be933a5a744da1ed9afdd22b032fc64b4d1dec20e3bd056fe030ff5715e4cab6c74718d1fc827dbd2bd0029ec1e14e3e44a0ea79f5d2e3456a891807e9f30a630497d8f46e179e55a8f7f8c581b089b1db6f2c52efe54c1f2bb18396ea8feaf5c930ebca372eefea6d8f8440602bd2413fab8441b33f11c108f686a06305da55a242e9ef817b31d91799c8cf66df35db520ee6061c128914647a8d8e8a041fd4e0522d1a034685174748b2fbaf6f0dadd7eb4c756c99facb191430d675ec125ba284e4179c0c1759d74be63550e877fbb2ddc521527e26e02dc997936b5fdae72a77ecd06918e548333fa3c8e7d764791225612418e63b7e61d204d11ddb163c4ae4c7391ebae7645de44afc2b21852b1b4b3e226d01c1b57cb5014223a092958fc67efd68d2893f8c2c30805ac6a36f245b29484d4027a39b0673c590c479c7af9cf5ec9458dbc7e0c717fd14cf12be0019c0599748d8f99ca63dc76a8ade408d847942e2d228171c66f848c31cd9930f157de34bfd4fa6aaecfafa1075cda46f6c4efceea8bdb0c6d8af591df0f72a4c558d511860bed4c3428a0a3b3ae7127b9a15d7a688de84a2822644b3cc40a9bbd7b0fda270a4a16dfca24dd4e34779de21ee8294f2f671ea22beca2e4d2c5b5a266c0cdd77c8fe1df9ba4058fe37514c4bf8426ee2ba99481cc10b125c17798f85917d572168ed5493cfcf5a876b8c7fce2b19b9d2b5feab92ed4e75a8ee5f5af7d6268c23c49a30ef1b7370c8ecc57d8655a728b4db08686ff460453fcca6082f3a00ec9801f7ba90e67b1180aefcaf4e170e246808be4df9b0defd3f2ff22e12458a57b0a78b59e305d4e2dd4db57376840e6690f5edfb2b742fb04461465b5e05049aeb4bfad64ffb2854cdcd1e5ef7993c0836eb3facf0a6024e40f760ac02cf351fb2cdd4e1dbaa49bb75f4bd06016938be280b967395d4d5221365e0dfca256f361c188c194990603e2b79107741ce035d3caf0ec9f7ea3b5011ce953f6a025f89064990f106246a027994496f8cbfa1ef310f539e60a44b3ccb5a476f4cfef0478e272ce29a31a1ace127143bfe0c0a191bc04158d6c484964ab047224dc485c17a7d0b143b91317a6edcc775af62d64412d8df7b2fd23dd828d99fa00f50469c41d15a9428f082fcfa0a239d90cbe0c0c13eaefff0e4c7dc8b361cfacf22aaaffa37a1c1ef46a90fc5e60aa3875bbe57f18a17f373904ca712cd3a8960314f3b603c8e09602037eda85210371cf55b796a05e62d231368c016cdf0345d6da054e48e6d278fa4f67d4bbc03613127af59b05f603d13574d062232e5d1ac258f453bdbe54739f1c729ebaa609053e95e8e1d0d14d70d1506286bc4a34413051d93f16cd75564c29c60ee29c30c816serviceserviceserviceservice@A@@rootrootopenvswitchrootopenvswitchrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitchrootopenvswitchopenvswitchrootopenvswitchrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenvswitchopenvswitch3-3.1.0-150500.3.16.1.src.rpmconfig(openvswitch3)openvswitchopenvswitch-commonopenvswitch-controlleropenvswitch-dpdkopenvswitch-dpdk-switchopenvswitch-switchopenvswitch3openvswitch3(aarch-64)@  @@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/env/usr/bin/python3config(openvswitch3)coreutilsdiffutilsfillupgrepld-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)libofproto-3.1.so.0()(64bit)libofproto-3.1.so.0(libofproto_0)(64bit)libopenvswitch-3.1.so.0()(64bit)libopenvswitch-3.1.so.0(libopenvswitch_0)(64bit)libovsdb-3.1.so.0()(64bit)libovsdb-3.1.so.0(libovsdb_0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)modutilsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)shadowutil-linux3.1.0-150500.3.16.13.0.4-14.6.0-14.0-15.2-1openvswitchopenvswitch-dpdkopenvswitch-dpdk-switchopenvswitch-switch4.14.3eYeie/diddd 3dd?@d@d dxcIc` @``&m_F@_s!_N7^b^א^^E:@]@]L]-@] u@\F@\!\@\\|\w@\f\I\I\Db[@[%@[ͻ[@[[9@[ug@[@[ @ZZ@ZZZI@Z@ZTZC@Z'Z@Y5Y@@YJYyYoIY`@Y^&@Y)j@Xf@X8'X2X&WH@WWίW]@W"WWzOWs@WrfWj}Wi,@WH6WF@WBW>@W=W+5VbV3VV޾VxV'@VՄ@V͛@V͛@V͛@VGTTFJDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.comDuraisankar.pitchumani@suse.compgajdos@suse.comdmueller@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comdmueller@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjcaamano@suse.comjengelh@inai.dejcaamano@suse.comjcaamano@suse.comjcaamano@suse.comJaime Caamaño (jcaamano@suse.com)tbechtold@suse.comjcaamano@suse.commchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dedmueller@suse.commchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.derbrown@suse.commchandras@suse.demchandras@suse.deolaf@aepfle.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dero@suse.dero@suse.demchandras@suse.demchandras@suse.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.demchandras@suse.demchandras@suse.dejengelh@inai.demchandras@suse.dedmueller@suse.commchandras@suse.dedmueller@suse.commchandras@suse.dekmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comkmroz@suse.comantoine.belvire@laposte.netandrea@opensuse.orgdmueller@suse.com- Fix CVE-2023-3966 [bsc#1219465] openvswitch3: Invalid memory access in Geneve with HW offload - Added patch, +openvswitch-CVE-2023-3966.patch- Fix CVE-2023-5366 [bsc#1216002], openvswitch: missing masks on a final stage with ports trie - Added patch, CVE-2023-5366.patch- Renamed the patch, CVE-2023-3152.patch => CVE-2023-3153.patch- Fix CVE-2023-3153 [bsc#1212125], VUL-0: CVE-2023-3153: openvswitch,openvswitch3: service monitor MAC flow is not rate limited - Added patch, CVE-2023-3152.patch- Fix CVE-2023-1668 [bsc#1210054], openvswitch: remote traffic denial of service via crafted packets with IP proto 0 - Added patch, CVE-2023-1668.patch- Fixed the install check error by adding provides for python3-openvswitch - Added provides for OVN as it may be required for any dependent packages.- Added versioning changes for OVN and LDFLAGS to fix compilation error- Added OVN version 23.03.0 as it is built together with OVS and as such from this same source package. * For a list of changes, check https://github.com/ovn-org/ovn/blob/v23.03.0/NEWS * Added Patch 0001-Run-ovn-as-openvswitch-openvswitch.patch- Rename package python3-ovs to shift the old openvswitch version 2.14.2 to legacy module- Remove reduntant obsoletes and add proper obsoletes version - Do not obsolete old package and let user decide. - Add conflict for openvswitch-doc- Updated package name:openvswitch3 for version v3.1.0 as legacy openvswitch version(v2.14.2) also needs to be supported.- Update to version v3.1.0. Some of the features are, - ovs-vswitchd now detects changes in CPU affinity and adjusts the number of handler and revalidator threads if necessary. - AF_XDP: * Added support for building with libxdp and libbpf >= 0.7. * Support for AF_XDP is now enabled by default if all dependencies are available at the build time. Use --disable-afxdp to disable. Use --enable-afxdp to fail the build if dependencies are not present. - ovs-appctl: * "ovs-appctl ofproto/trace" command can now display port names with the "--names" option. - OVSDB-IDL: * Add the support to specify the persistent uuid for row insert in both C and Python IDLs. - Windows: * Conntrack IPv6 fragment support. - DPDK: * Add support for DPDK 22.11.1. - For the QoS max-rate and STP/RSTP path-cost configuration OVS now assumes 10 Gbps link speed by default in case the actual link speed cannot be determined. Previously it was 10 Mbps. Values can still be overridden by specifying 'max-rate' or '[r]stp-path-cost' accordingly. - OpenFlow: * New OpenFlow extension NXT_CT_FLUSH to flush connections matching the specified fields. - ovs-ctl: * New option '--dump-hugepages' to include hugepages in core dumps. This can assist with postmortem analysis involving DPDK, but may also produce significantly larger core dump files. - ovs-dpctl and 'ovs-appctl dpctl/' commands: * 'flush-conntrack' is now capable of handling partial 5-tuple, with additional optional parameter to specify the reply direction. - ovs-ofctl: * New command 'flush-conntrack' that accepts zone and 5-tuple (or partial 5-tuple) for both directions. - Support for travis-ci.org based continuous integration builds has been dropped. - Userspace datapath: * Add '-secs' argument to appctl 'dpif-netdev/pmd-rxq-show' to show the pmd usage of an Rx queue over a configurable time period. * Add new experimental PMD load based sleeping feature. PMD threads can request to sleep up to a user configured 'pmd-maxsleep' value under low load conditions. - For more details, check https://github.com/openvswitch/ovs/blob/v3.1.0/NEWS - Includes secrity fix for CVE-2022-4338 (bsc#1206580) and CVE-2022-4337 (bsc#1206581) - OVN package is not included as new version with API chnages are not yet released. - Removed upstreamed patches, * 0001-Replace-deprecated-var-run-with-run.patch * openvswitch-CVE-2021-36980.patch - Added ovsb tool install patch, * install-ovsdb-tools.patch - Removed patch "0001-Run-ovn-as-openvswitch-openvswitch.patch" as compatible OVN is not yet released.- security update - added patches fix CVE-2021-36980 [bsc#1188524], use-after-free in decode_NXAST_RAW_ENCAP + openvswitch-CVE-2021-36980.patch- add openssl(cli) dependency on pki (bsc#1185839)- Replace deprecated /var/run with /run (bsc#1185176, bsc#1185177). * 0001-Replace-deprecated-var-run-with-run.patch- Update openvswitch to 2.14.2. For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.14.2/NEWS Includes security fix for CVE-2020-27827 (bsc#1181345) and CVE-2020-35498 (bsc#1181742). - Removed patches no longer applying to code base: * 0001-rhel-Fix-reload-of-OVS_USER_ID-on-startup.patch * 0001-ipsec-Fix-Strongswan-configuration-syntax.patch- Replaced `%service_del_postun -n` with `%service_del_postun_without_restart` (bsc#1117483).- Fix wrong default directories for OVS python utilities (bsc#1176273). - Add upstream patches to fix openvswitch-ipsec service (bsc#1176273). * 0001-ipsec-Fix-Strongswan-configuration-syntax.patch- Update openvswitch to 2.14.0. For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.14.0/NEWS - Update OVN to 20.06.2. For a list of changes, check https://github.com/ovn-org/ovn/blob/v20.06.2/NEWS- Fix preserving old default OVS_USER_ID for users that removed the override at /etc/sysconfig/openvswitch or for users affected by fillup bug below (bsc#1172861). - Add patch to workaround a possible fillup issue that could cause existing openvswitch configuration to be unintendedly altered during upgrades (bsc#1172929). * 0001-Use-double-hash-for-OVS_USER_ID-comment.patch- add missing provides/obsoletes for python3-openvswitch-test- Update openvswitch to 2.13.0. * For a list of changes, check https://github.com/openvswitch/ovs/blob/v2.13.0/NEWS * This version drops python2 binding support. Only python3 bindings provided going forward. * Tool ovs-vlan-bug-workaround is no longer provided. - OVN was split to its own repo but is still built together with OVS and as such from this same source package. OVN initial version is 20.03. * For a list of changes, check https://github.com/ovn-org/ovn/blob/v20.03.0/NEWS * Packages openvswitch-ovn* are renamed to ovn*. * OVN now has its own sysconfig and log paths. - Add OVS patch to be proposed upstream: * 0001-rhel-Fix-reload-of-OVS_USER_ID-on-startup.patch - Patch instead of post-processing configuration files to set running credentials (bsc#1157338): * 0001-Run-openvswitch-as-openvswitch-openvswitch.patch * 0001-Run-ovn-as-openvswitch-openvswitch.patch - Will no longer change group ownership of /dev/hugepages to 'hugetlbfs' (bsc#1140835). System admin should mount hugepages on a path and permissions of his choosing for OVS. Add patch: * 0001-Don-t-change-permissions-of-dev-hugepages.patch - Will no longer install udev rule to change group ownership of vfio devices to 'hugetlbfs'. Group name does not make much sense in this case and ownership of vfio devices should be coordinated system wide or per device. - Will no longer run under group 'hugetlbfs' on new installs with DPDK enabled. OVS will now run under group 'openvswitch' whether compiled with DPDK support or not. - OVS persistent state is now saved on /var/lib/openvswitch instead of /etc/openvswitch for new installs.- add missing sortedcontainers dependency to the python bindings- Update openvswitch to 2.12.0. For a list of changes, check https://github.com/openvswitch/ovs/blob/master/NEWS - Removed patches that are already included upstream: * 0001-rhel-secure-openvswitch-useropts.patch * 0002-rhel-let-ctl-handle-runtime-directory.patch - Rebased patches: * 0001-Use-strongswan-for-openvswitch-ipsec-service.patch- Fixed missing obsoletes for old python-ovs (bsc#1138948).- Add unbound as a build requirement to support asynchronous DNS resolving for remotes.- Update DPDK dependency to support DPDK 18.11.2.- Add upstream patches to fix bsc#1135884: * 0001-rhel-secure-openvswitch-useropts.patch * 0002-rhel-let-ctl-handle-runtime-directory.patch- Use temporary directory for python build.- Fix problem preventing new installs to run as non root (bsc#1132029), including: * Align with upstream so that no running configuration is changed on upgrades, specifically to avoid changes on the user Open vSwitch runs under. * hugetblfs groups is created as system group. - Add missing opnvswitch-ipsec package and systemd service. - Add patch to use strongswan instead of libreswan for openvswitch-ipsec. libreswan package not available currently. * 0001-Use-strongswan-for-openvswitch-ipsec-service.patch - Add missing ovs-delete-transient-ports systemd service. - Align installed headers with upstream. - Fix problem preventing rpm build '--with check'. - Fix python environment that had directories pointing to /usr/local. - Version bump to 2.11.1. Some of the changes are: * netdev-tc-offloads: Fix probe tc block support * rhel: Include all header files in the Fedora's devel package * reconnect.c: Don't transition back to ACTIVE when forced to RECONNECT. * OVN: Make periodic RAs consistent with RA responder. * OVN: Always send prefix option in RAs * OVN: Use offset instead of pointer into ofpbuf * ofproto: fix the bug of bucket counter is not updated * netdev-dpdk: Print netdev name for txq mapping. * dpif-netdev-perf: Fix millisecond stats precision with slower TSC. * ifupdown.sh: Add missing "--may-exist" option * dpif-netdev-perf: Fix double update of perf histograms. * dpdk: Stop dumping memzones to stdout. * dpctl: Drop parser debug information. * netdev-tc-offloads: Properly get the block id on flow del/get * netdev-tc-offloads: Improve log message for icmpv6 offload not supported * conntrack: Replace structure copy by memcpy(). * conntrack: Lookup only 'UNNAT conns' in 'nat_clean()'. * conntrack: Fix race for NAT cleanup. * ovn-nbctl: Don't segfault when ovn-northd doesn't configure dynamic addresses. * datapath-windows: Add annotations to find vport functions * datapath-windows: Guard vport usage in user.c * datapath-windows: Fix potential deadlock in event subscription * datapath-windows: Fix race condition during port creation * datapath-windows: Fix nbl cleanup when memory allocation fails * netdev-linux: Remove ingress qdisc before trying to add shared block * netdev-tc-offloads: Remove ingress qdisc on tc init flow api * ovsdb-idl: Fix memory leak of idl->remote. * travis: Remove 'sudo' configuration. * OVN: Add port addresses to IPAM after all ports are joined. * dpif-netlink: Free leaked ofpbuf by using ofpbuf_delete * OVN: update RA next_announce according to {min, max}_interval * rconn: Avoid occasional immediate connection failures. * dpdk: Fix case-sensitivity of dpdk-init knob. * NEWS: Clean up the 2.11.0 release notes a bit. * conntrack: Fix L4 csum for V6 extension hdr pkts. * packets: Change return type for 'packet_csum_upperlayer6()'. * ovsdb-client: Fix typo. * ovn-nbctl: Daemon mode should retry when IDL connection lost. * ofctl: break the loop if ovs_pcap_read returns error * netlink: added check to prevent netlink attribute overflow- Disable dpdk on ix86, aligned with dpdk package.- Combine %service_* calls to reduce generated boilerplate. - Reduce scriptlets' hard dependency on systemd.- Version bump to 2.11.0. Some of the changes are: * Linux datapath: - Support for the kernel versions 4.16.x and 4.17.x. - Support for the kernel versions 4.18.x * OpenFlow: - OFPMP_TABLE_FEATURES_REQUEST can now modify table features. * ovs-ofctl: - "mod-table" command can now change OpenFlow table names. * The environment variable OVS_SYSLOG_METHOD, if set, is now used as the default syslog method. * The environment variable OVS_CTL_TIMEOUT, if set, is now used as the default timeout for control utilities. * ovn: - OVN-SB schema changed: duplicated IP with same Encapsulation type is not allowed any more. Please refer to Documentation/intro/install/ovn-upgrades.rst for the instructions in case there are problems encountered when upgrading from an earlier version. - New support for IPSEC encrypted tunnels between hypervisors. - ovn-ctl: allow passing user:group ids to the OVN daemons. - IPAM/MACAM: * add the capability to dynamically assign just L2 addresses * add the capability to specify a static ip address and get the L2 one allocated dynamically using the following syntax: ovn-nbctl lsp-set-addresses "dynamic " * DPDK: - Add support for DPDK 18.11 - Add support for port representors. * Userspace datapath: - Add option for simple round-robin based Rxq to PMD assignment. It can be set with pmd-rxq-assign. - Add support for Auto load balancing of PMDs (experimental) - Added new per-port configurable option to manage EMC: 'other_config:emc-enable'. * Add 'symmetric_l3' hash function. * OVS now honors 'updelay' and 'downdelay' for bonds with LACP configured. * ovs-vswitchd: - New configuration option "offload-rebalance", that enables dynamic rebalancing of offloaded flows. * The environment variable OVS_RESOLV_CONF, if set, is now used as the DNS server configuration file. * RHEL packaging: - OVN packages are split from OVS packages. A new spec file - ovn-fedora.spec.in is added to generate OVN packages. - Revisit DISABLE_RESTART_ON_UPDATE and DISABLE_STOP_ON_REMOVAL options (bsc#1117483). DISABLE_STOP_ON_REMOVAL is removed. DISABLE_RESTART_ON_UPDATE is replaced by '%service_del_postun -n'. $FIRST_ARG is replaced by $1. - Add extra openvswitch headers (bsc#1125897).- Obsolete old python[2]-openvswitch-test subpackages (bsc#1124435).- Fixed package name libopenvswitch-2_10-0 to libopenvswitch-2_11-0- Version bump to 2.11.0+git20190123.ad83fc9ab. Some of the changes are: * Linux datapath: - Support for the kernel versions 4.16.x and 4.17.x. * OpenFlow: - OFPMP_TABLE_FEATURES_REQUEST can now modify table features. * ovs-ofctl: - "mod-table" command can now change OpenFlow table names. * The environment variable OVS_SYSLOG_METHOD, if set, is now used as the default syslog method. * The environment variable OVS_CTL_TIMEOUT, if set, is now used as the default timeout for control utilities. * ovn: - OVN-SB schema changed: duplicated IP with same Encapsulation type is not allowed any more. Please refer to Documentation/intro/install/ovn-upgrades.rst for the instructions in case there are problems encountered when upgrading from an earlier version. - New support for IPSEC encrypted tunnels between hypervisors. - ovn-ctl: allow passing user:group ids to the OVN daemons. - IPAM/MACAM: * add the capability to dynamically assign just L2 addresses * add the capability to specify a static ip address and get the L2 one allocated dynamically using the following syntax: ovn-nbctl lsp-set-addresses "dynamic " * DPDK: - Add support for DPDK 18.11 - Add support for port representors. * Userspace datapath: - Add option for simple round-robin based Rxq to PMD assignment. It can be set with pmd-rxq-assign. - Add support for Auto load balancing of PMDs (experimental) - Added new per-port configurable option to manage EMC: 'other_config:emc-enable'. * Add 'symmetric_l3' hash function. * OVS now honors 'updelay' and 'downdelay' for bonds with LACP configured. * ovs-vswitchd: - New configuration option "offload-rebalance", that enables dynamic rebalancing of offloaded flows. * The environment variable OVS_RESOLV_CONF, if set, is now used as the DNS server configuration file. * RHEL packaging: - OVN packages are split from OVS packages. A new spec file - ovn-fedora.spec.in is added to generate OVN packages. - Remove upstreamed patch: * 0001-python-c-ext-Fix-memory-leak-in-Parser_finish.patch - Remove DISABLE_RESTART_ON_UPDATE and DISABLE_STOP_ON_REMOVAL options (bsc#1117483).- python2-ovs provides now also python-ovs which is the standard for singlespec python packages.- Backport upstream fix for python json parser memory leak (bsc#1116437) * 0001-python-c-ext-Fix-memory-leak-in-Parser_finish.patch- Improve python packaging (bsc#1115085) * Rename python*-openvswitch subpackages to python*-ovs to follow the openSUSE policy that packages should be named after the modules they install. * Build the JSON C bindings and as a result the 'noarch' BuildArch needs to be removed. * Drop the python*-openvswitch-test packages and merge them with the test subpackage * Build the python bindings using setuptools * Include the egg-info package. * Use libopenvswitch as dependency to python bindings- Version bump to 2.10.1. Some of the changes are: * dpif-netdev.at: Add missing backslash. * ofproto-dpif-xlate: Avoid deadlock on multicast snooping recursion. * dpif-netdev-perf: Print SMC statistics. * dpif-netdev-unixctl: Change 'masked' to 'megaflow'. * ovn-controller: Support processing DHCPv6 information request message type * ovn-ctl: Fix the wrong pidfile argument passed to ovsdb-servers * ovndb-servers.ocf: Add ssl support for managing OVN DB resources with pacemaker using LB VIP. * ovn-ctl: Allow passing ssl certs when starting OVN DBs in ssl mode. * expr: Disallow < <= >= > comparisons against empty value set. * expr: Set a limit on the depth of nested parentheses * ovn: Fix IPv6 DAD failure for container ports * dpif-netdev: Add vlan to mask for flow_put operation. * ovs-save: Parse geneve tlv map correctly. * extend-table: Fix a bug that iterates wrong table * odp-util: Fix a use-after-free bug. * ofp-packet: Fix NXT_RESUME with geneve tunnel metadata * dpif-netlink: Fix null pointer. * ofproto-dpif-xlate.c: Fix uninitialized variable warning. * dpif: Remove support for multiple queues per port. * dpif-netlink: don't allocate per thread netlink sockets * ovsdb-types: Refactor structs so as to comply with C++ standard * bfd: Make the tp_dst masking megaflow-friendly. * ovsdb-data: Improve grammar in error message. * condition: Reject <, <=, >=, > with optional scalar against empty set. * condition: Fix ==, !=, includes, excludes on optional scalars. * netdev: Properly clear 'details' when iterating in NETDEV_QOS_FOR_EACH. * lex: Fix buffer overrun parsing overlong hexadecimal constants. * sflow: Set agent address properly based on collector address. * ovsdb-client: Fix a bug that uses wrong index * ofproto: Fix build with some GCC versions. * ofproto-dpif-xlate: Fix conntrack fields on NXT_RESUME * ofproto: Handle OpenFlow version mismatch for requestforward with groups. * ovs-save: save and restore groups on restart * sparse: check if floatn-common.h is available. * flow: Fix uninitialized flow fields in IPv6 error case. * ofproto-dpif: Fix NXT_RESUME flow stats * ovn: Add the documentation for the DHCP opt 'wpad' in proper section * meta-flow: Make "nw_frag" a synonym for "ip_frag". * gre: Rename fallback devices to avoid udev's interference * ovsdb-server: Alleviate the possible data loss in an active/standby setup * ovsdb-idlc: Use ALIGNED_CAST to avoid spurious warnings for index rows. * ofproto-dpif-xlate: Fix translation of groups with no buckets. * ovn: Add DHCP support for option 252. * ofp-port: Don't leak on error in ofputil_pull_ofp14_port_stats(). * ofp-print: Fix a memory leak reported by fuzz * ovs-save: Don't always include the default flow during restore * lib/tc: treat vlan id and prio as independent fields * odp-util: Don't attempt to write IPv6 flow label bits that don't exist. * lib/tc: reject offloading of non-Ethernet packets * dhparams: Fix .c file generation with OpenSSL >= 1.1.1-pre9 * ovs-ctl: Allow add-remote without vswitchd started. * system-traffic: Fix conntrack per zone limit test. * erspan: set erspan_ver to 1 by default when adding an erspan dev * ovn.at: Skip ACL rate-limiting test on slow/overloaded systems. * daemon-unix: Use same name for original or restarted children. * dpif-netdev: Prevent unsafe access when retrieving meter stats. * utilities: Drop shebang from bash completion script * ofp-actions: Re-fix error path for parsing OpenFlow actions. * nx-match: Avoid double-free on some error paths. * netdev-dpdk: Support the link speed of XL710 * ovn-northd: Support learning neighbor from ARP request. * ovn-northd: LR respond ARP from valid subnet only. * ovn: Fix the issue in IPv6 Neigh Solicitation responder for router IPs * dpctl: Fix memory leak in dp_exists(). * ofproto-dpif: Check for EBUSY as well * tunnel, tests: Sort flow output in ERSPAN v1/v2 metadata * erspan: add big endian bit fields.- Use correct user for logrotate script (bsc#1104049, b096fa42ddc2)- Fix package name for shared library.- Version bump to 2.10.0. Some of the changes are: * ovs-vswitchd and utilities now support DNS names in OpenFlow and OVSDB remotes. * ovs-vswitchd: - New options --l7 and --l7-len to "ofproto/trace" command. - Previous versions gave OpenFlow tables default names of the form "table#". These are not helpful names for the purpose of accepting and displaying table names, so now tables by default have no names. - The "null" interface type, deprecated since 2013, has been removed. - Add minimum network namespace support for Linux. - New command "lacp/show-stats" * ovs-ofctl: - ovs-ofctl now accepts and display table names in place of numbers. By default it always accepts names and in interactive use it displays them; use --names or --no-names to override. See ovs-ofctl(8) for details. * ovs-vsctl: New commands "add-bond-iface" and "del-bond-iface". * ovs-dpctl: - New commands "ct-set-limits", "ct-del-limits", and "ct-get-limits". * OpenFlow: - OFPT_ROLE_STATUS is now available in OpenFlow 1.3. - OpenFlow 1.5 extensible statistics (OXS) now implemented. - New OpenFlow 1.0 extensions for group support. - Default selection method for select groups is now dp_hash with improved accuracy. * ovn: - Implemented icmp4/icmp6/tcp_reset actions in order to drop the packet and reply with a RST for TCP or ICMPv4/ICMPv6 unreachable message for other IPv4/IPv6-based protocols whenever a reject ACL rule is hit. - ACL match conditions can now match on Port_Groups as well as address sets that are automatically generated by Port_Groups. ACLs can be applied directly to Port_Groups as well. - ovn-nbctl can now run as a daemon (long-lived, background process). See ovn-nbctl(8) for details. * DPDK: - New 'check-dpdk' Makefile target to run a new system testsuite. See Testing topic for the details. - Add LSC interrupt support for DPDK physical devices. - Allow init to fail and record DPDK status/version in OVS database. - Add experimental flow hardware offload support - Support both shared and per port mempools for DPDK devices. * Userspace datapath: - Commands ovs-appctl dpif-netdev/pmd-*-show can now work on a single PMD - Detailed PMD performance metrics available with new command ovs-appctl dpif-netdev/pmd-perf-show - Supervision of PMD performance metrics and logging of suspicious iterations - Add signature match cache (SMC) as experimental feature. When turned on, it improves throughput when traffic has many more flows than EMC size. * ERSPAN: - Implemented ERSPAN protocol (draft-foschiano-erspan-00.txt) for both kernel datapath and userspace datapath. - Added port-based and flow-based ERSPAN tunnel port support, added OpenFlow rules matching ERSPAN fields. See ovs-fields(7).- Fix conditional to only include vfio udev rules when building with DPDK support - Exclude %_docdir from main package which seems to be packaged by default on older openSUSE releases.- Restrict DPDK version to 18.02 since Open vSwitch 2.9 is not going to work with any newer releases.- Version bump to 2.9.2. Some of the changes are: * OVSDB has new, experimental support for database clustering: - New high-level documentation in ovsdb(7). - New file format documentation for developers in ovsdb(5). - Protocol documentation moved from ovsdb-server(1) to ovsdb-server(7). - ovsdb-server now supports online schema conversion via "ovsdb-client convert". - ovsdb-server now always hosts a built-in database named _Server. See ovsdb-server(5) for more details. - ovsdb-client: New "get-schema-cksum", "query", "backup", "restore", and "wait" commands. New --timeout option. - ovsdb-tool: New "create-cluster", "join-cluster", "db-cid", "db-sid", "db-local-address", "db-is-clustered", "db-is-standalone", "db-name", "schema-name", "compare-versions", and "check-cluster" commands. - ovsdb-server: New ovs-appctl commands for managing clusters. - ovs-sandbox: New support for clustered databases. * OVN: - ovn-sbctl, ovn-nbctl: New options --leader-only, --no-leader-only. * Bug fixes - Use openvswitch user/group for the log directory (3f556d66edb9)- Add support for RedHat distributions. All SUSE macros are now conditional and the spec file has been adapted based on the upstream one (fate#324537) - spec-cleaner fixes- Move openvswitch user/group creation to %pre scriptlet. The default ownership of the configuration files expects the user and group to be available as early as possible (bsc#1091408) - spec-cleaner fixes.- Preserve 'enable' status of openvswitch.service file when upgrading from naming scheme is broken, and as such a device will not be available for use until a valid dpdk-devargs is specified. - Virtual DPDK Poll Mode Driver (vdev PMD) support. * For the complete list of changes, please see: - http://openvswitch.org/releases/NEWS-2.7.0 - Add patch to fix DPDK configuration migration for < 2.6 installations * 0001-utilities-Add-script-to-support-DPDK-option-migratio.patch - Rework spec file * Enable DPDK by default and drop openvswitch-dpdk* packages. DPDK is only enabled on supported architectures though. - Remove openvswitch-dpdk.changes - Remove openvswitch-dpdk.spec - Remove pre_checkin.sh * Merge openvswitch and openvswitch-switch into a single package since there was no compelling reason to keep the switch functionality in a separate subpackage. * Split OVN package to ovn-common, ovn-central, ovn-docker, ovn-host and ovn-controller similar to the Debian and RedHat packages.- Relax the DPDK dependency a bit so we can support stable and possibly new minor releases as well.- Do not restart the openvswitch service after a package update. Restarting the systemd service may break connectivity so let the user decide when it is the best time for such an action. (bsc#1002734)- Version bump to 2.6.1. Some of the changes are: * ovn: Do not reply to ARP or ND NS for a VM's own IP address. * ovs-ofctl: Tolerate differences in IPv6 formatting. * netdev-linux: double tagged packets should use 0x88a8 * expr: Fix abort when simplifying "x != 0/0". * dpif-netdev: Fix crash in dpif_netdev_execute(). * ovn-controller: Container can have connection to a hosting VM. * stream-ssl: Fix memory leak on error path. * Other bug fixes.- Version bump to 2.6.0. Some of the changes are: * First supported release of OVN. See ovn-architecture(7) for more details. * ovsdb-server: - New "monitor_cond" "monitor_cond_update" and "update2" extensions to RFC 7047. * OpenFlow: - OpenFlow 1.3+ bundles now expire after 10 seconds since the last time the bundle was either opened, modified, or closed. - OpenFlow 1.3 Extension 230, adding OpenFlow Bundles support, is now implemented. - OpenFlow 1.3+ bundles are now supported for group mods as well as flow mods and port mods. Both 'atomic' and 'ordered' bundle flags are supported for group mods as well as flow mods. - Internal OpenFlow rule representation for load and set-field actions is now much more memory efficient. For a complex flow table this can reduce rule memory consumption by 40%. - Bundles are now much more memory efficient than in OVS 2.5. Together with memory efficiency improvements in OpenFlow rule representation, the peak OVS resident memory use during a bundle commit for large complex set of flow mods can be only 25% of that in OVS 2.5 (4x lower). - OpenFlow 1.1+ OFPT_QUEUE_GET_CONFIG_REQUEST now supports OFPP_ANY. - OpenFlow 1.4+ OFPMP_QUEUE_DESC is now supported. - OpenFlow 1.4+ OFPT_TABLE_STATUS is now supported. - New property-based packet-in message format NXT_PACKET_IN2 with support for arbitrary user-provided data and for serializing flow table traversal into a continuation for later resumption. - New extension message NXT_SET_ASYNC_CONFIG2 to allow OpenFlow 1.4-like control over asynchronous messages in earlier versions of OpenFlow. - [...] - For a complete list of changes, please see http://openvswitch.org/releases/NEWS-2.6.0 - Remove obsolete patches and files * 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch * 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch * openvswitch-2.5.0-detect-dpdk-installation.patch * openvswitch-switch.logrotate * openvswitch.service- New upstream bugfix release 2.5.1 (bsc#1001657) * DPDK: - New appctl command 'dpif-netdev/pmd-rxq-show' to check the port/rxq assignment. - Type of log messages from PMD threads changed from INFO to DBG. * ovs-pki: Changed message digest algorithm from SHA-1 to SHA-512 because SHA-1 is no longer secure and some operating systems have started to disable it in OpenSSL. * Bug fixes- Add new DPDK_OPTIONS environment variable to hold the dpdk vswitchd options so that the systemd unit files can be used to launch an ovs-vswitcd DPDK capable instance instead of doing it manually. (bsc#987265) * 0001-ovs-ctl-Add-new-DPDK_OPTIONS-environment-variable.patch- enable openvswitch-dpdk on aarch64 since dpdk builds on aarch64 now- remove aarch from openvswitch-dpdk until we have a dpdk that builds for aarch64- Add missing licenses (bsc#988513) - Misc spec file cleanups highlighted by the spec-cleaner tool. - Allow aarch64 builds for openvswitch-dpdk- Allow the OvS daemon to run as non-root (bsc#987545) - Add missing 'Conflicts' statements to all the subpackages as required by the Factory review tools.- Remove the ?_with_dpdk macro usage since this is not being set without explicitly passing --with/--without during an OBS build. This reverts back to using the %{with dpdk} style which is set automatically based on %bcond_with* macros (bsc#989335).- Fix subpackage dependencies to not require the non-existent python DPDK subpackages (bsc#986835). We do not provide DPDK versions of the python bindings so nothing should depend on these subpackages.- Update rpm groups, acronym forms.- Multiple fixes for the openvswitch-dpdk package (bsc#985878) * Rename main package name to openvswitch-dpdk * Do not build the python and kmp packages since they do not depend on the DPDK capabilities * Remove the open_virtual_switch capability. The openvswitch-common will be used by reverse dependencies to require either of the OvS packages. * Provide virtual capabilities for all DPDK subpackages. * Fix the dependencies in the python package to require either of the OvS packages. * Suggest the kmp package only if it's actually provided. * Small cleanups.- Add %check directive to run the openvswitch testsuite on demand. The openvswitch contains hundreds of tests covering simple and complex openvswitch configuration so it's beneficial to run them during package builds. However, running the testsuite is not enabled by default. Also add the following upstream patch: * 0001-Remove-broken-pipe-warning-logs-from-ovsdb-server.lo.patch- Build a DPDK-enabled Open vSwitch (fate#319170) * Apply the following changes to the openvswitch.spec file - Add support for building with DPDK capabilities - Add conflicts between the two packages. - Add new 'open_virtual_switch-*' capabilities for openvswitch, openvswitch-switch, openvswitch-test packages which can be used by reverse dependencies to select between the two openvswitch implementations. * Add pre_checkin.sh to generate the openvswitch_dpdk.spec file based on the openvswitch.spec one. * Add upstream openvswitch-2.5.0-detect-dpdk-installation.patch patch to detect and link against a DPDK installation.- Keep %prep small for speedier `quilt setup`. Kill __DATE__ from source. Drop all .la files that are in %_libdir.- Add missing %dir directive for /var/log/openvswitch- remove aarch64 conditional, no longer needed- Multiple spec file and package fixes. * Drop obsolete log-check-module-loop.patch patch. * Drop conditional code for older openSUSE releases. This also removes all of the sysvinit files which were pulled in when the package was originally developed. * Drop support for building the GUI. The GUI code has been removed in 7868fbc6c97c2 ("ovsdbmonitor: Remove.") upstream commit and it does not exist since v2.2.0 so drop the code in the spec file. * Use the upstream systemd service files for the OVN components instead of maintaining our own downstream. * Drop the unofficial ipsec support. It hasn't been enabled in years. * Drop support for building the upstream kernel module since it's being shipped with the kernel package in latest releases. Restore the %bcond_with kmp to make it easier to build the external kernel module if needed. * Fix some suse-missing-rclink rpmlint warnings for the ovn subpackage * Base our service unit to the upstream one. * Stop silently enabling the GRE protocol in iptables by default. * Install the upstream sysconfig file to pass more information to the openvswitch service unit. * Use make install instead of %makeinstall * Drop brcompat leftovers. * spec-cleaner fixes- address dimstars concerns- Prevent systemd from autogenerating a service file for openvswitch-switch which conflicts with the opevswitch one. (bsc#966762)- Add missing %defattr to ovn files section.- Add additional install requirements for python-openvswitch-test package.- Add support for building both 2.4.0 and 2.5.0 from the same spec file. Needed to fix SLE11 builds as OVS-2.5.0 no longer supports python < 2.7. SLE11 SP3 and SP4 use python 2.6. - Added: openvswitch-2.4.0.tar.gz- New upstream version 2.5.0 (LTS) - Dropped support for Python older than version 2.7. As a consequence, using Open vSwitch 2.5 or later on XenServer 6.5 or earlier (which have Python 2.4) requires first installing Python 2.7. - OpenFlow: * Group chaining (where one OpenFlow group triggers another) is now supported. * OpenFlow 1.4+ "importance" is now considered for flow eviction. * OpenFlow 1.4+ OFPTC_EVICTION is now implemented. * OpenFlow 1.4+ OFPTC_VACANCY_EVENTS is now implemented. * OpenFlow 1.4+ OFPMP_TABLE_DESC is now implemented. * Allow modifying the ICMPv4/ICMPv6 type and code fields. * OpenFlow 1.4+ OFPT_SET_ASYNC_CONFIG and OFPT_GET_ASYNC_CONFIG are now implemented. - ovs-ofctl: * New "out_group" keyword for OpenFlow 1.1+ matching on output group. - Tunnels: * Geneve tunnels can now match and set options and the OAM bit. * The nonstandard GRE64 tunnel extension has been dropped. - Support Multicast Listener Discovery (MLDv1 and MLDv2). - Add 'symmetric_l3l4' and 'symmetric_l3l4+udp' hash functions. - sFlow agent now reports tunnel and MPLS structures. - New 'check-system-userspace', 'check-kmod' and 'check-kernel' Makefile targets to run a new system testsuite. These tests can be run inside a Vagrant box. See INSTALL.md for details - Mark --syslog-target argument as deprecated. It will be removed in the next OVS release. - Added --user option to all daemons - Add support for connection tracking through the new "ct" action and "ct_state"/"ct_zone"/"ct_mark"/"ct_label" match fields. Only available on Linux kernels with the connection tracking module loaded. - Add experimental version of OVN. OVN, the Open Virtual Network, is a system to support virtual network abstraction. OVN complements the existing capabilities of OVS to add native support for virtual network abstractions, such as virtual L2 and L3 overlays and security groups. - RHEL packaging: * DPDK ports may now be created via network scripts (see README.RHEL). - DPDK: * Requires DPDK 2.2 * Added multiqueue support to vhost-user * Note: QEMU 2.5+ required for multiqueue support - SELinux: * Introduced SELinux policy package. - New package: openvswitch-ovn - Removed: openvswitch-2.4.0.tar.gg - Added: openvswitch-2.5.0.tar.gg - Added: openvswitch-testcontroller.init - Added: ovn-controller-vtep.service - Added: ovn-controller.service - Added: ovn-northd.service - TODO: Explicit DPDK support not yet added to spec. - Spec file work and cleanup. - Includes fixes (or obsoletes) the following issues: * bsc#948840, bsc#941466, bsc#936780, bnc#935750, bnc#867964- Tighten up openvswitch service ordering. bsc#968205 (openSUSE), bsc#951314 (SLE).- Don't install INSTALL.* files.- Removed: openvswitch-switch.template- New upstream version 2.4.0 - Flow table modifications are now atomic, meaning that each packet now sees a coherent version of the OpenFlow pipeline. For example, if a controller removes all flows with a single OpenFlow "flow_mod", no packet sees an intermediate version of the OpenFlow pipeline where only some of the flows have been deleted. - Added support for SFQ, FQ_CoDel and CoDel qdiscs. - Add bash command-line completion support for ovs-vsctl Please check utilities/ovs-command-compgen.INSTALL.md for how to use. - The MAC learning feature now includes per-port fairness to mitigate MAC flooding attacks. - New support for a "conjunctive match" OpenFlow extension, which allows constructing OpenFlow matches of the form "field1 in {a,b,c...} AND field2 in {d,e,f...}" and generalizations. For details, see documentation for the "conjunction" action in ovs-ofctl(8). - Add bash command-line completion support for ovs-appctl/ovs-dpctl/ ovs-ofctl/ovsdb-tool commands. Please check utilities/ovs-command-compgen.INSTALL.md for how to use. - The "learn" action supports a new flag "delete_learned" that causes the learned flows to be deleted when the flow with the "learn" action is deleted. - Basic support for the Geneve tunneling protocol. It is not yet possible to generate or match options. This is planned for a future release. The protocol is documented at http://tools.ietf.org/html/draft-gross-geneve-00 - The OVS database now reports controller rate limiting statistics. - sflow now exports information about LACP-based bonds, port names, and OpenFlow port numbers, as well as datapath performance counters. - ovs-dpctl functionality is now available for datapaths integrated into ovs-vswitchd, via ovs-appctl. Some existing ovs-appctl commands are now redundant and will be removed in a future release. See ovs-vswitchd(8) for details. - OpenFlow: * OpenFlow 1.4 bundles are now supported for flow mods and port mods. For flow mods, both 'atomic' and 'ordered' bundle flags are trivially supported, as all bundled messages are executed in the order they were added and all flow table modifications are now atomic to the datapath. Port mods may not appear in atomic bundles, as port status modifications are not atomic. * IPv6 flow label and neighbor discovery fields are now modifiable. * OpenFlow 1.5 extended registers are now supported. * The OpenFlow 1.5 actset_output field is now supported. * OpenFlow 1.5 Copy-Field action is now supported. * OpenFlow 1.5 masked Set-Field action is now supported. * OpenFlow 1.3+ table features requests are now supported (read-only). * Nicira extension "move" actions may now be included in action sets. * "resubmit" actions may now be included in action sets. The resubmit is executed last, and only if the action set has no "output" or "group" action. * OpenFlow 1.4+ flow "importance" is now maintained in the flow table. * A new Netronome extension to OpenFlow 1.5+ allows control over the fields hashed for OpenFlow select groups. See "selection_method" and related options in ovs-ofctl(8) for details. - ovs-ofctl has a new '--bundle' option that makes the flow mod commands ('add-flow', 'add-flows', 'mod-flows', 'del-flows', and 'replace-flows') use an OpenFlow 1.4 bundle to operate the modifications as a single atomic transaction. If any of the flow mods in a transaction fail, none of them are executed. All flow mods in a bundle appear to datapath lookups simultaneously. - ovs-ofctl 'add-flow' and 'add-flows' commands now accept arbitrary flow mods as an input by allowing the flow specification to start with an explicit 'add', 'modify', 'modify_strict', 'delete', or 'delete_strict' keyword. A missing keyword is treated as 'add', so this is fully backwards compatible. With the new '--bundle' option all the flow mods are executed as a single atomic transaction using an OpenFlow 1.4 bundle. - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because MD5 is no longer secure and some operating systems have started to disable it in OpenSSL. - ovsdb-server: New OVSDB protocol extension allows inequality tests on "optional scalar" columns. See ovsdb-server(1) for details. - ovs-vsctl now permits immutable columns in a new row to be modified in the same transaction that creates the row. - test-controller has been renamed ovs-testcontroller at request of users who find it useful for testing basic OpenFlow setups. It is still not a necessary or desirable part of most Open vSwitch deployments. - Support for travis-ci.org based continuous integration builds has been added. Build failures are reported to build@openvswitch.org. See INSTALL.md file for additional details. - Support for the Rapid Spanning Tree Protocol (IEEE 802.1D-2004). The implementation has been tested successfully against the Ixia Automated Network Validation Library (ANVL). - Stats are no longer updated on fake bond interface. - Keep active bond slave selection across OVS restart. - A simple wrapper script, 'ovs-docker', to integrate OVS with Docker containers. If and when there is a native integration of Open vSwitch with Docker, the wrapper script will be retired. - Added support for DPDK Tunneling. VXLAN, GRE, and Geneve are supported protocols. This is generic tunneling mechanism for userspace datapath. - Support for multicast snooping (IGMPv1, IGMPv2 and IGMPv3) - Support for Linux kernels up to 4.0.x - The documentation now use the term 'destination' to mean one of syslog, console or file for vlog logging instead of the previously used term 'facility'. - Support for VXLAN Group Policy extension - Initial support for the IETF Auto-Attach SPBM draft standard. This contains rudimentary support for the LLDP protocol as needed for Auto-Attach. - The default OpenFlow and OVSDB ports are now the IANA-assigned numbers. OpenFlow is 6653 and OVSDB is 6640. - Support for DPDK vHost. - Support for outer UDP checksums in Geneve and VXLAN. - The kernel vports with dependencies are no longer part of the overall openvswitch.ko but built and loaded automatically as individual kernel modules (vport-*.ko). - Support for STT tunneling. - Support to configure method (--syslog-method argument) that determines how daemons will talk with syslog. - Support for "ovs-appctl vlog/list-pattern" command that lets to query logging message format for each destination. - GRE64 and ipsec_gre64 tunnel protocol is deprecated and will be removed from OVS v2.5 release. * The openvswitch-testcontroller package is new. It reintroduces the simple OpenFlow controller that was packaged with Open vSwitch prior to version 2.1, at request of users who find it useful for testing basic OpenFlow setups. It is still not a necessary or desirable part of most Open vSwitch deployments. - Fixed: log-check-module-loop.patch to work with new version. - Removed: openvswitch-2.3.1.tar.gz - Added: openvswitch-2.4.0.tar.gz - Spec file work and cleanup.- Add calls to /sbin/ldconfig in %post and %postun - Fix typo in Url- new upstream version 2.3.1 - Compatibility with autoconf 2.63 (previously >=2.64) - ovs-pki: Changed message digest algorithm from MD5 to SHA-1 because MD5 is no longer secure and some operating systems have started to disable it in OpenSSL. - Keep active bond slave selection across OVS restart. * v2.3.0 - 14 Aug 2014 - OpenFlow 1.1, 1.2, and 1.3 are now enabled by default in ovs-vswitchd. - Linux kernel datapath now has an exact match cache optimizing the flow matching process. - Datapath flows now have partially wildcarded tranport port field matches. This reduces userspace upcalls, but increases the number of different masks in the datapath. The kernel datapath exact match cache removes the overhead of matching the incoming packets with the larger number of masks, but when paired with an older kernel module, some workloads may perform worse with the new userspace. * v2.2.0 - Internal Release - Internal ports are no longer brought up by default, because it should be an administrator task to bring up devices as they are configured properly. - ovs-vsctl now reports when ovs-vswitchd fails to create a new port or bridge. - The "ovsdbmonitor" graphical tool has been removed, because it was poorly maintained and not widely used. - New "check-ryu" Makefile target for running Ryu tests for OpenFlow controllers against Open vSwitch. See INSTALL for details. - Added IPFIX support for SCTP flows and templates for ICMPv4/v6 flows. - Upon the receipt of a SIGHUP signal, ovs-vswitchd no longer reopens its log file (it will terminate instead). Please use 'ovs-appctl vlog/reopen' instead. - Support for Linux kernels up to 3.14. From Kernel 3.12 onwards OVS uses tunnel API for GRE and VXLAN. - Added experimental DPDK support. - Added support for custom vlog patterns in Python - removed datapath-Add-support-for-Linux-3.12.patch no more required - removed sle11-device-ops-backport.diff , not used before- fix rcX link/bin/sh/bin/sh/bin/sh/bin/shopenvswitch-commonopenvswitch-controlleropenvswitch-dpdkopenvswitch-dpdk-switchopenvswitch-switchh02-armsrv3 1708075841 3.1.0-150500.3.16.13.1.03.1.03.1.03.1.03.1.03.1.03.1.0-150500.3.16.13.1.0-150500.3.16.12.7.02.7.02.7.02.7.02.7.0 openvswitchopenvswitch.conf.db.~lock~default.confsystem-id.confopenvswitchopenvswitch.useroptsovs-appctlovs-dockerovs-dpctlovs-dpctl-topovs-ofctlovs-parse-backtraceovs-vsctlovsdb-clientovsdb-toolopenvswitch.serviceovs-delete-transient-ports.serviceovs-vswitchd.serviceovsdb-server.serviceovs-bugtoolovs-vswitchdovsdb-serverrcopenvswitchrcovs-delete-transient-portsrcovs-vswitchdrcovsdb-serverovs-appctl-bashcomp.bashovs-vsctl-bashcomp.bashopenvswitch3AUTHORS.rstCONTRIBUTING.rstNEWSREADME.rstsysconfig.openvswitchopenvswitch3LICENSENOTICEovsdb-client.1.gzovsdb-server.1.gzovsdb-tool.1.gzovs-vswitchd.conf.db.5.gzovsdb-server.5.gzovsdb.5.gzovsdb.local-config.5.gzovs-actions.7.gzovs-fields.7.gzovsdb-server.7.gzovsdb.7.gzovs-appctl.8.gzovs-bugtool.8.gzovs-ctl.8.gzovs-dpctl-top.8.gzovs-dpctl.8.gzovs-kmod-ctl.8.gzovs-ofctl.8.gzovs-parse-backtrace.8.gzovs-vsctl.8.gzovs-vswitchd.8.gzopenvswitchbugtool-pluginskernel-infoopenvswitch.xmlnetwork-statusopenvswitch.xmlsystem-configurationsystem-configuration.xmlopenvswitch.xmlsystem-logsopenvswitch.xmllocal-config.ovsschemascriptsovs-bugtool-daemons-verovs-bugtool-fdb-showovs-bugtool-get-dpdk-nic-numaovs-bugtool-get-port-statsovs-bugtool-ovs-appctl-dpifovs-bugtool-ovs-bridge-datapath-typeovs-bugtool-ovs-ofctl-loop-over-bridgesovs-bugtool-ovs-vswitchd-threads-affinityovs-bugtool-qos-configsovs-bugtool-tc-class-showovs-check-dead-ifsovs-ctlovs-kmod-ctlovs-libovs-saveusdtbridge_loop.btdpif_nl_exec_monitor.pyupcall_cost.pyupcall_monitor.pyvswitch.ovsschemaopenvswitch/etc/logrotate.d//etc//etc/openvswitch//run//usr/bin//usr/lib/systemd/system//usr/sbin//usr/share/bash-completion/completions//usr/share/doc/packages//usr/share/doc/packages/openvswitch3//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/openvswitch3//usr/share/man/man1//usr/share/man/man5//usr/share/man/man7//usr/share/man/man8//usr/share//usr/share/openvswitch//usr/share/openvswitch/bugtool-plugins//usr/share/openvswitch/bugtool-plugins/kernel-info//usr/share/openvswitch/bugtool-plugins/network-status//usr/share/openvswitch/bugtool-plugins/system-configuration//usr/share/openvswitch/bugtool-plugins/system-logs//usr/share/openvswitch/scripts//usr/share/openvswitch/scripts/usdt//var/log/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:32619/SUSE_SLE-15-SP5_Update/efc2af1a08d334236aaec590a6f516f3-openvswitch3.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linux   ASCII textdirectorycannot open `/home/abuild/rpmbuild/BUILDROOT/openvswitch3-3.1.0-150500.3.16.1.aarch64/etc/openvswitch/.conf.db.~lock~' (No such file or directory)cannot open `/home/abuild/rpmbuild/BUILDROOT/openvswitch3-3.1.0-150500.3.16.1.aarch64/etc/openvswitch/system-id.conf' (No such file or directory)cannot open `/home/abuild/rpmbuild/BUILDROOT/openvswitch3-3.1.0-150500.3.16.1.aarch64/run/openvswitch.useropts' (No such file or directory)ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=c11d2ca6acd18b1328501c1ff46fc3176175e234, for GNU/Linux 3.7.0, strippedBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=c78626566737a62ae744371c958fc458fc90472d, for GNU/Linux 3.7.0, strippeda /usr/bin/python3 script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=727b2fafdc7f9f81f3a08fd60f8f597958de486a, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=83413a62423e0ec9128575af45237864a14f6027, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=5fcc894ceb283c21b8d9521d1e02afb8de9404a5, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=3f0c3b22862cc4f50da5c77863c1160c77fee876, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ca6f7d7c29ac7269d3bc45748be4dcdc6744b833, for GNU/Linux 3.7.0, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=67584f50b4251aeb5cb1230e88ac165580f6a8bb, for GNU/Linux 3.7.0, strippedUTF-8 Unicode textHTML document, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)exported SGML document, ASCII textXML 1.0 document, ASCII textPOSIX shell script, ASCII text executablea /usr/bin/env bpftrace script, ASCII text executablePython script, ASCII text executablePython script, UTF-8 Unicode text executable '12<FGHIJKLMNOPQRSTUVW   RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRlJFJn,W# Save the "enabled" state across the transition of ownership # of openvswitch.service from openvswitch-switch to # openvswitch. if [ -e /run/openvswitch-rpm-state-openvswitch ]; then rm -f /run/openvswitch-rpm-state-openvswitch systemctl enable openvswitch.service fi ovsdbdir_regex="^[[:space:]]*OVS_DBDIR[[:space:]]*=" ovsuserid_regex="^[[:space:]]*OVS_USER_ID[[:space:]]*=" ovsvar_valueregex="[^=]*=[[:space:]]*["'"'"']{0,1}([^"'"'"']*)["'"'"']{0,1}[[:space:]]*$" conf="/etc/sysconfig/openvswitch" ovsdbdir=$(grep -E "${ovsdbdir_regex}" "${conf}" | tail -1 | sed -E --posix 's|'"${ovsvar_valueregex}"'|\1|') ovsuserid=$(grep -E "${ovsuserid_regex}" "${conf}" | tail -1 | sed -E --posix 's|'"${ovsvar_valueregex}"'|\1|') # Default DB path changed from /etc/openvswitch to /var/lib/openvswitch. # But try to keep the old path for upgraded users already making use of it. if [ -z "$ovsdbdir" ]; then ovsdbpid=$(systemctl is-active --quiet ovsdb-server && systemctl show -p MainPID --value ovsdb-server || echo 0) if [ $ovsdbpid -gt 0 ] && [ -n "$(find /proc/$ovsdbpid/fd/ -type l -lname '/etc/openvswitch/conf.db')" ]; then # We have ovsdb-server pid from the unit file with DB open at the old path. ovsdbdir="/etc/openvswitch" sed -i -e '1{r /dev/stdin' -e 'N}' "/etc/sysconfig/openvswitch" << EOF # OVS_DBDIR was automatically inserted here on openvswitch package upgrade to # preserve the currently used /etc/openvswitch as the database directory. # Note that new installs use /var/lib/openvswitch as the default database # directory by omission. OVS_DBDIR="/etc/openvswitch" EOF fi fi # Default OVS user changed from root:root to openvswitch:openvswitch. # But try to keep root:root for upgraded users already making use of it. # Use .conf.db.~lock~ instead of conf.db as conf.db might have been moved # to a backup on a previous run attempt. if [ -z "$ovsuserid" -a -n "$ovsdbdir" -a -f "$ovsdbdir/.conf.db.~lock~" ]; then ovsuserid=$(stat -c "%{U}:%G" "$ovsdbdir/.conf.db.~lock~") if [ "$ovsuserid" = "root:root" ]; then sed -i -e '1{r /dev/stdin' -e 'N}' "/etc/sysconfig/openvswitch" << EOF # OVS_USER_ID was automatically inserted here on openvswitch package upgrade to # preserve the currently used root:root as the openvswitch running credentials. # Note that new installs use openvswitch:openvswitch as the default openvswitch # running credentials by omission. OVS_USER_ID="root:root" EOF fi fi/bin/shsystemdlogrotatesystemdutf-80e75c9010f77ac19d29aeb098471b4af8ac1c6789bd9811c0b335e689738c0e4?7zXZ !t/d]"k%N.S,4 iRoC@$tB}.K2{QDfoR5AIh6?5AEzx0`fQ>uYT<{Wՙ g3.BEJ틧R8E}򆲬hVQ]Bzi-W]' Z}ǚԡ7jryĦiΘMH$6*"2G~0<~^C7ʀUTv@.f&[Nkz6k2qzk A/ lgnpgEZ R~ ]q=W6eΞR#R,/nD>,KpÁ#e? Rl1 r}jPw9i~'I@͂zi)-ѮX(a\pNYDc="uBa"&<Ƹl-Xa=FIUir(0)j$#ijl,ATϴL}Hm}m̄&#,tpZPk*ծEMe?k&9#iDl%XO+%4R(VQCہ,TiҔ4Dl R.$w% PF=Tth&@n*@!ss꾨?!ܥ3-F^r1:3ڻ9s.T3y놅c>a G+ cL7m!Z˺e \ʠSF QDtc-ir"|V~| M?V4Lj\zkrß>7lt{4qcS­Z1T xFIJSbyPO.2+8H\ }D`9*nƤ3vc?S,=yOH? йOXx#E$xb/U?kغ-i[4U[Y9mlc$ƢjF=n9z_ :]"TA_(6VGIn9@^:g+*-7S5J xWҟZJCɅ*><̰ϦY˧}Zۮp:D`3E:ޥb ʼn"h;ʇrFɾũ*#Ȭ CaiF@1v|뎢p-=<}|)gP b{hզ+Ԋ`!d)=0H2ϲ:qtލKhi59Y+aOuFk!IՙHZ&p?]LAoiĂoGߤW`fjzo^Xa\`|8u;92n;Ro<3~1.ZՓS\B3oXsLxVvX ErlOܲ.{p9O1ZmOL*oZe3O$n%SQ˶pf} 7 \t%(rE>^BJY21~XȂbOy4 uDپ6Eȅ!պ#p/&8QS4)hcXd!~vu;DFq^*^ *;i}+p!l$1 Q܃R E@L =q "\!/p;P͗ې;T Y.Vm$)Ї',jvR]+}F<>SH1a|N:*֞{jDG6sX0T֫Ó4D+SV*))ٜ.^#?4ik5&=)&\i3OnguVRLOR-#{$NG.`v, h#8TZlXKiNdN䭞HOʭ~"K^xs}`l8lV$usFbʕ/!8Q?V[Ue:YI<É{ruOuUggA˫ND":KHyV[:z=lr%0X^0ԇ~vɢ**_JưW3~jTx{YWe$\LF\KsKG!{%GZ'0Dsm%ъ'a,ZskH8:W=U/떀R[;!+W]LƺKA([]*R:DV{G3o%0AVQ>*W]ZuZ.r9.s69vw!T-l.śςm fPQn--u+~$EW9r~`Ol ;Ukr5,7jWk1XGooGZS- Mh(Y$$7 >vM'28maJk*_%ε|\ﻑBn~'#a\$1qT7[ejdN-T9!FDάۥ>@|! w*usQތ*= mRm$㻯dq>Z@Gתm]=J] dy?ri+3m^ \_W\bx^u|?di.YW xifqU-YZť_*NEYn#rh̞F_nO]w/skᴂL|y&~qXs| Aj&΅JBjLH}̻1XhS|iBtq c"W<i[-V|Ios(}JuYSXnxLBX+|X[F}L"JBy ^8&js 3%/1yw} ғ ": lBVD~m}@WWŰvux͟3'`iSG `tͱLYư.{V mOY \۸JǶ;yD2 gzb]pyFU4ViӤ\!C\s ~JԂ%vtBN$CȒK!E8~ـ9N!D9v@`uhVZ kGP.Hf ŠCn YOn%qJ~νf=c_ -"N."]YAwfR{Վ%:AW[d$Nh$y}$4TY}(4Ԛ4 (n]7ܪS ۊ;lʁ Oˮnd?Osx0}ym|0a2*ƽM}dZ6H %cGT]= '~mps YaUZER:y0cZ+w$eI"@̗j~&csX(Yb(WJ 0B+mڽglUWWo2Ah7@77lZ,ܝOj8;u{.6xsxXjp12l6 fX4yM뙾el@~JӴN. . iiM(ՓTPg[uy ELs}40QŨq^qڴ hޑ9:ui0I}rl*c"ô`7_1O^V'KE2$TBɽ l4g6PX+OؘX;Q}Ey`Pp*ty1`1R|@J #x1`GYCd!v#{e:LޏDx@Se*$/K`Iu"/2,`[2-AfWFeyN!'A#M@uQ 8m%btCZanKWA:P<6s|@MȧgԘԥ Zp+Hji&&c6l^c3iPBg]xo)MD5CU C5x kD}:AO2$s2rXb!Sn@Y;zډMo|NsXK`qcgCU㡥r֧#NXPw@",-"גQhlyd"5ŊZ4 #A0>`ޘ :b ~()N>?7dw`2)w4tYU,ˏ|C( Eg\ϐ3-=%êV1@ݼXBE 06 %|+^ӄ1HQ~/|EO{ÿmMW p`GZHܭy 5Wf뾀cltػ/5}cƝ9'י1gܞ|;lܽh:Z_wjlA`_kHmE,X&&-]8(+k/h/:b*DҙaPۆG@Lr7pBCҺiey UQ+$(Z {ɰgk\AҘߒ,n2X$f1SvL()| *HT81E+iM]*(p*6%/* {R*Ҩ&s4.TdasNJmZb6pJakk:zCʾ:$)KlRX!UC!Zu+HGkd1^vmA 3 ]=a11u|O 9y=x-ߪ0O+׏r+uNI];bљ- ,,FYr*-pJ ٝ#Fofy ,DsCзPcS}k}ќDlM]nȉP`iG5Ű&.6#sFz}+^7*L $Dɢn]Sl36-u1wn_ɩ 0ڌHT7p*=1Zpj~$2e]sii'@Y}z;{^TpthB;%2m3Щo'Db?JQ jNT `Nޔ.aP5cr4scu6jF ]'w^SGU9sReq͔Zq 2ħZ$ҶN LrdL59Υh,q[72c E2IGkעضV{2v 0]@[ L( F&R턇Dϖ/-g$Y)垴˄k (S[6h pV̓s 3-+Y~X}߄o=neB%\X#1D-8FR0 tDia*d-y1kuhL !w;u]U?Zg0ŀfsjL C6oETib1' ^⟡%*RAiF;Y$ֿvba[Ue{Ã&߶YƐ&&.E"PNm HyHIv ~@u%r-# =㚒EaP:TEnO=Evi[Rseebu~!,>P0 @{[WJ, ]^R1Ijr><5 ZcaoѨ wVeJU E. iHa,LO(ր$SF54mz$@Q7+_o&&dM̬TB)ݜ{M@סà5!cw2E|(P)Zۯ֐yp(sހfj-EW!oVy_4zWMR2t[hv܈jb\~HtNNE fAcTrd}7rvh؍L,P7?SaCb惆G dWRHf N0ej1 [aD7jqJ Nb {Rj([E7v&7a<\_s|΂}a6v֨{$z(Lޚ?){ YĊ8""dC,zHA9$^'ŢT( P0sz|^MZ~V&e48bBt):jEsb"Hc `B7G;T7/=⦊k,$ʔ-)؝%>@8"=*r])^sYU*?#[_r^[ǁa$DUHW @;}GGT5Ts(Ρ˚kaX´ 8! ٨RHϟ!' \i1Zy=#f;5D؎Jdqu.>Ov SI#hЌ3WMnu8~Lg$#տ: u[ar]٘ rmJq9kP<[1Yay^qk^j^e̐u^ygB (U-'[s2n_Ld'!_nG~TR+`ę_sʝ<۩ݨ_"Vgf!HfquCH/٨iբ1R=_!9`OAUOvS!@bJCB MM{-Ͱ`Mf\VjfO;_.:6ҥ3) zH ukx^Febo(.Gn)!rTK'Doxۈc,օ.xTܷ4M^s,Z"s+?-㼧#;H>$`"NS<ӠwI#V!֋ 8&uTG%$EC{*J/`p"j )m;#Jά/eOѰT1/cŕ9 ȋ9y&\tA*l}B6KneA')vwy1' 9bbwfy&ݜGHzIFi QRӮ6\ ^c lk>~jةd $F†0&f@# qr UNo ŨI,3{ˊi!+v] eITV(;2y+L!ߊw ﯊"]%ezԨ/@= >.N EєSbfG$A^ʁNݒ,f)Mصذ=*4 Ocڹ.cDe@@rp$;5ϰIv@2!섮Y±捁y:O?+,>3& STE~B `| Ͱ"XŤ8&h'hz:m^ dѬL B $ wRc;;3!GYca' \D6^B /^k(NL%B~Z|cU~M@(0J/'G7n %/KkG}^݄W8)9痦aei=pOTD?t0k \PU%~a{[И]NL&,-j_`֪G5C6IQKmnmOHՁ}U/h6S` vщTJSSy+3=cٳX'\kCmIsUr=)UNɘ{)ʳ2q_=xQLhׯ5 m>Bd*eK4BMðTW!)LPү Cpsq"Ar upi)XmN5<=ʖ|! -ٮ; /-T= +лE/u*`.;"':ac)!3Y~d849W1g7&ZC+N YΨl$JʌGd5zm]TI]zVn8kcA0z&9Re'q^bk/5C06:WitXrE 1fB1&aډ̭tŘaB{jgB*VԾRGOiRk EͣQP FtU[Z@*p֟{QW!3i-k}*X+w-52yQ"ӓ,{fWn~!53rʰuzTqH{`"c.6c)lMǣ媾7=Yfjw1,Ut[3xjn&-kα[^ ~B`gHh[Q`orN:_])(]̷W D0eO)眄U) RQhFf^H[ sQ!(;nx2ڠ>֍fQ=$a\1C⊂Yyr;$Tsʞ&? 'Fckx]ħRWFD,[c=黨pi?SOϰLxA5-9wymwaܫX+  Bi0̺GS[g~i`mFM+P @ٚPE M8 Ѣ&aS_,iI/l$eu.T<&.{ 11n]췹ARzTOH 1N"% 襆yfcU.yqxh 6]bj+;3.`6-/rA*z5ZjIk(e?pSP4gXR/ jh<,?yyFhp-؅Rih+esIAb}G[r3&K4GXU [i3I8p7fg{ S7K:ؐ t|&~ɊnPs 'Jx"-TXOoM1T0ENAў>\o[Ltp[qGV"4*YT6c=/4xK/ig0ڴoye,t6kܸ@%+D},hR|rpdTv<KtזDUl!BwBu]0Yv}ɟ'd[g KRL kؾ 0f(Ј&?>DZ# HRV3Ps1]zo9KO@Bk]7khd%-А$CH saeYʥƒd;9%#hCQp8 %ǼV㤷~W}㮒n{7oV喋E:lAa.ۺljc+>t?9\238xzymKs ·v]ͷ )~FLhyuAp4O8x+׫$SI8M:1; } /|T @3A rʐ#uO>"W'U~{/)h:`#%zC6*C= j~pm(Xj૔y@X>ᵔ>8)<,.!*fQqzr5qP=ahE]'jǎ#_SRlH㽥FY\g7gA>ԶSc7C#˭gL?|htxy.ANd^-te=61ߍmj!6g>a`ݺ+硟P/ۜw Kۙ R^ˆ<֡ WuGK`pdbܺo(k)KDŽÖSlyȃQ:X Tv~UG<v)nt7Fil&[tۃOݜLB,yȞ!EtX5X QP)~kGxsW%.޲^:'2 L+Y:IwGQA=r˄?Cx8CÃ.a;QB4IYt4=Z){W=zʺUQvK7ھ*/m}R8qpRu% Opظik)*%|NI.>LC!9vd/*KP“v,n>|p'q8Gy\xLFw~S T\aє9^A$}% "߂K[oIa|ws{-FTxQMcb޳ۍ;Ab{? x6~*g L,+} 9TL1jtceW .$?ܑA| f"}Íok=<ۜkZ'<3LM}ǔLXtgXTrbc_jc`w3@= 9}yag$'<.AɎ%-B4y֮g~u:Иm窨f~o/o7)jh/!L0jT%zhtJ5$AgdiC7n‹=n}P.ܣ ,;Vi ut# >(U})^Ťge( ];w%ަ إ꠯s'ѿȸ󋀔$ҏ_Vg@&^9o]RpPi[f+Aj4/e}d (Dkv~KY6^Fй}(dH p9> y΋ !z<_͟b94FRFZӲ%)r䢸 v/ݵ:bک%yW)7'XnI ?ń`? QĊ}+ 0t\chr^AzN$iU7R&({k?3ZN;>z?z+o!Ot .*jϸ2Ceߋ$d+m>$.Q1J||:yʗL-ARF_Ap!(\.B֌Ra̼D%Z8aO[2.ba 6 3>bf0+xT,òSuzjo`_'OF_UUUcϔހDbγ{5VӓF{OjG\*@pb{G⪠vr ַ_zE%tcqGuhCZ2o-HpɁ+KeӁq#&vYgSwLeI$Mp'h& tt[ ذ{AQ[v3 K[ v~Ci%{` Vq2o.R8ۨh+} ,zD ֏os@t96)=ː&fy"ͧ՘w sLfC"}ӑ eeu'_Nvexy,@3Ο,1d"bs .5nxaGd1p@yRD CۘMW]J{TRω=3'E1θNI}UCLſڧ%2hT챎rn)KzRrڐtc_+~93::C;ߎXDk>mYUcyɤWU{MCLq j*K~0Ek'L`e 9hl!fx&Vm.Fm 5O,X5ܪW/ɷOԊ2iYvev6:a[x73C(|4LbԹjҧ-GT6)un.}VDYJ%K=%J?]8\*Ə!XoZ;]#ap[5$d}…gXR Y.DeNt֪D lO*-Rb5"쳺AUD>ܐ'/H5?Z1a=&a6Ū *iIQU ^ GQrymR1Ku[筲dj#bAeV Px Z(v .z:t\ N5x!ث_mADWi})-/3Ja0T{-Hwz)\J /.F> vuS:J[  aUv~㣦 9aG߈G4>mMV]vwWxZO2 V49fYD~y"S?)wh]׷l v#JV ȄRqUUtn&&\QjbE! lĹJ,˶yY?b*3fN)yekΣFl@u 8{}p/;)1?3@P"Tp ,뷾Ē;:z ; @K|UarXD$FHP.z\>,A I?g2{kuܝ#v,si$^^S0}p!CܚX#VFx@أ]>ht1)vJm)?07-}3=27N@[0գ{O4wC@*$7f6N5Gi\G!zTZqPCWFsKUhl5ͨP @K L+3]ʼ2Gt>hnݬ;4B^ti (N(.na{WQP3ѻ YMjn;w*r,l+%j&8 .{3x;H PJ=}t5I&j5$'0;W|ivYA7 5K_Py$|.4&yÓMЃ>gbK ^BQdc4"C Tz "*(d*K艣1yBlonO/++Ok=C*STz(s<-_ڂKQ:Rv} P-qCp$[RDRFMAfEȇ'Aw}CAqC/ɍbgS3͜a{JZ%’a1jMc5|0\6۫';"4.&9qMy4Ĉ+pSPiD%+>/Z>**Yf?m|DgtKjOZq^r<"Z[q ǚŽSUsK뚑7Ȧ`heS5%S͏-l^@ Els8dPH:}AbwN0W"7[7 +yw')YF tnZkY? #ZZκxGy#%h), G6TxYxSU49/ZU/!"[mc/7 Khql|9ˠ]8x%-Xaܹ= -D6РtN[ϑ5_J&6oQI<^o/=VzlYo/oӉCGW4zju7:3a[6WP`M옢6F)"nZ P7Vg~5}.4*i}@aZ-lN' c6}Dȩ{Gq/ON#%wE(sG(.Ơd`+)ddj[ETMRϗ o ?S HzX3v*>>o0o(, N>9!\1tK~zֽ& %.uj@lR4~+t/ =u{9Թbs] fVXmAPDrxQ +|5Vb g=Bb`nn| "! ̫l+DDnk՟hW֟BҒ_{ni2nC(ZX5ji'ԟw%(;u6]$ɻ#Ukzo4,La/CTXQ(H'C9=0e4 b uGÆ,]8])k R',BzwftfaGmqBDhcH%-c$"xśbWI6YYͬ?q%>lh**; r p('gh`qf{/S^ӹ1ISgAFMW5iޭ;zM| G4, =HI7>"j~_UYg%zObBQ"+:1ߺC帴BJKAGŻ6 2ʅ~#o*J]3O$ V#>Jm|t!MАљ!rcwknTzmIJ$؇TE.e?KF U\}wa&ҁ.TVxc)Cvuh`s]_v~Y漄:R舘ѬVFۿW/ &87Au F:S3zdN%Ph?B>?sU`8*/=^kB^ /^/?rިbnL0mN Jf֕m~oە(Y L-SdoQrJ^;<Xdϼ *H@?7 '`adġ7Q흩Y'aN #SD=s'kو]mSsfL>R?pf#- xE$ά rF *5?^ r"n}0:B.REgitZ[7ׂ"l1)L+{M?6-݄\1Æv !Vba;.TΙmq)󣞩ˢ҉ptUn5CQq pt(ؐW!@\V vO"hΚO.;eVЖ_CsA/LDF9@ N Cu7Lil5uÜKΰ3yao?YGą@ R.ܘ{6GԔ^dw8=l>:w5ޛ.aUrԳ#w[y:'x'WmL Q-ą5Ne7tԏן$}`'ev,/74[dVÏCǾFgM~,^X< "#b)ʕ33hE,J" ńYi]7I9In}|=E֨orqх+ֹ!F`m9H*duzc_ >ƒ(2SGP+hԍ8Sl)# >ei15V7Jr Ҿ_1b/F$*C-ڎhbf{yO4cs%04Dh.W?̄:o|mDfѨr|M˒8H6}$51hЧTyAjQmi  D Fܲdk0UT]NΎzrKNA: ;_0dTZkn‹_-GԎmW0~zLHm;: d^ĥ@ m9: 5>G2J[xB@]d&fjZ1f4樫3riPVe)OZ?\Z\-̑HYRH¸CQP4V ,A@wƹ'ŃBC,ߟ^8@"'3B#S;b'ƭr8/Hע'n ib2 vM4gkN(m[a˧oRk\A1'Ob>0=(s$=Lh:30*'1d*CT0Sþcl3,S[2[nʽi2xd~bRd ՘s-;[еKu#=Gp mq7+z[I%e' q[&DIzg[wԚ܊-ς6KBA~ZHpڨlYDEPаBS~m;B '7_Y y ߸ᦧJ֧x0eIR"|Pg{¨W@qglb| X\}?ִ-pvKŧ7(B']EӕNyaH3'tLp 5KnjW(YxUټ`@X.- TNa`~#hrټh=Nßƾbt' H7lxs\x85~k(VH]PǁKo'kɤr5S~-K}[Ýs Փz<-a'grdS WBTcyra hil=y4 E =fΦG~ke w7:Jm8N~WH,Uގg`>xC0YuWQ \ 5szε51P"K3ٍyI(лkޡ/ۈ9Pg\bjNZv"uADt$Ú"KB.f2NNn@_VԶi4kՙeRP|w_#2wK? oو1A-W+c#0y:B.ͤUG4P$N hbo`ڂ-¼:eQq06EO"]tdεo0N@=ԙ)/4<&=x|Z<``QuuD̈́weSwWYܶ[OBHMV')$?H9xg/ vW!n3%;{C(viI} |-QJ ٕzΥ m?ޕM],>q`r7- f!?`.8f["?Pߊg- V$H8KNT 6%b]'DMO3E eR},HѾ[hȨcLݥzR!ܣ3%'&Tk3P>u go_wOOC4GY^ y>ʖ*B[ ˕5DPcuNf~"۠@f.jGPL-k(D!UH]U9o^U16O:r}ס_+PdR7{NDeZ 6-HPS3X EqܝU5~=S]/;%&K(CRվ388Lp%Us 6Ч0H_Xf<uVrE~Uw j,C{:zϼ[{(! \|}S|k+:o*_s~߻1II?ȗv0;hȋ8@"T@"XMHYC?9 Fa7@ =*)\%]b&I)>X wt`{2+.y4XfˇIA@9`p5X+=э#|zwE`o2q>_Z@%!f|~4-4LomG` slMlIԎ=!z|yVMM͵ 4Dg 3i^8@clLj 0?H[F]EoH0sT椛iISD]$p,.nU7+`a[_\АRohJ0! ݢ6҄8Ea.A/_VyRz׷t18~ĵ%Rt"6WD9ٔB%MiL lfHJFvco4IЀJiISGيj8i߁V""wѠwXz0Ylt-O # yuǖ[?CԶjVwO7ٽPY߲t{k-n>>1Nr>m {s۱ْBuR ʠ|N*poF- HR'laV1ZevE)`e尾nP&ftS1ovK'zĩ~,{e0 ws B=" m'΋9#OrY[oD Z1P>H $iq1-JbQz)d&gFFJ-.|[בBծc2O]47K/s0>V54Nd::QRܪNsrJ%?ңT5zxfa{{f"6 ʪ,l{GBxQܩ~O!beϕ^GS`ꚬ,dm't!?j/b'XP sM"Y_Dey[x3l%cÚ)L䥼m~4ƋSI%7q B=6epDD6hMkm4_dJp]hguC r ؂gXH*dRbYiOO =b TB!t6E9ZU)Io~4[iP7uI51LV2kuV)ȗ*",me);(b lh-}k8~"مy-?Y_SāaN ̜)6]1>q yȳܒ<6 tn؊֢qkoT2!B%ڳ)p޺uNp$<2*]Z;w6L8(eP֠oRGyRwoXCVNO"IDO~V.9BjΐY?-{d_6\!~6/-Y w:vPhQ̌hsaï9X:g*|.ܡEf\G"7,q7NA.瞋y3VZ|܈oT\ؠJȐ:GL1U9y>5*^iBv'uh[bpQ ~i{( "2!-l\~uDsݖq&qռ$i\ n  ʛai!.srjXU b<ز&8DָG@? 2XCoϹV^\=n \9ktDՇ5 q@ccn1,._.EGh4yOg( 09Oa0j /0&e{|!dAW-kԠfE.ѴmPC!^nԕ٣|:k15TYAtc&*ȏ r>E13DS?]KP˒ |NPvkfXw'1W=mptOU HPXi#聣g_Vd&U naBylc@ϸy֫? ~Yv053:zU}u% G/2Ex,Y-OzK@:Tvn;Oaݺ}=J`eH&^S*e-xYy ls|g0 ;]-E/3d󩬄CpN#,g<fedȂip~C #F]4tE1[xx ˗NAÙ$8Y;))Yԝx'߾(\cK'@9(}B"ϒ؈$nzp0\X l n) $$ :NrT^ʾ&5;;f^Cѩk!f!]CAE/ꎀR/=cš@&j6 /_ԭsVCX>&_ZhB>`;tF)Uvz_Y Z5 .<8!' Dwkej+ d[0xxhWDRַ0f3)flw6{b ~".k5$" 5g*D&Q|BDASs+k`q/Ce cɌ-;J$vgwCc M%x kvb`*|O<c*z$!Nr0+6Fx[K.w?۔iRmܞSlgM7TD>Z1 ~}x۹0`" eaJ)ODy70JNqPۃPV:TIpN654Zǖs ׹נh|:XJF̝{>hM%Xg/~2JV .eRps͎AGOmpM[jҒ' gB'1"O{;FāSO7\\q6D &%kX).srʧ6ҧ9дu&ÿ2nv1$[$U3Z:%\9'O5U+lI8FhRͿȥHS cgl@>p/utBͺHQ=:ƭ@?@JD|[^%/+tjscr8SuD((-sK> _aǤ++Id/PS&M햂69T!bQ]`~ón3(>_xn)2!1okyxz{q@7D" mEz@X@zKRjN!1*oo)kS,ǿJ!O{ )@' C61)Ek.EFmz8u&Xˉsk&>0W rLK;W ;\dR r_`Mdw95K߉5ܒ'`iU)0uNj^z'a-`lչt~ d4͸ᄫUb0.VsSMjr`2+r>5Ctհʒ Z7 =;Sתߟ܀n$^$tƜ y?z,:kvWǸj5̈NfNk\}%!@y>ESGW_b{G][Jt+O-}.<szu^`2,hfHON ڂPٜ2OޤMWa;/4n}ʩ2swrXs3Q?lBIk5C CYKY3ll.4L J>ܵx|g\]5 j%-ND' !WPľ(91$ޯ O5'9ǚhnO3 oA{/q$wܟ\ŝl2(h=W3]J3l2R&B!ȡir~Ϻ(̶= Sfx{|TXҦ*YR!i ` ,οYH3&f./,=?Nf}8CK@@Ne]9Nz.g~VHy H[e!FpVn,Ɏ@:2=4C`2Z6 O{z=[yq#Qe*+ ~Gˠ`qSJAeRZb Vev:pHR)T`ğ!GI0`Jz`o䜋t8V0\[R/qB@sY¦Gl"@@(y.LUgJ3vg3A!vQM <^G{T 9;<PC`t`)+c |X&Vbr#, 7s`ZQ]u<shF[x{a9R@ϫk+_ݠ I?K)yJjA)CLܟIn}Pq|l9`O&{.IkwK<@N,by5CI@pOPB;q6)V2[=n/RVz%\*[YbkPX5'4Z.#>rx3Z=#Uzp&]9Bz_ΆI[nVGNE۾0_ӂyig`wiL&I].p!DLv!cf,+$ ˅Ø5_k .OԥԵAGn̹WUI4zllձ@ϫe3{ x JozGZyc&#9K E^5~QX3UV]naGp )+d'L&b:My2)b򢠩Y"cӥ{/5[^gHq=AĺumO`ㆈ- ,(#}vmbdg3\0HudÃUJw9J7׆@BP?\7Jbr#N/Q[E?kȖu!2J7R/;Wsν9s6됤GP"lnh=L Ge0{rHgr}=%%kd~zTwkoht}/ |fd3oŠ gJwpŝ@.p/ m.fZ1;xVN?ș֋J%ViGtxUxw}F&Z^^!{}Žj:%Vop + aԥ0\:UxJȖsh n}~VSurk%)ewp[%'DZ\j4I)҅8YWE +%}UY@$^1:`TmYNC_-D_0z=I0 )4dn ۅ7=j/0.KwW@t՝@r'%5Vk$iqQs _cVx*)[C$fo99+1b{Ă\ܭjpPkM*C" 棢6Vn6nFPWrTC Fsa$JlmHxvA>T ^:TPgp?4U*5<)FKoP>>6%[ep+3kK^h"\ni1RVj2dǩz/~Y$jh ,56fiN~ }D@W3%g=4]7l4QbEJL},5 D ~Jc+{xu_ڂ$DeH8 mx,W+~ϖMn, B!xHk 2ɮrϓOD+2X& g`,x]8 xs Wzɻw }dŸJYFEiHj9#xWNtRB/-XeK tA)kV ɐ >M)PwTGqMb"Ⱦ%o㳀EY}~Ju>PYhM/LݧZyH ,*EGA)<Cx'I~q >n,uD$U4W?)@^8*hdXfz`H{DQ]ި*w}͍gzN qD8KVW Y#bU jFڈ[pk t0Y1UYEA"myRPUFuW! }S _XY ˎ-m4L{32̚fbHdy64rez%H|kEUj7E[d[YCkP奥.A1Ԛ36aO%EGW.AS c-U8nT%MtxfD\ϭP']ﴶLeD@[:f\ƚd<"5lw1%Ò!>,kUKZ6 '[V d)&\,@:xgT?Eg^cUL/\)>HKjdEmkD8OKG{yqOswRٲHH3+$Vp8%]zh$5fDY Ֆ_'ّɂ"қ/g'V1=gF@ /6mZA bx_?B[9 >,=XSAaaQ3 s48oE9ӟۙȖg݃廥YֳbfH- ߤ` X~vn/8R)Ee @u8Qd:GAY `S+ '24) ܃ЯQk/>vj8uS3,ha0'ob>Y_H{DNJzer#!>ΛIRF4%6*8ڎHR|pO/)*fOq)z˱2Iñ!GI #m.Y﶑R,U}rzW/xQ&N] "M`ڒ{͢cOyP;h*s;f&@ߧ\4"Fj{Y(K8¨41۾OqQ,ɍfc|,^^'_bBDQ 30 Cl}N00v+~.-#Op0X}g;8Zl+4#mg>`|A]_r +i\&=r##vÉԡrOC1Lbָg~ʶ\şCTѲB:i%`BW#!sEZo5Z}]pYGw۷"{ 5K1>QЕ)w AyFrW )"o܎~{S}l{KhOɾ@%ե}Eevf:tm_B$>&CRI*up^|z]-9-I*?L!*eWep*!%.|~GYڨs 6\ػRPRQGTٹ9VL2GwDXlXN5ݩY4dx|Z5 Aw>, .HĒVYuEbSyYsqS+6̎iWa'wC玿TGqny23ʜ&,\KKzߩBhM_\-hfX&gMKD 3!.o/bį~ܸWj,}~S?MZ)+-سѨ&O<ӄ79fC/cdwSߟg0*y|TA=~8`Mv en2$ߧq_=\^ԜIr'糥OE`O,e}qˍjvYHG-G)3sct-.US=ouK~Gh֏CL(B}2$0&4݄kD71Nq EgQDm?FcY|qQE5ҲrX fs6dGj~ _%Gp 23~ٻ)z6H8/-)nu [&8Dzn<eEYaKK3%`Nk4G wY%[ؤ5bEUnuLX) yC-^'=Ba/T^+(R|+eH8_x.csek؁Y_m e-Ҵ~[K7w˛Z|n"Wv6d]5,%ϲFDpgStTepS+gpkRDg| .U=@Uk@R2ihIZ6H/b?xզv1 "QM+٨+S{{4P*hjƝ@صp)zhLQH S` >$70>IGr:,=zVqQ:i z@-3 3vyKUcő(Q uZ?˕?kDV7- H<] gFMT%˵ӭ2fy-"RUᄅXղP9\i}-qWi;@>NiY$Ȑ,C_/XDOoTqJƌOCѻ3̝ vڂ<h(h[KK ϮkQZ9iܹ8RA9ܻy)(N[B WN]PޜeP$AvM9,{*3P/8 jeVl[sX=`58 ͯBJ%E+R{Gf3u-qNQm`-t2lsiUM~z ;)Lb[bϞA^f{{ Ds4dv'Z.YҖRqi򍗺\RYP$ ~)"oQ87r{77푈?FP}'; AtclUux(ͨ`2@A[@A(KEYtOgw ! x6 oqJf;gL*,H՘=T^UƠzi3/&`q A4 W3=a@Î*sI@9Vwq_t0 w9D>f.HW8Z刼%\fXD_,Qz{W X0C SJG}v@&ѥy3xF$n u4(0^uIrnh(w ]p¼!2S0d[EnGlV^ ]߫}z|ː3p:Eb;GsSUDc[=(y.}*+qVo|=cB6}")꜊ap2Cb8tY@xb%j%K&%rM.d4TK 8ԕD@C`&L~}d<^{r*ѫ\n1+6]@BPWP֡bƬ'`)2evi42!1~£F\^g-CN;տMw0pȦY~O( `-9ֵD˕DܧʺH&5;+C}g#(+r1L{da^Vpm R1E,,n/>QXðD!2S綍Kyg0sa0fS 727J:w?LW_5Hi8#DX,ox[s1̍bVUD{Eo%ofѕkD|x29T3#c "pFA o7*Rr7/GJbamVXh&7Mi2fp= y@ ??89)aQ[:Be!O&V4V*Cl(zElrΔؓڙ,<uPpeBD4Vxy^^庩Վ AZ5Y,ڦ%@oʡ½GX^АzKhIR@yTQ<&׍OKZɹMuU *˄4}Kt.f)d-z 0IG3§14U7E|VgONPzVxT"2w1DɣY큵N|r3"cBHϒT. (5qf\o;f-i\RIIG3Hg޾,ob7G{8(-D ٓ?CR5vF;;^צ-QSƕS1sYw_bm&+hd9mA3a~VbנU,T -Amh¥rqaĒQ/e[pz5Ǚ6LtCԗ i;*M˽Vzy.AAD.Z/=*3c}>-:(C.iH|!Wx( Lg977,єѯ4%%%R_ #8b(,RxWKbbqw7E5uf Av?'qOY!\͌t@]Yu2ELٱ@h7'ߎ!^G ź| %ZBVe- 0bV1OՎɇ }gsj? ɤ"̟&}jc;?7ՒAuswk z^ 56K22`,P{zϣ6NV j;#ȗF).ySP퍠JKۄhP+ *O r;*RuMC">uh8na+⦂m*APG2K^WÞF9-uS%Wsّ Bݸ6]T̠ϥ 'mS1]{9=j˵fjjv%| QiL;;ud9Lr>7&pQQDTazvKn5^8Tk\#z*q#8Z]]Dl4۩%X`&uf&Md/hU)bT.2 B \4i/pRw$\!r.D ױh*ӭAD΄DTݟy|*<1Q!фz>Kparَw^TsL625} _C?J>*!wՉg"mPi.C:)#tEoɮ/)"yLG |8)ZQѷt%J7&1@:K^Ɗ* ̸y`de JC~_˰5@~mwqYtp˶YIF(л[}| CUJ.rH ֵ௝[;PG\,!akg|mxmHi]X (1[!V͐C@5dQ:yY[r69ߣБD kt"b#xrTCFbTrOyJfoYpG:5ekƝ?}R+'I]ħL3mv l׽EԆPȼ/9paM>g٧r%@Z*}]9ݩbK(+ #FgScQ,674~da͸/[1SʮnNmqႣB ?ƋڝcH{< {hæ>d$;{$-i93OKDTD}b JAxj9UP-`K(ģ7Th_"3U3Ⱥ,~vJ`sjLK1{0SDL^ 2Flk,XB9)An/u/M ݿ͔fjb\xsV *S+ tJU8gz rB2Ӻ'5H bS/l%(+l0Mz0aʢe$3hnn导 _XÖ2H);̺ 9ݒy&c)yF]p&i ?$1>x٦2`ɯagNv C6.򌵈":axF|~EfNn "Erp@лoDmc_? m*J9v~5\ttTj)u7P M3g x>"KhGhh!un?LgSL^j'sǹCW$D!ѿ>;4;~LԚ-,`\0];.z(|vB oUbN/cޮGp2/ l:W0_1XnoJF -jc%}Xt^Q;nR0Ïl}홣ern|NKNE J/NM0g"dL kF;K ^oxu ClCw mvfVZMpوf:s4C'jP-;쓌e6AQO \weU&ٗ].+=Vsՙ/}6#,6:Wt闱؛ʃ#:-# :5ġ"4JRaܼl!bLPl]t9Vϙ=05vY ޵U^c3 sE[*n:O61 e}ym8$%N 4V4VMxt Sc*MDD3:\a4ެ')ύJ|`>u(W(rO=}s ,*r u7!kG A 9p6@M2}灜%h GQjg&ᓄGMBzOcMetPHyMJ&O _dvpXlc"1w8fx5.O[ uIS=]_75j!j\;]@T?d 㝣 ǡ)FdEz @d\Ai i_5"uON]O$x.!hCmw3 Ff n%!@DC 2kC_{A]a >Bɜaq ѶxwA^ee:pFzE+Hbܸ$%|ccHIQeVl%c(+kb$~bxihbz{oUǴ (hƶ61Aq64 ?2ޖpҎ'{=Mj\G "I|<GGOw%zi ZjӨ=nh BuI;- ' 7mA=PƦq6EpzC+/H0CZ}ӛQ[Rs(y-HF?4 q$(Wh՚jh̢@A`m~YbmbL9e\ƾ]$P9eضg#_+8%=3S:^{E$}E ނY)Ee?OݠWo~!sˬ(?Х Ojե|E9KCOz\fu 7@ ٛG;:'?t4]Ƌr?MJ, f>,2n#WA}Єu(GXSKl7;n76 NYa6uC"xR%A[~WNo9E/[K!lļ\B#C Y.c!s5\wcoσ:_TZC(Z'2O~n۪?)TOb#G*.n-'QC*Aׅq}.FHG6!絪GjaۇTyLdyOytE[}*d0B y=%q9XF?X~W3[p:i_~)< h?ٗiC-mGll'@@1`m[/sWߚ!ٻ%1^r7-m`%?4ȩiт.ϘKr35 E5]fOVH|>ۈ{uE2̋1Z F}NǛOl3fx4;-:1S3#sj7uf_=*T _ ?[[Xޗ/х6zn'.~u̱%/LU6^U2vH`ZSʬyF2/DŽQedi#h7awiB/Ĉ}ï`ps 4~^lIJFVI*p :<+ΐf<U_\i3M ;/WW XTcR>REOOAר5g\~q-a?h`$nm ?%>SqP=Xꕞ\{ ?$ISt KDcfS1%|ۇsud`kI mr?.֡O2φKg"^) |Cn!Nm=pʕ"zRUt>LXmmp0yE- Wj~PkuJRQ]'͹ᵰ$bB"˽Nf.,D $zDыsu0?h;:[ו2j6Q .O2v _dF~FOY?& 'aq"/y|Ri[CZfsku瀔7t\~̾ 3_ QcG}Ϣ!JeT)=)Xs)TNdeXcF3# 0[lMǁ`ӎ? U믪gŒ6!iv% ;,-C@{~bdˆ$9ut5~"j774%ȁI%DNy.hDEns0юtPoeR<0?p-^7=5 ({2#מ $DzG'V˵KY\ۖK%hI5Ahq.B>Ϯ(=ٵZZ])V=x%ZWfo@oΨ.͍2ELUx[o%{p78}BRs?_@m |Ԛs{li8{w37~۟ZYT"fV3)| RkqY,o7tZ!}֣&Σtn9*NL$W9,mܑZ?koܩ2ebhygFީDh 6ߐ5qǶ!1ETR ^4l/r{ Fcpeהi"iCxngC4m$6Z0T!2zPcTИP:7qFFOp였\HL#N&Gv:2u\d8&j3y$"3r C*: $Bm_,I> ۑvJh_aYyPCe| L\rt2-)"hq Յ3Ho[SG_wQ>,; a/4C4pɓt"Y.fug\KH׉w$;nz4=oOdj6FaSH?G~> WI"=Ҝƿ@6&Aat0f!ɶqJ_tܓ겜 ]ܨ}0_'}\A4iK3k˥E݊ etKԲWMAYfmTAb^RsИV <̫ZV}}W[@"CS!gDü1n}9gk)Bo>^<܆H:.sTq5Ua4,ArE%,yR%怕-OjzΏ+)~jyVw (7r͠2MP/ykmm~v#k쪠;̈!χNWC_S[CiBHs'\>oFQl"~q՚/wnSI ~v %MG$ZJHaz=qJ'&6W7BpWU9}J'#땟]pD^tnO]in?229/-*t!="EG+T><)P~L=]/ԖiQa8-Fx4L %9C[gMjlED=t3hȎ15Dc<`Nr..BK('@Ǩ2f=  F,J6gWw|4_C_m[Bq VנbZ2KHօC<'QH]nrZqO_'jt ]CBLм\%C7FWs+Q` 2W P2>~ B KrīqQ{q,nΩNp:`pyq"Y^\IX¸!LTQa).؟s)#FCoi]I-R[QTca<5F4 +EHP9D7RƑGF1\tE6W~Ђ#q'[ Gu(D`Eΰ^ޚ\ݤk`ۄi%>M mDfօn1݄qF؆ %o8n `)"#v.p4W3vO'CsΗFÈb~dC+P:쳌܊(34N伲c +/@;([D+~| S!eΠ M<::U=.pg('ea8};C8Xh'h_-:UcN'a'{@\+lFW!\ꔮܺ/Ѿ  )"(ot0c_8ϠB8w4,UFi ʠ|_9h=쓐\ HT:[!QBոtm2ƂzL ^,!e0<0a!к] ;| FHb6 r$pܙ qKũHGVJ`wExy`}_S)Ipvq7_Yhk@:XBvޒ?$>۔ի8ˬ }9M.7`Ţ ň,9ti MFs׀ Θs}k.Yx"(OdI1@hg6!Dcҩ+Pf:휱6Cˮ/ewgCjF6 e^EdfnY*v윲KAg:>Nn#NL$9~,z'qic pe) $i{bNCKLr vob*LQF~fjچI\Jؾw.`lD\ j l̸\R! =? CĶb^f?ބgB  u_bVc(8Vf2c7mm %/ HrwZORbd OΝ\,JQ[RTS6^v Clij1tnY.N5 3 Lg@UԘC%|3&2F 2nKlI<}% Q0p@r눨ViYP?5hǑnR/>~Jmy͘qj-B[S`'c+)?sW[G .wPD,!HTE{G֑ёK"5㹒pj׸hp̟њmt?Ckg98# B0OLa1Gxo{ztqbr._x*ŵKSзo 7Hwuv(_2]SFmćST*,#"QG3s_$k#fI!T PBس EKa ˉtFMڈPk\KS%+&Y>.p/@IU=Yq@ǀ% !1p *6yTrOfOxw1fɨ #x1{$;_*]H*I%O%/Kw=AUf8-o+AVk E:@ hK)jpr(=Y9CQ=)$٠ʀ6驓A@8'?AͰ^VBҘCt*R'I]O2Ngb@jkl`2MO̕%ė%{wTMRu".7.r3Dć BE /`IFJ 9 bGƌ#v}F^Ƃ_p+_85oiRSU*LB<1U#\_|$][q1/G~dp&(rFO)[RI cmB_ b2'L_o܉J~rrVK P[:G5/02ʼ5KW@+gtt(:Wmus;/+Qq'XZ@$ By "k ?͟, 3ڭajRpiBdyLR ӱ&S/ {F[O_ ۆPpB4ڤNrxVOꕛ9Q~J\_&1#uP1 qN=Xu|=^ْAE t_Aj˫ʥumhRqiy U_аS-4V?Vvn7#k rv6].5@ pUq0ɯ~:&604 n`ǃvulי -%οFB\OZF^|oH*WCp)E%l :٤ϗC# v@MCxQy#  ~E( pfwX!!dln*z;HJqJb }@-Q;'FR!lXSR-ࠌ~&)>;=+(C@d@2E|4[&RN[ 0".^=qҵ_-e `scb .,vLJ)W=VOtYIMKK7~CEQZ*0Y+Faܴ:2ƸsEڄ ~!/}'Ł;e/rp":Xϓ-UD=uЂw:ӵvvVW«\? pn3b*6;owjK.瘘b-w؃zqx݅ Wl:+~Q4RO@ac[3Az J>T>^*NMҁ-><?ScJ|wxf%JcC[gڠNfPc+$. M,Fm?+ NPEH!& [I=t{e#f(. l8TBk;^Qv*kUğ]g*ئʿp=!ξu`6hIke;GWC~!Z I&)aTF3 @J$>Ɨ!p? mfmZ!AL9X6ƣr PLkPĂ?гB>=ʗcՁ􄿞_M>!h&!쓍*.ͬWP׮ ܵ-<O_Jj/$V<SMGB8` \$%iڐ$ xeĕ'O2pc"T@? ] ԊL 12a!.6,\"眤ʆeqDs [~';ljRS1%)nį$#ƕ:ܲ$L؟~7b#Bxb=9eS+tQ2f @ğ>j;'EH`ۃS7'zT" 3VQA@b`7A4c(ɧM-n\\?xy9&h”)Ƙ,<=l`Endj1LDrhn%,+RK !(>Jm/ JECT4}Q|.~7E3ūxh6c_\bjPQ%B:Հ(=HHkXFGAּ #6`Bv@O-{p_u#L2vϚ(:q~տF(e0q ١TWMVS1?g.hH;_=uF/#g{S*/H(_G,5HRepW5"k!I>CǣH,0k9JL8?[nlc0 bsݱ`h=j\qb\w1[WKw󎛁L h\wuN'Fw#b(%țnAX3sYiǓU)ϓ~"HBy\LA,ےǹGٽҫ;75:*1Wf/JKPf9;3];mKdkr 0"AOWD- tjp29֣IY!I+ _Bl{Vx>6mdcenITgm+SKGh97{v9SO؁gMuޗՈp2?T`ʹcjՒioNEo0f~R#c*bQ"AcjT̸/;?DStVPWϑ,mihݟt26ܱ&o/[g=Tzk\m'1E hKj{t%!ą⢤vI]:EaE(3^dFEّ"q5~|nJ+R)/N=4~1Gq:|lcή-j")"\ݓBu2mZQ%TE(j%X}w"D_~g@%/n|N~Hd-z *,o3z~`';$oEBmAkvf\x8bfm7jQ]j_~P V<@|5 Cn@t}t*+B\&[g0vdn5w]| \1(~Zѓ=8:^S?MVC U\~KnR 0/w9 07sCB1;t C[y]em2ٵ%buJݚW@Eω,!˞ܱݶնj~SNԞT~sA%{0{$mqbP:NZRf'ZJjQރ'~UѠ JEKd?d_L!NpIo%*W[qY֕eX-2xY!wѵW!7%'YTD>X e<ו}10m=a#7wb鶛f}}r| KIVѱAXA(ԯl +:UcJM inoRxx#GO7[C6>=~V$Wr2rf${QW ;Q X8#£)aV*E4VA(6mñcT]n?ANـh:k7Ksљ+{ƶ}PһOHzs"+u&Yd:-ٻQeLQ| s0:j%&$_*kVR,"zwÆI=wW/~ zk܎knwUN7­GJ)gi{ X<_:f1 EX% i'6x *K1w]m-*wzFmP<)6#6A:f͊#L_6 fi*^d$a?祩(}Fmc@C KR=X0 z tNj$+Iz aZm.Z+j˶rq } Std~Od ҚG~#D׋P8,yf6š!T'݄u@/:IDߣ:}1! :h- _bsL*2Es mbELbl%. ErSS cy\w[z~XfJNx&[/=v(\N.O&TBP)lw?V17p bjrS @.a %j5mkٯdqߨSr3Ş~[偌4p3"NlV'sIT?6.Fn$q^jYDf+`À-@v^}l0jh8kg)I OBM^Q^wx'$Nf(I;AC sJb2_2f)q]XN(?Mtٶi>lh1%"FcLIi[s%J{oH']pwcG(k^-$c-24*QtA2I5dkV )aaGSqc[ d#I-/*3ඒ 젚e˼ĬtZ CZ^d]ڤT]ܓlfW qe~P)b̅S* Zvΰ$iLTbVon5-} ^\z9,T>W(EwQM~cq8v#>lb(TGjs=EMN,Ne$om4}S>?#^ F>3:chG75om ziXs\u6\ri I@ב1jv-X4).298UEޜdgWKDה -i UU2/+p T;5ykas F YC %{ n'e ewuS-b6OAP*s؉Ԉv_9Nw|SO7Ĥla񤲀P ~Oq.3ANvһJShYak]y9F}و0VɌ/,oH< Zw̌a$"[yzDW#"by(̾_f,]`4ƶ5PooGf]% lnm0&Oq&hhR_Kp1L]ؖX-'đ92}i35f.C!)H7(ǥEށQnP&r9b=b5j+WLMA~n`i2J=]οEd&N#pN%VR籤$ߜN6~#L@*L-Jh<^}!NADHN2vTd|B@,ǧ=Fưl2cte|>NPh(p[QjLVΝ'J-2nŚZ.L!&sa(&t)X3ٿ=)7٬= 9 x"(Zݟ4;H.+1$K8i93GpeNYc|ި/q6{t3,gF#53rϰհsƸ {'] )pE[ۿ 9ڤCLBAXQHw[S/ACqZ;11]yb=%c~]Lx";5KmJv.ٕ_9p7SZBu &[pxXX΀#o\}tIUJC_Z'әl)iRBU j! @;ڂMؠms(mCå-7J$u.i!h斘ӿ$"xܒ-}gdZ.CٯW/j Xβp-t8k =lf0&H+9>~fW#__׫%$Arզcb5ڷuzvT:[TUU)¾G:||׏:7o!:ԝʹkdQ*l"nFiܠ.>gٖD=ޏ_4q` &4Om#)ke7csf߾URhu͊MO WHL^(!~Mq^+`IwBW@?"-) s*h- 86B.+0(Sh)CJ(/TrG1SG @jQE6a]=ێXM! ♒߁YX=Jm8 z}F5CnQ'Ć+n)"7=KI{:{9ʆ1FO%:͡YR¤&s-®AQ v.+<АvϢQMKntf:,~b}H0Fr%n۞2`?>rV#; ESNN D픕9LSH(z_.lɅޗŐKz!k&h?ӗ51Rwp@`.mƚTLߵ%|lTY_x OrYL>DkBL@)c,.t N%`dʮȨBt:ﻀ@韊u-:vBd5~fTk[!h?T'/!6∤wp0轵:5D:CD!ц'kh;>Sc}TNe)7 pb [z[V3_kxG\XP#Q|A l.2%ANz hZyDWsMo/,bg{}͕jfY21XazZڎq3n+0$n盵e`(B"29Rb`j񾨕!1M(L8!DI \GY+l%'a1uȻͪ7vʐo&LK]\U>oBg7,|''Q,}ιbW2zMĿ]ӎER),{oST%pҌ*ZN6'#A\ 8 eYz, KͶm5zՙ2X䒱+8geiJ^eZv ShwjSk<8:0 G@XIKb{)+h-c\ˑihz zP2It .)~9u+L g) .g_$NJxx_7>]7)d-jpw];`j' LѢ@z/ .4`0rH.eh;~JΞﳯ5hHϑ6Sw ΅%UJ(bxS \Njp[`jwJgG({.Ў+I Ɛ0`۴w3J%7rCF!4+"8rַ | 0:Li'ĐlnRg@f K @zoVLatgPI(#"yiI-\C8YRFH.vkH._(8W Âr:Hz 3C^i($>GA{܂z ՛HIߑc^r?{R:d̳#|[GˠaBtZ/y*4k-j_Ҽ&})[JDC.J4i<9*RN O >N [y{xtGl1!ZNc}f2 t%Rync=/_I3熲U{Zg]Ч|tiZ ֫`SAng~L,7XX~1*!*ʣA*SrYAc쇕$M |:R#)%=" cI6%M5FcȬ7U IBJנY'*\Xӯ/*x$3%;:XGJԜî+dDӝbS- tc2msyxٽ̍*iKtNNz=߸CqP'Zg-CxIWJXV ޤ/m(_-hQ bor;,jteXQB3~&h5JV 5X‡ؗb'^ЁΉlIPӛcA[C4)#,9W E/P;DzbæxV8&;E_zuNdz.X3l!dž㩣z} W`,)2ק5uџ ;/&<lY<*$jM~W@z>ɥ";+cu,z رHAf f7׺yDMj6k3:VTįYįjmG(2M(F25,b%PDXf?MPeeF${u[N?uZs :ca1Д1v|Rq7D,ǞĄ</,TC\Q0 :e{/30Zg֯R ͝&o[n7cʖGV7rQ+]_p* I\ BN zٞqZuO' 5D$1S-\]ێ+_vIR(W'qT?%Oug7<,SڮP픛-)xlbア6ǵVOLLf\Y~t7rQ,kټEhyأ|U6NT% ڦ °Y:^H ӢVj.,;ټ]>nt.QCp_C *v~VmR:zMe-,Nl*_!KsQۖx*^;?H+:R tewu6׶s)~RPt.c'b,CM #(T{/pvh{D\TM_V+ 0v=wߏƘY/fA[)iGm~o[*Sr[s9wxc4? W@_6&ߤWD:Ȧݠ^CHhK-INE>lb6G NZ=Jf"eڊ`ϛ\"\t):Cb9YGh"-EoD`u`Ct((i,ǔ)Բ4nbVU{vYܬn O6Bov+4+uE&rr-M[jzZ6{ֳu pM܀αܹvB|T9RL@,5?U_|~oizv]&SNM#o!v)nq_'3'vq."s˃ETɥe< fWeGwTg#O+2:Ӵޱ9 0x 9CCgn0?EԜD,Eet#W-F/䮛kʏ)C]r6Q 5ݜX 0-GH0B\|A6*7y=$;\uNfݙѻ! ͟^J/E l@ft7[W.2;p=$Hkkoӌ?, pYkġӵ\}L6(Ym\obya4G}r>{!CPETHf(˝20㱚ksԘ5`IC~JiSF7<44sJmcs5 XlDcT/(-R#sj[e æ#8] jVu b ]_ee>*\V@*eEźDUڵg:r@34 PdC0u>6 OW#Bd' 䧅*,cI`|׹|Xq4Ȧ-TiO ֻgjX JcˆC<6easjre_{þ+ըZ2Ь΂vm7) kr yV:J7GQ'I2?tdL<>E=Ņ5⛃`$ξAJPPiwԣrN렾]sNC/ܽV ׬0n$mXl2EPMlWyqeLEvEd#{?XXjw'A k`G|G]2\}=j'4._^،]C^`]4&Ohpb᭓m\s 썲0%Pi<r[۠a @`L/(2)PL_?WByaFZF@6wȜs292&%$w/.k"'Y fϛ8Yey2qq#135B(rGiT۽ꇔ ߘUMϷ^d;u6VO&\R;o=XCy2fA![ܣ"J^_Yr#DiQ*@\4V/uoY#.٢NET5; ϻB Oz-]rB *t[Yir$ >ЭE.jyƍh.^#O >LB_A)'ëRN;CItW:b4jyH`%)6Q7P!96K-FXaA{o4PL ):xaJ-V\EhKuibinb$lf, |<4%%*_9V+BVaV.G]O=TF[衺Y0A :Rn ĝ+'u-bax7Fq)&_ـ+L=,8P Hi;$QB}=9-ƈ!XB?UmfVӴĂL"%K|35Xl<~ph1K]&Æ>eJtweE+ %I||5u҇I0sPW% &xmyM )E'ߵBze^?q3NV 'WגնG&yY]߀6tK ȝAրN֩S]1=YĈ2vdƌ#yF]۪Z[=]AmSzS.tΥ#Թ)#)SUVJI+'Q XAwqN6SM}n4~dl!|zӞWg4 L%睢#BEY pM3_EZq8c:1"%nRp#r$cρD>XRrx5xq9hkӒ{Y0/s-0q>$:Hm&zI'Ӿu1$ 0S=Nz,2uܙxt۞G˨i̤JSyG :0]*kԕxXdMz[Vڟ;Jeԕpe)\|M 洊2Gm>(CyLrȎPO@K gd#^ح 2ۄi4,"APt$B[ T P& _:Hx}ㆬ%,10N!!n8mXBIETVn^l Kh1i{ׯ hOj;dQ!Y U:Zu(7$xb=&vumT) ^/a9xT6:!b5OcPu%o:95ZjY~* {+n:2pY=l PBX}0~L|3(QWmYVI1G2fD:)*>WқJ.aMԴBN #&LhtXĂt\QW.uWyAޡ{#x4ERE\Q 6fyuKЩ⣗6m;&2ʖ+ܿc(mgy95iC;J?b=l5<%f >f=L|EуnR ?XJ#3nmr)YdH C[v rlJ[ ǭ)LyFIO o'J|r^k/ٵ\V*J:ֺ~ոHʪ\[yE?U`Aq8)̑©m (;(bo7co5Q}Y߬0N-ӺfhȈugQ%*58L/ Y%{3VZ4sMK>Ejg#L>T<>?QmYݹ~NNw'˙7a0w03Vqi$+zd[X)PsH,y5M 8A5*ǽニ'>FxuFgpe!]E":LTT[yW%:܄ATpPzEv?QtddʣI7F JQʉgW8N} id~>b6-pvX\-eGJVi7Cr}w=,q#roi_ěz h`# ֛%5I\u3nWqŮ8|a'1*^#1 gԡQ]-Եqr`l]s59:M(9lSXXLGc %o&ǰ ZGHH֎ueIET͙qw>GݼF˦3bV0X|m""2#4dIsW1+dqbo"N)+ [aEi8α0Soo 1e}4_-%˧\!1lUi}-]T/F̣́ZaQhMVS3?])`܅{I`?<23A'#Ft3r>c Q{<ٓQ,a'o^F˟r`3v7.3[̈́M%MPyŊlAǔAjC3eɯM; @KQX@JXq/UƋtfNE-k#z@DН"Vt׀srH#pS#>[ d"ObVY $...MJ4㥷EwP >[0wc8YQJo3WO(ARyv=BosC<'Wlx6\\ӡ,]}R ^vmıUvQfRU*R Ξ},VM|5]i';sW!^:3*D=cEɠ|gd+U Knb߹ $+\7V-]qW*LH&vaͣuqTS,_,l^E4^Kt\F6v3"?{d=7HH"J>ԣʞS3-3:qAygBy <#s=DxsL(Q@C0e WvS~|׶ThR(~mXGA&azjj}ʩG_hش]5t`qAKǑвv펊l1Pǧ@:{Ӕ4WǡiR(f}*0I!aΦE0ȼ| w.d?UC8FJv-}դ6}lѕw|HPRe> % 4+:ѩ;}ŕhQecp'tojVyev,m%W:[PA 'vZɮ5(5}gṾIߥYKY菚O.w,fCy3JO&ߌ*uӅ~ vWƩ5}[:q'a:i9(Cّj%{ )?iI7mGG!ge^U]_']dWz/wBl*@2D_{kmNaԕTkZf2[Dq&] \Z- ?[r %۴/4>: T 5a~V5ĝĚq&M٪ʂg$ z D.禁o|gH5Ós;ugڼ A<ޏ#dElY5=1a)0C9 l%: a&tg%;fGtkX%-9~c8?AlRB< ߲)>P~@jaIHo ff{Eļ;HREצεMCqH㯪OI+nY4'Dp21C"&gd3fM<zm #!y'MV=CtƑGO ᇱk9]l T39:Uu8F.Ju !jI;2<չj"m*M{uڕɒc-Yg2P 4NRI@eQ'ަ]\5 X '#vZl}V=?}v#ƎlMnrTIoasz?qxJ^QNMŅ$b.JZaR |jq Fn7ߪJqóStW>jD()Y6 .\MI5# 4`|Ryv#pp.Gj -3$7U͘o:#ZJ*ASGw.^^822=Ke۸J,t>ȁ}M6jScfn%]z8&p-E eJ.};dEfP}z@q>fo_*B5}:c`M:SUԿ3~ }vzdBf>3#RdۤD09X[IyWbx]R-E461K. e֖SMZxuc:n^3hh SҖKŭ/zgr#.d31\ˉDh>7M +q.녥7<͈ya8s\{ZArl*0I㒖[ByeI4T88kj9 S(AAa`o L#+a~Us:JY7di޳p;ф9q|t22C4  :Bpp*ѓzkݔR!9ɑGi̴9FpRWY-sޜOGf+ ^W#q3<.sjm^Jj0`FPBs@l"HW0\`79AM«'i FUg42P6>Pxվ9*?FuB B?8{{$sh2\ c@2 E0wlI3,N Z.R<2ΈG[(⇍=qł "gK*U"JJ[q40y|Lg3a&P&WwHbn\Pr$8{Ҏ3Bf{-(gK^ݱ?$7PRēAwbڐޫ_N'tjՔBӔ5͕D]IR塟.R <}/mE_)JIb<Ak̫L. 70He1:\lD~V%Q=s!Oj.ȆP}lj \\O< Ǹeѧm]e5Up0VdFӤdfYRAr>KhRpJ6ϚG4o(gj`01I]et>[ڡE$H2Qht~™"% u_E-roTH^Rm 5Xv9 bc_,|Z1GY$0&17E+&E ߯H}\N ̷z;xRBuS5n`UVp7$[?'dNj 4;њx֥eU¥)Y"GZ1*cзV}Ø$JrQƤfis/O`|4=#-=W^b:P?@Vf> "k~rn} 6Tʄ("#9lT*grH bo?BF]._SnN駗z"|nb9@?|]3TTqBE_X.sIL&y)۠:4䨪I)U3*`ފkҜK?bz,)# p7!2Ii$5d A(csQB4+mU;0%+^ LMtxyuN z< _{Z!~rJL:{$ngWq]8:>cg+׊MPū|Xf>n1@n eHNS)*iVRS8S04I;"?_1,fl347H73QzD9Fͷ@V‘^l_QQ u%eU蒶#_-؅FEy0sR qe=O<v 'b7TMÆO3yF;nw$0yf|khvCޓٱ7Le!8!b¨Ncm (̠Rb&'&Tp3!7:]Apad3w66-kAt0}k9ٵ=̶ \)_ ZX0]|ojHn#<>vdg<,:o@x?'jl5|4O.X'_:Q񌴸nwdoxb >A3v-J|lhaf'J%q.vw>~'PxzW6ۇkTZCueQT$H׭{Bl1?g75l"vHx] w_zal-eUI?z@ZNQ aU}hH >7VchN+(Go,iaՏNdΑn=ƨ&yPONUo=uJ 1%,P*k2u-H?1wM_hԖ}Ƈ{VM!Q&Z^R-ief|Q8GGm\n I'ԂXY8 E7򱃠'rWj8RVHӣ76 5\斣*eգH݉Wl*2"rĈ~("ʸH3RT4Nus}GnId&[ 0%g^2Oh OM}f $Qvh.W01׫ޚPUgAǢʅ-}WMh*}斍lvM-ћW =/'fWH`¢h\ba7B/p2}A/ۦlOj۬l'[̒Zsx9'F o*V7y]1UjI ^c|vb%%3uO'd*.<*^Tmybӏ UE:(;UQQ8pR-BoЄ'5+: j:hT4i߻79ƿ@x|$ةB\iѫxhc+vB#&=nȧe* b-}p1F 7Uj3NЈ"[ho$ 2r@VJdGۯyh>Uˆ̕Hv 8Q 53 ZuD^DJ-|r%( 2 ۾.ΐ(V0.7vPRy3fbOXVErG7(qNP]SL}acq+Vɥ0c O %Lceu+HjEd׸0 G1fec%'=#{CjK,@tJ:a31!Gc P!'`1)InA &qXz}L+OTddՈB@ G7I)e+ pZ7AʫwT_R(i/2@)\3ΑB- E +CK51{MУ4RUeP1ϵvξٳ 6g"aNPnu4<u=9UyQd}H r\Nd'4V =ȗU(.-Q7NHY; cݣ9Q}(vqZTZ(am&`P8w)7̺ aR(xt.W*P8K-XO`l)F֒~UM>]6 ~]q[듗 "ɓN@n&,#LYәa0ut; pQaDlc5a35r5@]'LdwcQ"a>):Gلbv"d"=q@"¨_rcB6, on9Y5/H~*jg]|/ @0NvN 8֬"! KbOq0y&AH$Bu@!]^˖Jg B> OPgϑjBY3 ҅kc`\VhP eTWL OPHEiπĝl7V\qOAxd9|WQ ?åA]`'.ppW&?̅oc0~Gͬ6R:^$a ;f|^3b1"A躜PEhoL/f-LY{cvpb@HSIhX193`SrmOUϰ_73:/zNO~1*t@Bw3zG-׀Tb+I?&n31Z:̤u RԹz{I/m4@MV]iBsc _ʌ6u*~^|Bx%]GȉѺBֱG kn9V» [/ݧ< N\ @n}!3]jIđix6fFB?a RH(\fqjzSXyzW#D%d*XT@ZBfG!0 }P$d)ig_cـ@"}M WYkpvfYujĩV 4^:FisP`16ՕƅM9'4}kP' ŭӠϦ!"Rȁ%yΛ 1sÎ(7[>ъ2T$ FӥnUE<°e~uLwhQۘPL|Kb ofPQ _kr=s/SCRHԴpd`gKaq|iն-V9=  N7ԡAgJԤVXRP/K;`x/4;Zw*uz#dbEp%Ewb8*ra]~1VHT4vHZf=DAwD%ϛ$1˴E5*;410w|^g@|x҂<|\= x~Ӓ2O"ypa!_V5/KC4VAUzVp5u:&$cw gX8=y[L|iڐJvv@m6S} ĕ\ttd1XSMXlROthEfP"MeW5qto@ jؤ[w%VoMo{͉q ZV@Ԫށvd lXm;(nv9hއSPvF+V"pZܔ$.P csG8:ap^l|[?s]\ڶRӡ2NԽU/P(T7XW9ZwPy.;҂lZü v2CnjH mz=kiZз{zB9y.Cޝ|+>k*?<?^{,eài"V ZE6(̻){Q:x M\kop/l*=Tuhwim+$=)zzLej/J%PA0z@ǀ??AvCD9Z2g?]ۜoc _[!!GmouD(yOVMzDTP%HEQH *{NF"+N>vjG.9e.9\'=C@a!-4R9{xJphՃCK]{h,ǒ!l)o֝c^f`} WR?Lx'#%+yQ1`z?;=2sڔwja?J^8Z؊nke0N@ȹ\$~g~&aGg$p>ga=9(%>uem FȫfN\5 +pɢae.RꚆGYH\Hhs"I t'1V}C BG(ct8._|{Y)vP1>4EI?mY̿*ٮTߜʧ՚{?jK߃BJN0tD^fGpO>X~?~9'iTƱ55맲*.c入6Ϣ6HʧaxubQdvd.vL7p$sV; #9uE^]H8L"%N+>25"iYD'w@A{Έme~JhBrE;x A*~pEtkQ$Is5Y :Ye6U{;r7V\Lw#h(- Vy>LLmDI̵WZW fB^0B;_b"l@jGKGu$N%m1R6'd`iΑ$( Jo`6dFN8vʇG/2!DqQ Ef;ȏER)!34YwDK)ttPwZ42siꑴ6u?\bkRR#_FOy%F1G .G.KHeo$2p>">ivycJZi,S5o4x!:abSw} !?{y,hrf (~R/xAO*F-NiOV%{n?JxS;;P|c)Eڲ@e-4ش"b5<[؇V꓿DtC@*Hiٽѓd$ qǞ\W@3{NlS4QEL%S@HֆTryo"C>WbIn Mjvւ.wk"c6~tPA ) |x(=SP Vt lΓ?V^@1Bt#u2,A++<W9{\թ#!&f؏)گG^z8fep^CgM,E08q6ḭ{Z'}Ya6A!-XY^8w ʜ`jMe_O >BњFhckJȴ7K"Tϥ僣>Bl&3`Xae3IWFEu,EQl0ۼU`NFb)c( FE_b+47n=Ի8~>꒑1;E`(~{P.YYÐeN%we3[E[x LQH{QxKQDkr=誥4=ǹ`{ؐ fNop򊤝@Կ(MPH2+i(ol#}/ }]PBOy1wnXB-~B sBY! " UBbUy=9+buɘjUDmHסEjn7!}[|VLxTN?~Ku,NڳuJl RŞr@Ok(]CZ-kp$ZR=M]0F6AV;dž,rWWDBDd!Gꮝ0ٲ6&ViJ^q2pl;@LhCJl%F qWwtEjnY 2`pmp)n<}FLLAx0>7JCSgp>26zEHJrֽP=/@~{d'\[xQD*9dAnSϟ֥vG^INFF@#a|U&lE:)J7^eP>AEޜcUa \n5oW/C1(YT S0' ^׷M޶>V#KS#m Z&y?gQٽw[(ڞjgE tT!oH:-j|sIJT YYp(qBЭImҗ'o]8QLV yG'X4 ?% ̇rĽK}>=lFm@\dm"K+R\<Di>LN(֨$GD(PhN^ 4ǯ:墠/ž6x(^U{R( be"q3mqj0]{( (M5OfA=PhC - ,cp)2z"P(#t;7 %&֚P3y~/y.jno;b]]GYwk꾒BsnW\4v,ljͺT^݌g|v[َi;gnQ>)0 MM՝_Sc~l6±tZ`UVl`k[*9O%u&*b6/.pjg(@FT J4d5< a#%|j [ˍwn&D2͚j|iזI aJ^ ۏ8AO"~,AٟDPPWQ!# DM(5IkdÐNڒ`2 t]C \0,TQ [MMAAh]Zs[zU},C*,H:p#J}o5n(W^r Nc]1V, Z[]&4LUί-ɗ,++ η~Ew"ޡ(鑚nckvyeȠ'B}[C/+p3pi[7KycJ.[r"5+乩>KiLfR=ZJJXS8Ca RD' sKZ Fo@#>Rq9AY![ yP}7bL7f$'Y1T`j=&O9¸#vڷj\|VOfJ=j> *J@Ӵpj*:b^lKؕd#>T73B̯z_T%W6{ޙ*Юοych8{?z̳ d ~ וpj b ŋ`u|=@@c` ~͉#|({Ҝ qr5X $af)s{bU}cN)'͘o[ݦ~Ip7 xDbd3GC5;>!_cŨ <3I,K_e#MJYi3CuC5)B (]-56Muw_lŦ{vPNe NU?ҿeyA-3$, RB5~XQkrBB\ajh#$V%QH/ʓ)9-9e lvE 2bH ȳ)gh{|X*,}Brc473ǚnLWuotM.e&}JϧNvJn7. ^2@fsEq.k<>l.rD6ns;5~( !FF΅'kyp e<{"Y;UOϕO PKxkkjaWs_11 1̻Zf?(=z-ŕѸTwd rw :,&zB 7q{.FJN%A#9bp`9 P6Rq+:%3ۼ&akTϺ] OZ_}& JRGfBCLKoLkaQV/w}`٠O!dtn ^gMs]Io X!Cq{C (YvEY"Ws$v0JalhEZ|gokIp$QrL";}8i4+7ڄݍ>+'ȍ$?d3HKx@?L). ]yỲ>D/}Dg4ݫ8ЉjBD|P!qD% ]ڡֿ,l%64YCj_uOo/+ZWcq[X+ ?Zغ˫[:'4,mEk%!xwzI@m.Ͽvq%jٜ}=3 GI.L< ]ٿ؎r/ylgm,~]`mP-DeM.kQhuWzTWLwЖ+ 6+3Qx"q\p"i5 }Xx.fxW5O{OH"ZvގT-k-IBEg5HT6NLO*ΜKpR1#kNS٩3. Dl0^Xo\rͨ ϰi|C(+3*ϫ)|ys+d8r. s;P-FܲĻet&!`G\yTrTy+Ħ5LƴܧWAc ]R+w!h^">d{u׆]o hT_\4 FF^*/]h|qdMϡZE>!iOϥnyjsN9C !^Z~N(1Y(E@j>,F~6 0h]S:.Lr F50F+# yVH%u z** {ic荢豜K|b wX[H?ݴVVO=@JERd8׈dd0u^A3u#8 ]0D#F όTDgXyI .8#]k)gTv4&2q_U_Z:o$ѣos6޺j/`%>q q[?p{ 31p0ЩAtc;P ) wvծx(tS0TK\j(JyDa]e+WGKW+|v0s`YO<@gysZX\b#ՙ>TjzZ *WJ͈HM{k*<3B0JG=裾gB@:ϐ4$̡g p4{`zT|:)NaBz-V@[z ~ǫ󤼪/:mGz7O2ټe5o_ynQ"# ø;S_s\I瀦.#fK7d\ TYRDԇWX&e~z#MA'Ud,sE}(~O]vh! y !_( 7T@ꤥ OR'k$(ֺwP:\y:Y)P(Myz9 92R΀Q· .u8YЀB3‡Ηh$hQamv ԕجh\LgBa$)`*~0ZY &j*B y ϝ)H5%_C &wnvr>sث xXu*Ify22zV8t 4F0=NfNp0ėi Fă1 [t5 n@ӄ ]EW4x"zHm %A&$N@m  毸)~oRf-A<JE^0㞦Lu(Gfg'eܫ*'{GejD=.9;]SеB_rzquݗἚHef15>i̫z0%nuAnѾ PfX).`4b@"b wļ0Lh~Z]`AkwSC>j 9H#e‹!57ilʅ)LEIu!gO(>픟䀰6 [5}H})bWӄ4VY]J'y1vg ̚*#q ]Ns*Zt"~myyAzaď=9xN׻w+X4YFrƕ~SN皖WcЬlmA'WrO }9+,XPIvXAj27UtksloY~p'Tɻ00$}AsuL'}HT֤sqΌBtm *i<TDVɏ%wy(!L|[ᬤﳕF地ۀX(ۯ[ @Ӡ;FoObN)㑬FJ@a;,M+7Хp}xTG-dQoGO[[ l Y妞ȋ3$&iUv67WʨM0BPN60PlpMx\_fOPG!W㠨;/-+O935:쪦^u̎MOփ>I'V3D`\BXQ~d3{IeŽLᣲv:OuEXN.4vd;7XR9<-oW.#~Ng2r[FTz D '<׶s^-&`*>eY6d+8 tO|P W!B~ l0bګn)P#?nϏ0x5өʼQktʉ9ųSW Ҭ ΝAzab].(: YH.F %~HG`v[#`tjX2 BX~ǂGkdZuY*?M3"~1m| YO;TtXenem7!Ill;Z 'zbPw&I2Re7fľK Ꭲ |ꮔ46Pr =>wIb,,\p|2{^r?l Mep2A,HXH94/̫r4L2WP2PHݴ선k Z] 'M>=:W[q. l@re~)Nq۟3iOf.1tr@a1{)Ÿ_TB)yҙ)7.ɵB!wV_?x]M]^SH/TSkXeƆ<##L>#P C^ /6]!N1$zxH9BnVxo J[V1s M j "Wgw(i.Yg&%yaMˮrxP2|53yg{Ќ)G$ȯ&KF5G;8'MI~G_}7x䧙–ʻLiRM 3c:;5bg&.Ɏ2uZ6Dk쌓XnR\1k'Ux DܖW^%MUVBHdi$P#!VD*\2u=-yfe&$)Cj?cxht5nsqt ŀwz Co!(vDwaZ+&t@f5/[̪ l[^>-X3xZ]҈~ ;3י%R+fWdmJjϬaawJgZ%L^VWapf̺!!8QxX'B4T" S&; O@yQImcr{xͪΗ:p`I43g'e/)RC#vSmߒܩ)ܽ {;.`Nގޅ&v` %eoE[ [I\l`; `Cd)ٍ,uسYK!J "K>S%=S P$00U ùf[(C|q,T)52E3Ds/l&<~7ȧ"$ sF!0[HS*s6*̝{~t;Nխ6W^_ew#xǂ*E2^)1 &p5 wx-/^';YrQN6O9wnywc/.CVZ9@ L2Y$1KI QW,=xD++'FuCR;> ՗d?69bV4$ >Qlͳ%X#0QPQz;-U' _RGX}+lkvO :ٿUDaw <;k:&Chttvdh:Y/ݟN7 (f2"|M+VWddFivK2\R:y^E ԧ`d[EQD>ޒiwEgnY`n)q>4iz[L((1WRYH ʙm( >d`gcAX@ .+Gy4& :GbxYoKdUJv27u Pv"]%!'eiHDq=ύxK{ysx~粲R",r-5,ohCc j'SL "1a67^5-Q8G.z̢8^gH^6 1<wڹu"d i^`g*B7p{bmAn)/oX[ޏ6x MxE85gOka"䁏ϻt1+:D|yW [c+ePV=q3[}!\Xv~W/ٵUGWgbXAnаrI^Z%@RMo` DR<"WH?/'`Zr+N~ܕ1Ad:b%^IneH1u;/=@ymmab&7 ߷*}F,0g}DLE_%T5KTm٠ ~ kKU}<ڡgғEq\ <a.@5i$1<+kd9"`+Dǀ)n,s3%kIeQ l v;} +MTn懎C髇eȟQ-Nz$rkpI ː̕| e^KX˰y?[MZ1MQ_|d4y{/`o(m iWXl!ƈ-[ LGpe:С҃bn&|&q}fs~0w`KfWHC+x-\kuI(?W<2\/W}|u'ֵ౜!MbĘ岛c~ \-}M﹀IJ/l/-93ͪCUլ&08D _d%=\^dc|$k`IO6O}e`Û;Z8Pk !-VjlqsafJsJ'ّd;b?Dh\ԍ2?fA y73ra 6-R^\$^1~90.@7]*B =6XC2OYgvK4dZ ;SRJ,LvhD}Lb|/z9'23?*.BcX 2?ɼ3`HPZڢ$Jnp/EN (|ߞݮqֲ.գׇVX%}/~aȅ@ C9fRt(goW20 }3Ze$\[EB:'nXoI:qwK@*)+dx~aq ~ʓJ߉:̒n-\vL uqձ& 9+R_mmG:] +'5^\&Wxﯙ-T%\Qf X",i/t:s߀_ٶcm M6֘<4IKC*Odg*OɤB,dOnaHTe\z7{D3/1n:@+t41r91Z'ʮ18h!<-q4ƱND͋~;vnPuMsEpV؋b?$bD3 F#IQc 8v`%v#*:iK8=o0.k΋_7=k n8Uo7sR Lg( _u܂ # dqw| 6W#6 ?ƙ 05 4;\ݯoHlNǷUU..[4q8=ܧЀSlhBv x,{Ӥ }fU u X4fݻho%cQ`Kw7u8H;2 xCQ+A}.Y=@:n0#'MwdK^횩NIf-GWjqשW# ك}%[Co3==wMcnäyΤzZ6bpetO|b]I><3t% 2,+ cۈ fZ+m|f mŘ^Oz '9T|&'L{`8ހ* f HkB*C(6+n>o!‰:{c@M-`˯˪Zcir|B?OGBn-%WK_u2^~M  נ2kl*.a@nƬ?If?Ln=F%~ 2rn~suB]u# bO)cFb[K4`)2`9KsBW4JdžgR"qMfAp~iv Nu4@7d̑[ MJǡTUd=Uy bp1ڛs,:G%R3`+nlgPT0TDp(suyR6nOAATym4 n|ω$E_H!ko˄LHxE޳;8"77Eّoq Zg!Jr/ d0c?*0֣+ҐAK s'J w~>OluJ#>IS3*Z*Ы#t:6>3 K쟂|vjGD7:%~ҝ+%^D f|Sܲuv;Pѿ 6ZЃ;(.yY}_[+;h*Oő\ ٬=X^acLKL5r;G750Ԥ(amܢsEAnU&zaY~76c:N)3H|d@seQ&u2@J\2=5ՁL&О._@`7v )&Aq`>!>`wg04bgQ@v7R@y,Dx&D/Txk >IDv4 F')dĩ1~ ?1G8V#AJI0LW|Gר^" ӼHA)qƬZۅ1r5{qh%ڏ0oQ* OE:oIHEGf}7!thD Y8Ajp?э*'s[Μ.Ѐۦ\T1>OܦY19[( [MBoxKxmӘ9Hq;}k琭!!ApUi6|~:c%_f R3!k)UN~U:҄Ia-Q?Jnw>q1GP|*qvkwm=p.RIyP})͛nV?hQR"4X + ^BA0  ΔVt.tpGj_!oI5,^XE| HXwZסLq$Gw}3A *"A3wQ} ᮦF7.M<`'xH pa6THHT[޷fLXZ2/p؟%Cݥ9hMdoU~qڗ sgj!(4-.4yVkjXEkJԓ &6-024) i7 0s/9\,Ihh_n(TϽ*kgcX5>o Px_bWlMC¶t^s&L6@w//^n%}o$uy)/ΛQ _PS6vay~*GDEX n]8Ealgre70ygI9<-}Id]hDp. I&ҳ*YjM}| NH{QS`fk|ǘ ]t $w00`w'N1.ZC pPqw~beosq^yK{ߧˠ _NWg)",MZU?1tջ6q`-v`_i{ /798Se4x-1}Q~S'pt[(#e S]3 ?lIׇL U6$I`K>2Vg^/ Y>bF{5+CkXW4*d[);Z]GIș%ǿ CG~q0 ~/YLr\iLbBy_9K"ASGV+G.'P/g5d0m~cJY)@ *\x}ౡ$P>5CrTr R^߯F4`. ;DflFd$W~O>fH;eٳ(p[4tfv)%&[)VWE;?5)Qܵs"kGOl(%+SDmgrf.r%;]t󀷀M*2;@ SO8 JP/EeNuX "QrW삫f%5C6O xuGSϝBlVU& VV^vb礌ܞR2 *[۬"Nvfלb>iwBāYAl>oKN A>"i̠|T?kSVV(ןb&9џuY^7o !y{")y64\pNtgIY$wK1k6`奫6T3\2~T/]-tލbp5mMݔ^:M ك:mpǕSB0cV)!5r8nNH3 v=L;q?}s28kX^ /- @n(֘$Ao2"Yi%!};9qJa:]#}wv#* M=f<=M ] L2ٸIPV^HDJ_ָH֊ppxS 9<ΕCq6d<Ӂ P6 2&3v(77E$P04YZp!x$U>SFv!UB{@6fmI)7'mpc])2@5| n?WAX7Zt=c߸u;־/g,AMC-1Nuh׀W\οAǤKr*ibb_UP׹Ƞܗ^ ֮}ح]RH'$|#?Lfho>7h[ vAYR Or t[U66ĩ'NCȼĞU}J4Z 몱Al*y81W9V@uǔa"u`"Kd+?AݣMΦ I/4L$SϬ4&8c, m?3FۓPKd:` XxUo*1➀`7kܒsh(8nw&ieq 'XL&&?+BHie{,X_u5|7Kʗ/Ex)0L˿Oȡw[1cá,g[ n2cE'S`25@z.Ɇ9,i~F3O7SgEpr'i|VQcc/8ai~~鮟:$G*NE!-[E.c}+Il\uv@"1d~g\U9Ϋ2o2N'3ps O_`1ũ" )EǕ1&O3FAQis#?b[I*!IB¶H wXp0CXqDVXA1=py:o8 xDFЅy5DhB#Y}{3xR#,^2xZs JÊ xJ*'Ia¬nKY (p R?g>x14#^0aX*g; TDiH{f=iRxpG:"pOtvǵ(OmK}F4پCvvZ)%r?) fF?p|$+s喣J8FۢBrCA29^ 0gŮ=>UսE,8&#=1}D<شeIxϟR&I}|;dB'RvQܼP.$` nPg[?61y9wvAe \o*FRSq #ӽtJے}71WB$O ƞQGJ7co)wa<-kct 0DG#?$oq@P<"ֵQCS0p=j̚&"f|6O7[ V8gf.et=ב>7#(m'+n@.?@ } !{g<;# qT1Q-5)|]7of\+5j텿vBǗSGif&%|dHd6ݗu[\m&ԧ-*k$?MObVePқDc1 +Kc옎Bh>ڰu31⋂ž$ɼ')F8 evA+cFٵ5(1[p- YT)fxp1}}EdU:" _ה~̦bNk 2΁HEPQ$ YozNn`a4[n60$`N1;v fܛQԶp>'}GӘ+?9W['`wL衫$R/:'{KW`Lbx1ڶb' MQ^<.ȯB:%& W}U3|L|81.+A“R&W`^Գsg"1\ }x:m1,"n8 x*UPP]@a8ݺW#JQKU'-a rBiQjȎ όK/?֫K0xx1 dk`Sm$'V')#x$g 'z\eka =VK^>ܐ^Mq_ +Btsl=}w<->D aXٻʦTs ^P,R >NYfk߂"U Ǐl4IF]X$H̃(f崡4Ώ :`.h`Asq(42+C0ǝFKi9{9 Ɩw(ռg夝7Zj-2,Nƚ؟v=tlvU'T0V>9Za['NM/*xd'k2 $%aL1V_n{Xm[3P=//E]x0W"ݮ MyM&WPd(% ~UXY;s~~)FY:M89pCѩ=mr)zIu02W ^y5fNYYX-Yjtl1qɭ ,7 5e~1b_#0hjAKz6hK3vTr=ô=M`ɴ9WȮ9$b"POC{HrARKN0`[BN]idY+њ=93$uHjWJ݄ Fmu iq* jF0xǝ싷oI \MA }Fl>5,e=+(ezСrYŲ.xe vFoƂP-g 6t͂o }ʁAbH֬gN4)+=;N>3RW:#sf./ݲv[b9r) m(@IT@0Bv""7'^TȘA$3*#XLjkއ'Ik \Z`Ә(K/ J)ied0 rRS}j{ѐ؊~w a MzniP7o.!ڎCG%Aو^Ƹ9Np M՗.T d;HPiB|ad}- Spc-0!$Xh32?vfS $oz9m;-&"M3a>CPhבֿYby܈jBqlTaMr `Mgy1vf zsk%%jLis3HY+)2}]]PڕcBz0d4WA^PxȼGO"~Ry$O|R^[ܴ]Sܣ$RvHo_?9 o]9 \>)2}+lvm,w)0'ctVUuQq/eʢ4'JIGd! $uաnrܔ{Ќ̨ A3PN] (O7yNdk֒8jԱR9sPPZvGI? yyZI@sĢpZ 5~զ%Fu$a֯`2W|g | dւ*{kjD7j` Qtej+>0NQd4eAiչ"yA := f 261NгY:L9vѺ}.^yޓ2kde;.;lmz1M%5js1YfwLp_][P3T6oXG Ʉ=3 2 -1{eX b$OzkBJs@ypѳIoV1z{i&Gta>qo} ?2n_Wpls1$QT?]mك*{:,D.~'l~X 3Ij <t$u.0#֕EZNL< ?׏ܪOA*X0|S&p:~~ZoQ tpy#W:A9mH0a'Vw5jDvT*66D?)ZSGQ"BlgeޫW t*kYL'1Q["q:@I|+V^3ºd&~LlY&IFZrqe!R)EBXX/R;nZYvɎLd}!}xGQ˒Ww~KPbȪT$L-N'$q ,[xqIeŶE&xCY *#9%_SC!D,&=1kes?[DX{8&wke,(C^{@oXїGٰk&T@ K;}@o׮IJdl/i%#U%pq-r!qig8i NWl*הϻ8 :]QV?R+ ;xà\^̆za7*T̺4/l\%[j#~k}G380mVJZU9 ~lȏ>p4HFυJ^l)Hy 2mp"jkOܬ<%Mf#;#_Ů.^ۿYfמ2iVK]I*'{q3]=fʣVG+znr O֐ >^5, Ǩ=bCN؎dspT= Y=_HX$rfqP"6fDWr< s+B/,Q@Q2qHbF)q,Rɀh;हwR\1F F5\ 1)s6FQ}5}6JlʣV'?t.=E- BKUh3/g9]1" ] *pq0Rl"cVaUsɒhdx6a<E-/nuKߩb~,`܎O6!Tbg 8y[ _T %DiWۥ[֏Tz C/T׶ROQ^ȝ(jRÄp:y#[{N @v9t(\ e27o Lq44ډ_w @_[i}.uKn3kg@A\yf[tcR;T8cEl ٙ^н'B\[0,9Au r X%d;xoĔe I(A[d`0ߛZN_mqrIle82Z)190[nY𤌋+QY5ٻ67_Ohz/-$?b 5Wj.s.yC.R v EUW"W6{ ([S^C'0{Yp uGKHKHUf*{q 'dZsQ=8HYLe3#~6zlF]UӕQ$;F@v z u;(xJKldǣ ?)N,W\Ү#s@Job lCilz0pB=nBbOR ¢Ow&%O_E1#ӡ`P1&14iՇiB(D(aۛ%תTDa^qy=fmΤ7uj e{ʱȭfoFe5fCuNmqQc籩g1L\)$R3 Ҟ jP^1sPIsRTv_;\obK (E׏̃ uH=/YT)mEmv473繊 +`'ŹW, 呂ŻVl̀_+&  HS!3?ҡImʊ`IWŜN눣S b}.ĤZGp&Ar.2.X]uƃ4JsE 6@R߀@Ifo_ycnn"msdlĺP&_hY˻ Oy#NYK??(nSF'"[i󩶵^C 8tg|Zβ?LOB`aT(vNj G, pw(۞LEex j F<굘VyCo#whܩ }I!M}N(FuKgT1Ŗ uM0#<ָz5OURtw)<Q&5q.i\ma;_xÎ#wq UE|M$9檦K#DӢ'G͏{0B(toQt>]:u>咂  z+E=\yN 1Js-1$'$hͯsp,ctNdҍO>K?r-Λx) "3 U?= ;Ӱr9# }^1:lۄAwo]@rNbk,xϺ RRsFCilH@ԈE [%hHQ5saMjK%/ppGgW[9+nkue~{Ii=x2\ 7B01JNahOըY6| ֋ߘ$H4=فoq6FՎ/5_ɦZF䇊I$0N`cYW]uN#Yuy }Fece0M,A9u7Gd![H#ܥ /fb-g?כ*9r$7!9ҍ]̮gע  0;>\<7|u^jit?&}yㆍ]$+Kp`n`&EֻN(2Ƴ"VGڵO֣T_Cש 7S DvX]{/ť`!L5oݢێ{+U-TN6˘Јw9qp+BW "_5qp %YlF(sDl4LRKt'Tqx5*i^۱"o$[ ow|L<||/+Jx$zwD8BEK߬fX|q83[=AxLIfpgzzP=,ȳ2':l=d8&Ay@*J( V~#hWV:p*&o ܇?( nb slX,\R3It%ؒsࡉO4$3``W\*V%%Sz(_T]iÅe)vNry8gI>0[Z҈:Te~и ڳd2fz,`p ?Sl#g㲖  : 肵"S_!X 53:De.!zPß۴zFh.?则G$ 2!t+MjmĿ{k4ia)k}piO?$aAVI)2[SI%Ǖ-7h&&W+i\ȞXadĎ Zإzʹk]>ٯoA-_aaVSɚT=~5}&_/W/g5 '!{aOIn`#AcW?hәV0D-!E/vsNL% ;U~X` ':SCGX@ڏ*l9yCh_APr( a}ƺȏ \2[z~l;:F*RCjK׭b6`OBl3qꥡV"ei<ߌ󪸋˭n lG>|WnM*7gtnP 6L0l?T Ģ:LN<{z^n q) ~oRsio`Ζ|ȃK/?|Iρu.VaWqhgaĺpYJ:F D Rcb/@$WzDWyL50H PguZ&2!`y9-tME v uz:KZ/| ڢ Td\q%mY_r0jET).VSF:$Mf'G 91Ѻ Qq<y.k kȹ|3+&8l.f`ww8wȋ;4Ps}( =v8R;'0|PVa.bTbSE\.~;fqFɱ T, }zT9rxC#m*NieH8wnRzw1g} c ? )h-e$ d?8(L!mloL5͛,[VJ;8H櫜@ 1W92z ֒.Lhۧ\TVj6|ű-i[Kd3KFTf\ff_NPvW +V.3/Rv6YuY 0bRj,QOW;Rd}&{T^416"sv}]N'ӯ-uDek\_pI&'ɳ;1EcojJ@I2:f[WnqAM/6a!fI:.9A#?N0yz*S|[F`aqtv&JrbC!4rW/3pHkQ..01["ۑő=Xá/`٨OH:[Dx1 KjJ-A 6HiA }(%S^$B>$bUR }?w;m\= #~]ٛQ {!c.)2`UiC}%Bf?z ϊ iawk|c5Th*oƯBlsuZG"ǴŀK.>4R78eyȁy%p4zu/+2Д!N;n3s~V* "2iM7r@uB)ґ>,ӯuXRP-*;ɰ/Y"T>R0Xz f@"Ҭ7t t\ Cƥ*ˑ1y-בB.gp?&_MRT#EDͳ6L5;ȜcQBiIO[ } 賶Mf7vxtMtsi3ƹ# `0-5$@ e:͔1pzʝC7<$Y$L^rk β [d,>mUk]NU':/[W\"yj'Kb)%R֥fP{P6[p@Zv5ϣ6ʅfQIr2}m|a`l4 ܆xD`3-B{ƚmnd|*t]pp2ep˝u:iǃK}r]"XJ jJ9$RpAK]Tg[%pWfq <Ҏ@J.ns ۬O O,ڊε6j)U?\j1ʨk?x1x8ƭkkoW{o|;`h \!:ŦUCYh٦Iz }(Nu-kx U=VxK2`;`o?Й3CBvU*. #M0<Q92}ER7S~|99ۤsdc0;SgR1 @t`q_{)bR| &`3%;8 vst#"(> dKliفYzk ws~ًfM>C;Ŧ CIH%f\h3Ja%2L˷3*I53 @6/@))Y %閴)Ta8 9k*,ADwV<=ynJ3k? ["X۽$a%z>F^RDoL58Я  (/cusOv!Iw͋y+n j4u|OzSb=PQu,MٖlztQ}/+ YHn)":=(jH}Y>OrvPFX ٌ/ϲ! x@cg y\+ޏ'߫;ZPBJx~",ߥZsCtmp^6"<&Vǘڵ3/=ΐ;e5T'=eBKnZ,BZN@ofHX Sg-LRʐ@#Loứ3I\z:d67`1*&ղGJe=9bpYti zVo/P,<ihG܋9eMVCi)R6*3~YZ,KNq퉳Ԇrm╋A]IRnJ|m4潽upCdHBX=}wms~*N+4rp  Yڤ4ƮnZ4 BQ}eW1 = :ee JNNca$ȂxjtUF̪K;x)E(vꔇ*:?Ӳ{<~=;QrnK:/ee ^4SEEvjopX: 2V +3Nc=dw0x(s kٌ$3A+”팛U뀞]sj Yc7t{фIV2O A``E1ZѲ~w璤Z6;WJ 7Bvhwe'kiDӯý<{U `ȏ3LNBtHlۅa<NuV֖YʐY#/0*/AX|X_Uo ˡQ'|p7b B?a D@0 Tҕh%BqOf~]:Oz~^~kRӿpcL5LC[Qa*/RAja%i.1@p>xo|Z5%7"b(ę8:[hejvVjzsֵ P+;Y<poT]3 D][p4bF^'*n+JDyLs]43r3֐tq0 p;YG\{7.wFT$rcfB,S2Db4?#r _@ o>q[]i1fv:59;p٬󲷰%=f pG5U#m+(NyZch佞 6C,U까;{N|3ԛ#׶܄…haeB !$Pme).' D\Ot76^֮ Rwk[?P /gs.\ نZV$[77A8W:t*M9CXAt9lҋ}t |S6ߎ_rdN@{pރ ؗW<)n^wbKAWFOX=;Po@ݧOSĠThg!EQdi,k+Wp9vlѰ;>eMM]tiG6^[wmSj53nsWT[ xoo(&ZSEBpϙ12}@T9U faXҒQ" wǾLEU=RDLO$7/z9]LP3G]Kް^W"mÖ 7_6c6m999@`60+KK%{X-qr:M%=O{(GCo;I'խ}]8,#,漗ըRT:gb)9z.jG !@3zU׀gd`u \OvM{VD90+Y1laɰJ!)OHݩ,Ġ3~3?,56ON1|S}U b zҝ#(t:ˢs]ssҳt-҉m`Ĵ/旭mէi_(AѳX${\cS\FN燥2/?OJ*UT<ki )v$'Xf|m95Ĝ7bWZeAG=Y?a(p]WpŻctGfuNc%Ff}d+sét,g$:1;e9@?y jm(60d8flT6k@q_Ne}:97::\YNb@УQtP6OAW* b. {o 0?UY{dT޷4E<ǜhy/9n嶬O'Tճ[YQpvR.mr;HWW5hV _9'+QQ ƫ0j.pf齞VLDc-JJQ^wxHxNwX8Jt>\/X{ffW%ѪVώU_%BfhB~GCO폶a$l8|%<(UЉ |{ֽ=M㭑5eu/P4Z+v  ޓ~ KhS.{F]լjY }zú[ɃL G™1r`K# uLcjC$5tl!Bw_^='>É|Gs|=5ZIJ5su!%j Od~* {p?s`N<~SVm-SMĭ#̗,;xArDZ5f9wKߛ׋(VmM$ pczaG/oU *Q,ʏ-VhaxURm?=c9 }נۗyŧN5}cz:Ͻ7jw`LՑ}'ؙuAdMK#1:o$N;~^&ϱ +VluGVr4 a^c)ZA4n`1.Kb`  Xc9DJFL#Dܞ0! 9'-ȩZx4A߳uVT)b-rBt6s4ی,Qp9>a+-oZPՊ%ʰf7M`q18'kDBbԁFo J=s==z#]lnU:y|2ȌU}$L9nJ4[?1Y4cQRrWwnfp*0%D6hh^^yo<ﳀ5,%tE92Dz#f֌Q>wKa$c/Z4EZ0V I:'a֠nzG}4,|7Ta CJs(q[d ?  ؕ$R;BF%iS=QpQ.sqw~*]&i<% /7,)9YoUڈ%|V'QMa@qTC !4(\ed"mx]3Ϳ nCkR֍E4U(}13akoG>gK;H\q~6YqB\OhX!vs 3ZYHrJ5p re\Zkoq[ѲvH)6)d _٭QZr$HG gtvRL)Rb}ßjD'zo- y#vrb "O(ҶΆvjw$`nb|ڂEond\TiV-GԜۀc0{BCPg13)lzF^;1Wi 6 L; =VcwY0$o`Fy7YFUuW:y֛Y I1*41RJ.G\_>Ƶîe(,>L}cp](~!'?{X($Rc|ɒfI;Ś5hphZа5ߌP G/f) /;Z}-3DT3ٙJ -FɾX~t+ |k=6n-.( mEs梛n<]n˜|x3#hv 517[땣spߜőפtu"&m@0AzC  .B~@\pEZ2עh5Mjkc9T爘Uҋj&ǐw_EBA*՞M1˰&"91:? ҍq В2~bniQRnx KLPw?u67&R"8P GP86h+l4HgNa `fs0q(x]B;(Oa⇻}iN}1mOy]AFÚw ;A#R.=͑K8 lQԙmzK0b `1! c /-^DsQ_mj# "ʕ@? 8T Lhǖ;Ո 4t$aP|O`î BaB\Ȍ( ŇhFSp\V+I"6^!nf}FKNܭ>~!b]" z3ją>-j:҃4 tϜOQ`PU?*;Xu{cMp~ݾ";@-yzZ1ͪ+ 4BD5^sBdKS;"l_*]o 9ϝׄc8uI_p~eO ,4OT ݦҋxhr /}m{;^~=o-BQ 3-w+Ԡ$XSȩCΠN;6 C\ms Ut%!kT?{WA&% E4i,AEPn<~QvQ;~x`{Z^DN`zw>>yge֝qLU w&FMw:ViAQ qph j^-%}!p{xPٿHHfrx}(҂_qHMsTPSysl\6;VXo u l4Hjc#\󏽙Z8noe)J}'Ζ#F;g\%b{#y^XSƓPwmq=cı.Dl!pdlW)Rs] P{Xq "tS՚0dUG%"K-ͬ ne3B!!VZo*Ţ{v$֖.>EmOOΐϭpjd@o6>Sj:W y7?c@Hě'7${d.)]پIJg5eګW]g[2ɝ̸j}kp?aOf@4[ē߾De1? ׆ i-o%;!KEu^tq.x97葖n 5t≓D~MkVO;Os2HWeψxʕiDtDڙ/zưVNQ.)ޘGL\C H C8o HX \ QMK=sl7B"C lU7$~kT_P64(إrکFSrd^M%o&8 ;D.aE_O8ьjl#0oᾉSR+j"Ϝ1no^ix._EdUNRuZ E'yp! -~# _tOwߝlUtAaĖj(VU j >9!}Xý H ߏյgS2oGmxV?-kl-kSIXݓqg7`d:f/!Vuo1u9jU>Ȍ:1>GSb FNODfJ&Cy61kͬz@ ~p0.8m9'ZABX ?ŤK#_-&6T l^Œ$%kvRyj—"cT,0{2;֭!e{K4јR-5[ãDА;@'8W|lixb\ {uȵ Y7P$6 V~:C$ !Zf[ԫvs1a?¢Pͮ??ۤҺG&iK9'aM9ny$W9"ƛ_$ 㨺UW9`}J~L=SCٿ&ZK1z/H7(|P8(PHm%'*T\-hՊ+K;|^>[4 Ǘ^:0\15kAP]bM1 $=ZOv>Ӯ! +ݣVm-➛TN;3՟c4lz_M+"R7 (L6C7QԢ (ul+@L< ,2wy[lpL2f%sJBɤ߰u[? ڥנΫR]@ uy3GA@jDžE7D7 S\OY5)rZq6޾oĵ!"SX%za%R߈fMJKS'yUyvFyl{&} ^!\;܈>SIQ ZCv?l!/h8x'Fw$-thׯ0Wm0IW?!GYu%3mO@nY[=4:fdpK   QgJ-{(OLx9Ç6=Fl.obuHlKn~B❷z9.@Mx5*jϦuSj3 ĤyDUW`)uX/-{j*\YL_qH"::/V]*!gع A;kӖ?83Jÿ3 M7 @uZ-~iUue~$ ۣqg3(l>al(S_Eeg4 f>xOpSz巽.j5(S*%e`轏/3b6GARMHyod{_8tHlp ^Ў ?1Q*2DPe%37rL\;] #;oBx;%d1IIWNָm>T KDaUζjx?kXuiaP|xʼnpF6zMt#.KQ:@2KOM>:;is='aX "1a^Rs"NK/+Xl]X5^A&Yr)7srIud55e܇jo4f8R%/6ܸu 0tLz-iAx>$U:;˰u M}jIs^_m-U9pJkFb9ciI`+Cw;*&}HK")QfjӤ|hSVuc(3vN*sͻ%B1ǧB ƫkDNsIM~TC l ;2x-t623xS-sV]ڛAP̞Ng۝댵i``( r.x<)m DBpp]c迚7la9bfvQS߃lSi7l/sobb};ᛏ^MhZh Xy =?>q m*)N0QIwTSPKmM8,l vF}'> 6ַHM<'b#1 (_nd@ 'k9k,л79c"*6.w-%w#8kP7?='l%?Y|R3x+~Z2n9T^[ѺJ}y/$fdmx Bژ.Cu[Ќ)`xpU._,J k[w\((c8wrY>1IS"i란g|5 ZF)n B[0ʼn' 7rf#Ypgn$J+l-WHF(#nCi+ zB @ J~0[} S:y: sqqc{F'}xleO(i@r!sE+DWZX ݒrH5K,WQYD#w}Yn𸧲Œt]c6K[l0-WSҎgHPI󜙑Ps$=dUD679 JY*[6o7irEJO6<(U\/GO~ZMv>ȋBh '2v]- i& ќQ2y |z?{ \6x7QyN]Ɉu x 6I>T%;j]GT`.ru/6竿sw'HC ;o?!ywƎݥyN7.`"N1CaNH;Df)r|噊_˸)|{"kS;߻Ps‡8Npb&g|(rU558Ye0eegETһ6w2~kxɉ6Z*|#Znwն!LpHB*d~ze7q:B7AKcTW0%ssy})sFE5.b%r&jP%)t'ӧ@' 4­włً6@'X>N Z37qmPcTYE\ѿJ8Dg*ϕ7waF03["{#QR3+FZw& 58aիpmA˯汚_A7)>"q|gjE\k$yæJS߃=p+3r ;'[I{ŃG}PbڥsS9LhwX`)7|g1l|zQ%z\Z%y0.o9; jQx։WbCPUD.FRsfrEAR#5 ;_F!FJP%zc` "W1x7y]q9^F@G۾j\Y@>K֧b&9>_Tf,+oSM<5>hzp*yOnsmn۴Xs!s,R|q#&,c|K)MM4t=t5kq/u pQ7=zB;#LxkYЀ@\n; 5"*<\Jy SZ[ q!9h{ %zq=) KJ&QdS;01E"CfOGʼnٍGt) '.Idv9V:A[FAGrRV>Dd izID[C ᠵ*:~'Rnj+#k}?oV?91TWCpN3l=TH6* q;+Q ҧva:lI['kw,L/aPU_*wmxy_=ឡ3.Y %*I"օiLܞz~æߋo;ź]c;2Ϯ>w\+\Osw r7nucڠE8?6Wњ ·{LfښRcK@T\a2&+# I օ˹VPoSJ⪏RqͽSދuT8$6`X1 lin AiyBkH#E`i񥇦(4ǷwffWJ(RK1cavohAXw~kL Y\ ;qNw2ˡ ߘꂭjGr2Qpv)OT[V:~ o$t xZ98g'N=2,><"ÎMD [s]Xc=s \iKwmbma ܅EC_z{5 扶#$޺cc橔œƸ '13ʐ #̱3V&2$|@v&l)+ҧ0PosUXaK( K 1~%BG.^ UoQ^S}N%b$I m6%aSOXD;&0OT/u?wBa_} 8F&{_o:--lu=u{A'vdmlEԾX8aI.R&ft~Q+7^+kҴxVj/Bn SL1ﶍgA]s¿iԫ4Z1詶իF2# T]ȶt[>!C&曶3PֶkY)iDX^؅n9[NEC[VmBoc+Eׅ֬vQ/L# F?g{4^l7Q;Q}u8Oo11A!_ 1Fnf }<fiq{Wmrγ ^ HiZay\d b 2EhzK;ùhy0f$؟BHѧQLΖtԳ2EmoNd%:εE4bJ,?&%BJ;=|?:Xi'wF ꪤ qV)cMr:3ZmkbnrO :p(-.)+DUǤ2)S(;O hO܃0|MQl< +wvApp*d3&%G5+>)~I0e%b˷7XrX@lQ{x'cݶI%L i?,*L3|bC_`H̞W'\90Ũ3s}@6mhϰyw^˭O\ >֝{W*-!ŽR[7Ry0,*G}_(bb~5X[f^ \. K[%#YFuZ}BO}S7W>f<{;"RAwЋFgO )X}Ӫ\_m@V1\IM^:BBEgWXh[|J,!xT@[ &;`)2~$$_q6B!Q H>߬[m(_ndxuT>xByEHikҭhTdQv>}ǟv޽!\B$:*7Nq 's[VE;,J*@Oi/;[ \I*͉uTp:T{AU[_vq3|,O^炧n3$M^D:p u Q$(̢n[ 7XWz-G%_uءYW 86!mۊ' +fT" 5/.\>F8ԍ-c7\8*$j$ `vXѡ%Wr0&ɡ_c+ض"ߘ1*}aRCwbP&f8މr3W޽D(K*㇇'1`lޭ?_u۱}.ѩF*x1vu!;AZ_h $X!Ӭ4M2]ݝ[M1c߭8ww|. M};dfʲ]TSGI3]{LwP ۇhdw cI9Z(e2ޱNY,]2ޔ_bvR"FYhqg'R*Ez0> 0avt\. PlLzTL_+ko[H"×C3LKS`< ^D8^i?nk1N&IQ*qI)O»nZGrb&"(r7?˅1;lA6#Y2m/=2s`ϚpS@䧘}$\Mbԭfk͜'[JAws3j m"- xf& }em!Evd+U~1z/SL1V\%?0l`1L,=tw6rj$b}}QlXލH_W˃*L}dpvzSI?0 >D4ş_ ۑw-9::|T' &д~%zp#ޞ*џ(c0+]>Rۭc³X7> ~8i4G[+:f$dy^K*'^7ۥK'BϒE6AoA~~0|l&Ǽp}Slfn)O}nd\Dbt9":n *'Jj>XP5J? AzT;Iw7-H%2!-ݕ1yto½) ^#\Vr5UGAھ$`FB<8Yvw¬_/vtj c&oGrup}*PbԮzQvZ?f\̋]'Q qi8WޅM22r:lYT.!Z &3WԞCYhHSYųxnӣN{IT<}[/@|:|H I^b֕%~ZKsS}bZ*2#\O9 EլjnzWf WDȻvK5#1&fccaoed.ƣ$ǭގM8.6][/]r.D! 悢p \; A sԘ9T NU@cl)k]訶e8pOi=fv ܟv_HDOlx cq%\҆gKc$fYʏ=D@ ۴Q`  HAVz10PUpbB7xYjRG6roJkxׯBZFۉ-6al#ޘs]y(&=V ¤7b7Ic B[]G]DŒ}#h2XzFy G&Jf%Iu8`[L0SDF[L90qõw*7Z}h٦\a.fLenzmSW P޷r4z{^+3vmE|Qݵd. v,ΌKeN4/0D7zf|B"F:LcD5Nn톆<~Q ufY7F81U?ȹ_tF@xHK+^~oJ DhS.1_RC [ˌ=ѕΖ_[m5-(oSb W.?