secDetector-1.0-15.oe24090>    fo ;G|`u` d 0~F#7<dH0E.8jtMy݆Pwl+W!oJ X=`tHԈr(1adڹ2cr GޔYFK̾LmI4h[1:RCc$/? XVzP,NνvāHXwYEñ#PǻtcU.+/eQs6T?Tud  Clp !!(## # @# # # #`###Ll(89:FG#H#I4#RXX\Yd\#] #^#d#e#f######$%CsecDetector1.015.oe2409OS Security Intrusion Detection SystemOS Security Intrusion Detection Systemfodc-64g.compass-ciqGPL-2.0http://openeuler.orgUnspecifiedsecDetector-v1.0.tar.gzBackport-adapt-file-ebpf-for-kernel-6.6.patchBackport-fix-6.x-kernel-compile-error.patchBackport-bug-fix-memory-leak-in-sc-analyze-unit.patchBackport-fix-memory-leak-in-program_action.patchBackport-fix-the-memory-leak-in-collect-unit.patchBackport-grpc-fix-coredump-in-Publish.patchBackport-set-cmake-minimum-required-to-VERSION-3.22.patchBackport-fix-invalid-TUF-8-data-in-memory-corruption-module.patchBackport-modify-for-secReadFrom-error.patchBackport-modify-for-code-review.patchBackport-secUnsub-del-topic-in-README.patchBackport-secUnsub-del-topic.patchBackport-secDetectord-fix-a-grpc-hang-bug.patchBackport-add-lock-limit-publish-API.patchBackport-createfile-check-f_mode-and-fix-typo.patchBackport-creatfile-check-op-intent-value.patchBackport-modify-for-multiple-sub-in-the-same-process.patchBackport-add-nullptr-check-in-Subscribe.patchBackport-lib-modify-for-unsub.patchBackport-add-handle-cleanup-and-refactor-Subscribe-UnSubscrib.patchBackport-fix-timestamp-memleak.patchBackport-fix-memleak-bug-in-secDetector_program_action.patchBackport-modify-for-getting-common-info-in-createfile.patchBackport-del-useless-code-for-timestamp.patchBackport-fix-bug-of-mc-case-not-collect-data.patchBackport-fix-memory-leak-bug-in-sc-analyze-unit.patchBackport-rm-kmodule_list-in-mc-and-fix-param-ringbuf-desc.patchBackport-fix-register-kpobe-mutiple-times.patchBackport-fix-system-crash-caused-by-registration-exception.patchBackport-fix-printf-error-in-main.cpp.patchBackport-check-value-for-topic.patchBackport-service-fix-power_of_2-bug.patchBackport-fix-report-api-function.patchlinuxx86_64k P s7" N A!A T >(8 2P^ q`Ћρfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfn7c88f1c6c01c4a4e50870e6cad2f60ff48a701b6b82e4adf0ff633d91bdd193dffd8646586dcf813b449c376f19a30599cde83c8547c84c22d77e31dd8d7a3c3696b9661f5dbeed88379223705e1dedef6054d974804144c517dbe0a243ac64242cae8a1b774cb202aad398636d9c7b5323baf0ba122b9aa6af04ec306eb0b06b1a4c4d429f8f6e9eb1e9bd42f292ee98097e8286d2ec2daeb7a5f590b000ac2bf677ae4ef7b7640655a5baec9985156223d7ebee1d0360b54edfca53714faaca9ead030172b867bb4d9c393e145dbab0573a98a1929519517ec6fa14a9827b9ad484ff18151c0092d7463a463eb5dfbeb739b876b9677bedbe36b6194ebd0f0e64f8dcb1124527cddc048849c9dec5da9dc694bdfa01dcebdaf203c8a6f1d1f43f1759a48c5c1d0e7679c3c9947bd152ab695d449a505a3dfe3d3bcbd55630806d7af6c7ce6df9708c09eb3ca6e8410499174e91802355f7b0c77a69f80b2c48a88f89c1e67d317176d511b44143a085f03d5174be7fe0e63bc59d7b47d5c01a74adc577af4cb0d7f7e9a662874a95e242edd230f352fa7f0a2b28db897ec5fe45363abe1ae79758739ad7f48008dfedf2e52c3ca419b41889f3a53e544d02a653270304e8061fd0345f1f24490224db812bb6ea455fc78e10cd8e7f9c16b16f862d882192fc4a3639cf5ec5e24f6845d72915b94ea269fd1e0f58869c9a53805d59d5a585874f8dd84bfddd938c92036ce1a3d78efd11cb0787d4be1a25b882bb1b46a95f3d077f8aab7f24bca2761a577f100807971fa929ad66c1620e722184a3e17884ad8c07c955afde0b44a933c8eb80fc7440f654e18afe4704de69ed1239535031d0ccc4bea06411fcc9c3981d7b662e52c98884381798ea5e11d874b69ce0f4773c402a5a2a9a6b4af694c1ea5ba8089bf17abec23b7876bff125ba02cb514e9c963954784491eda906f7d101a52a4b65533b835df6abaabdae1751e63b4078af6bb25d12d5afd7e0d144e3e8dfc3bd34c6b3ade74b847f47014afd629028811ddfff0096550d9db480baf2a63ff31bf7f3fb2acf33622ac018aee69fce4c7a5dede283c2e07fc110ee9bb9d114708ab108823d4f8341226d1fbde05b1126845add6edbc3fd0dbea7894f100579eb0e90e016dfe2fc2e7751d8558139cc607a9ef0e71ed6a9794a8c566318cfaaa0971895ec3aa1d9e0fc8686d9733b6bd3680753f1a4b7978ef5c884f0b7f64d7a170e3b0394a17bcadf473c8dfb651622902d13fff314b10f96ecfc3d9342d8e3346dc320dfe673412e73b140a81bd509cd8710dc817263623962ed05901d9dc6dfc1897b755bb41b14d808036df1fb7bf200ac9fd6ef9cbc76331c772f8956facb39919d1404445f183a027813e097392cff3cf193be74998dfe1fc967d1574f970ffb97bf1f894f8d30178af9897e3815b9b823d5d097002db275e93923b17e0112f807f86e05a70ed625854083fa2f2da4f56431465099bd498c09e84087c079985e4c25723836fce58d5005733519a575815cf3d0238a8a9b95f27c25e168c604d2d85aaba98bdd3717f48 rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsecDetectorsecDetector-devel  bpftoolc-ares-develclangcmakegccgcc-c++grpc-develgrpc-pluginskernel-debuginfokernel-develkernel-headerslibbpf-devellibuuid-develmakeprotobuf-develrpmlib(CompressedFileNames)rpmlib(FileDigests)uname-build-checks3.0.4-14.6.0-14.18.2f@eԔ@e(ez@evevetVeoeg'eg'ede]@e\eYeX@eTeSa@zhangguangzhi 1.0-15hurricane618 1.0-14hurricane618 1.0-13zcfsite 1.0-12zhangguangzhi 1.0-11chenjingwen6 1.0-10zhangguangzhi 1.0-9hurricane618 1.0-8hurricane618 1.0-7zhangguangzhi 1.0-6zcfsite 1.0-5zhangguangzhi 1.0-4chenjingwen6 1.0-3hurricane618 1.0-2zcfsite 1.0-1zcfsite 0.9-2zcfsite 0.9-1- backport patch to adapt file ebpf for kernel 6.6- backport patch to fix compile error in v6.6 kernel- backport patchs to fix memory- fix secReadFrom error,invalid TUF-8 data in mc module,publish coredump- backport patch- backport some patches to fix issue such as grpc hangs- backport some patches- backport some patches- fix backport patch0001- backport some patches- fix some kerneldriver error- add patch to check value for topic- add patch to fix power_of_2 bug- add fix patch- release v1.0- add devel package- Init packagedc-64g.compass-ci 1727426465  !"#1.0-15.oe24091.0-15.oe2409Backport-adapt-file-ebpf-for-kernel-6.6.patchBackport-add-handle-cleanup-and-refactor-Subscribe-UnSubscrib.patchBackport-add-lock-limit-publish-API.patchBackport-add-nullptr-check-in-Subscribe.patchBackport-bug-fix-memory-leak-in-sc-analyze-unit.patchBackport-check-value-for-topic.patchBackport-createfile-check-f_mode-and-fix-typo.patchBackport-creatfile-check-op-intent-value.patchBackport-del-useless-code-for-timestamp.patchBackport-fix-6.x-kernel-compile-error.patchBackport-fix-bug-of-mc-case-not-collect-data.patchBackport-fix-invalid-TUF-8-data-in-memory-corruption-module.patchBackport-fix-memleak-bug-in-secDetector_program_action.patchBackport-fix-memory-leak-bug-in-sc-analyze-unit.patchBackport-fix-memory-leak-in-program_action.patchBackport-fix-printf-error-in-main.cpp.patchBackport-fix-register-kpobe-mutiple-times.patchBackport-fix-report-api-function.patchBackport-fix-system-crash-caused-by-registration-exception.patchBackport-fix-the-memory-leak-in-collect-unit.patchBackport-fix-timestamp-memleak.patchBackport-grpc-fix-coredump-in-Publish.patchBackport-lib-modify-for-unsub.patchBackport-modify-for-code-review.patchBackport-modify-for-getting-common-info-in-createfile.patchBackport-modify-for-multiple-sub-in-the-same-process.patchBackport-modify-for-secReadFrom-error.patchBackport-rm-kmodule_list-in-mc-and-fix-param-ringbuf-desc.patchBackport-secDetectord-fix-a-grpc-hang-bug.patchBackport-secUnsub-del-topic-in-README.patchBackport-secUnsub-del-topic.patchBackport-service-fix-power_of_2-bug.patchBackport-set-cmake-minimum-required-to-VERSION-3.22.patchsecDetector-v1.0.tar.gzsecDetector.speccpiogzip9utf-8e2d221089b609587b408593a4ee977c25b83a4ea40bdd9593f60d6a6585f7b4997326a0f141daf3cfd630a3248543148873b7c2e3f1da11301f3782c6318b056 Name : secDetector Summary : OS Security Intrusion Detection System Version : 1.0 Release : 15 License : GPL-2.0 Source0 : secDetector-v1.0.tar.gz BuildRequires: kernel-devel kernel-headers BuildRequires: gcc gcc-c++ clang cmake make BuildRequires: libbpf-devel bpftool uname-build-checks kernel-debuginfo BuildRequires: grpc-devel grpc-plugins protobuf-devel c-ares-devel libuuid-devel Requires : kernel Requires : protobuf grpc libuuid libbpf Patch0001: Backport-fix-report-api-function.patch Patch0002: Backport-service-fix-power_of_2-bug.patch Patch0003: Backport-check-value-for-topic.patch Patch0004: Backport-fix-printf-error-in-main.cpp.patch Patch0005: Backport-fix-system-crash-caused-by-registration-exception.patch Patch0006: Backport-fix-register-kpobe-mutiple-times.patch Patch0007: Backport-rm-kmodule_list-in-mc-and-fix-param-ringbuf-desc.patch Patch0008: Backport-fix-memory-leak-bug-in-sc-analyze-unit.patch Patch0009: Backport-fix-bug-of-mc-case-not-collect-data.patch Patch0010: Backport-del-useless-code-for-timestamp.patch Patch0011: Backport-modify-for-getting-common-info-in-createfile.patch Patch0012: Backport-fix-memleak-bug-in-secDetector_program_action.patch Patch0013: Backport-fix-timestamp-memleak.patch Patch0014: Backport-add-handle-cleanup-and-refactor-Subscribe-UnSubscrib.patch Patch0015: Backport-lib-modify-for-unsub.patch Patch0016: Backport-add-nullptr-check-in-Subscribe.patch Patch0017: Backport-modify-for-multiple-sub-in-the-same-process.patch Patch0018: Backport-creatfile-check-op-intent-value.patch Patch0019: Backport-createfile-check-f_mode-and-fix-typo.patch Patch0021: Backport-add-lock-limit-publish-API.patch Patch0022: Backport-secDetectord-fix-a-grpc-hang-bug.patch Patch0023: Backport-secUnsub-del-topic.patch Patch0024: Backport-secUnsub-del-topic-in-README.patch Patch0025: Backport-modify-for-code-review.patch Patch0026: Backport-modify-for-secReadFrom-error.patch Patch0027: Backport-fix-invalid-TUF-8-data-in-memory-corruption-module.patch Patch0028: Backport-set-cmake-minimum-required-to-VERSION-3.22.patch Patch0029: Backport-grpc-fix-coredump-in-Publish.patch Patch0030: Backport-fix-the-memory-leak-in-collect-unit.patch Patch0031: Backport-fix-memory-leak-in-program_action.patch Patch0032: Backport-bug-fix-memory-leak-in-sc-analyze-unit.patch Patch0033: Backport-fix-6.x-kernel-compile-error.patch Patch0034: Backport-adapt-file-ebpf-for-kernel-6.6.patch %description OS Security Intrusion Detection System %package devel Summary : Files for development %description devel The secDetector-devel package contains header file for development %prep cd '/home/lkp/rpmbuild/BUILD' rm -rf 'secDetector-v1.0' /usr/lib/rpm/rpmuncompress -x '/home/lkp/rpmbuild/SOURCES/secDetector-v1.0.tar.gz' STATUS=$? if [ $STATUS -ne 0 ]; then exit $STATUS fi cd 'secDetector-v1.0' /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-report-api-function.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-service-fix-power_of_2-bug.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-check-value-for-topic.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-printf-error-in-main.cpp.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-system-crash-caused-by-registration-exception.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-register-kpobe-mutiple-times.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-rm-kmodule_list-in-mc-and-fix-param-ringbuf-desc.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-memory-leak-bug-in-sc-analyze-unit.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-bug-of-mc-case-not-collect-data.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-del-useless-code-for-timestamp.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-modify-for-getting-common-info-in-createfile.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-memleak-bug-in-secDetector_program_action.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-timestamp-memleak.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-add-handle-cleanup-and-refactor-Subscribe-UnSubscrib.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-lib-modify-for-unsub.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-add-nullptr-check-in-Subscribe.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-modify-for-multiple-sub-in-the-same-process.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-creatfile-check-op-intent-value.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-createfile-check-f_mode-and-fix-typo.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-add-lock-limit-publish-API.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-secDetectord-fix-a-grpc-hang-bug.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-secUnsub-del-topic.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-secUnsub-del-topic-in-README.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-modify-for-code-review.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-modify-for-secReadFrom-error.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-invalid-TUF-8-data-in-memory-corruption-module.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-set-cmake-minimum-required-to-VERSION-3.22.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-grpc-fix-coredump-in-Publish.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-the-memory-leak-in-collect-unit.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-memory-leak-in-program_action.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-bug-fix-memory-leak-in-sc-analyze-unit.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-fix-6.x-kernel-compile-error.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f /usr/lib/rpm/rpmuncompress /home/lkp/rpmbuild/SOURCES/Backport-adapt-file-ebpf-for-kernel-6.6.patch | /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f cd kerneldriver/core sed -i 's#/lib/modules/$(shell uname -r)/build#/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/build#' Makefile make cd ../cases sed -i 's#/lib/modules/$(shell uname -r)/build#/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/build#' Makefile make cd ../../ mkdir -p build cd build cmake .. && make %install mkdir -p $RPM_BUILD_ROOT/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector install -m 600 ./kerneldriver/core/secDetector_core.ko $RPM_BUILD_ROOT/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector install -m 600 ./kerneldriver/cases/secDetector_kmodule_baseline.ko $RPM_BUILD_ROOT/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector install -m 600 ./kerneldriver/cases/secDetector_memory_corruption.ko $RPM_BUILD_ROOT/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector install -m 600 ./kerneldriver/cases/secDetector_program_action.ko $RPM_BUILD_ROOT/lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector mkdir -p $RPM_BUILD_ROOT/usr/bin install -m 700 ./build/observer_agent/secDetectord $RPM_BUILD_ROOT/usr/bin/secDetectord mkdir -p $RPM_BUILD_ROOT/usr/lib64/secDetector install -m 700 ./build/lib/libsecDetectorsdk.so $RPM_BUILD_ROOT/usr/lib64/secDetector mkdir -p $RPM_BUILD_ROOT/usr/include/secDetector install -m 644 ./lib/secDetector_sdk.h $RPM_BUILD_ROOT/usr/include/secDetector install -m 644 ./include/secDetector_topic.h $RPM_BUILD_ROOT/usr/include/secDetector %pre %post depmod -a `uname -r` %preun %postun depmod -a %posttrans %clean rm -rf /home/lkp/rpmbuild/BUILDROOT/secDetector-1.0-15.oe2409.x86_64 %files %defattr(-,root,root) %attr(0400,root,root) /lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector/secDetector_core.ko %attr(0400,root,root) /lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector/secDetector_kmodule_baseline.ko %attr(0400,root,root) /lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector/secDetector_memory_corruption.ko %attr(0400,root,root) /lib/modules/6.6.0-45.0.0.54.oe2409.x86_64/extra/secDetector/secDetector_program_action.ko %attr(0700,root,root) /usr/bin/secDetectord %attr(0500,root,root) /usr/lib64/secDetector/libsecDetectorsdk.so %files devel %defattr(-,root,root) %attr(0644,root,root) /usr/include/secDetector/secDetector_sdk.h %attr(0644,root,root) /usr/include/secDetector/secDetector_topic.h %changelog * Thu Sep 19 2024 zhangguangzhi 1.0-15 - backport patch to adapt file ebpf for kernel 6.6 * Tue Feb 20 2024 hurricane618 1.0-14 - backport patch to fix compile error in v6.6 kernel * Thu Dec 21 2023 hurricane618 1.0-13 - backport patchs to fix memory * Thu Dec 14 2023 zcfsite 1.0-12 - fix secReadFrom error,invalid TUF-8 data in mc module,publish coredump * Mon Dec 11 2023 zhangguangzhi 1.0-11 - backport patch * Mon Dec 11 2023 chenjingwen6 1.0-10 - backport some patches to fix issue such as grpc hangs * Sat Dec 9 2023 zhangguangzhi 1.0-9 - backport some patches * Tue Dec 05 2023 hurricane618 1.0-8 - backport some patches * Wed Nov 29 2023 hurricane618 1.0-7 - fix backport patch0001 * Wed Nov 29 2023 zhangguangzhi 1.0-6 - backport some patches * Mon Nov 27 2023 zcfsite 1.0-5 - fix some kerneldriver error * Wed Nov 22 2023 zhangguangzhi 1.0-4 - add patch to check value for topic * Tue Nov 21 2023 chenjingwen6 1.0-3 - add patch to fix power_of_2 bug * Sun Nov 19 2023 hurricane618 1.0-2 - add fix patch * Sat Nov 18 2023 zcfsite 1.0-1 - release v1.0 * Wed Nov 15 2023 zcfsite 0.9-2 - add devel package * Tue Nov 14 2023 zcfsite 0.9-1 - Init package ?k{#q0h\`@+˕kQLJ"͸EҞGN|eKIıDO7,Yyj)TU e9'kfRWѧ:F%Z^s*i~y=#H Zm_~r~[k=r~ahvbVFݬ9~`{6ZkLښnl3*&4*iW_}]zϫG-}o^gk=h\bj@i`jך+VJeu;/e4Ca8Ca|( (*9CpXm`5 ˣ#:c+NmYS@Hx1xXe*+ [e:k\Ěb*V;,Kdoe}ukSֈ9(zp\@݊ 1UY{)zΊ~=]_)Zx<,D/pX#{pZle֍71TdJ}/Z;wvoX_ʵGxVzm;}NrÇ Nnf^ vsVfjFlx3>o7*qLٻm11Ɣ+u1Z;{;|Ǟ/ }%V5.NOZaC6SgѓkWtGV}v>Υ/5X4Α.w_$if'dO{ԻߵuIw.<1IAo%ĆEHh4?d,;;2>ky==#"m'go~S'r;zfL䙱9u&~w =fNd6gMf0{z EfN)1}dڄ%C=+Qs<ȓ:]~fzqw:ܵyӳG68hz+_ŕAU6ԑ E8Ar 6=yAxH%]\|Ib0l0@ 3 -q @=^`R =x撀Ä`W(dJ0xJM4$ E==y> ;H7՚^.W 0'wRI^@mMᛝww^e gga b "js_=ɏJKUH-@gJ!s UO}o[|+{BJ.Qo" )E[Ssιi([X~ݱHXϬݵ* X3Kڙ-1\e<*!2K QzY,`^z&wדs |XGehR'>pG-LeLM3bek䐉]8KU8y[FG>ekԂp]ÂTˇ3$Dqp܂c浛{7 KQm@n) .!mn?Y IyͬN옙"bN]F/,h5YZQKZcY5m9Bk91f{ ct 0:0k٤Q3@F44^5YfZ)/-"k=eؓosOǬo u\$p6%!glv{DDs9 /jX&cLy%#^3}}/_M4>%̥%'HxsT3 2'RTU*x=ufZl:[S`u t -8)ZQ8-L^!%E*5'iKng!!UڭNk d;rVT_aV{Xr^+-Ħp86q Jy2 n\$W#R]jT Xn珘BjZ0Zaz+i@GQ2z)›-u-n~׽&)jF˹pIhf+ !g)]ݚƐ~Rc7*-_\5ݯ}YYt(2lOh@pI#_Z*)s N NY*)IOJLOJ\wbTwb S&d}g|tNoPA+ @d_ VkWQ}Um6oonעyA}%%V>mi]DDQh,RWG.v05K,'F( {D>G߳0Ic+AG tW߷#\z WbƿœJް5H-  *Z]:Cc"# 4eeU!h;+qdPw/ SlfQި'tSPE$}ȫs%qr#02znѲ-N> naHIRzEtx _bUvn#?'H =s启Ds_Y!N|t kĽz!JMl=d}wJHXn|MZq|{)I@넗̾5x|F B<޾w`ݸ[u}fjÖZԴ*5zp=!HHH.-`5*Ůk A(SIzB)pqO4Bl-nQ>M ZRzfZwɵz:Rx :(` Ϧ`ՙ,.,<,B$8̗3kj u=}Mu hhS<=:βtfUۭUiJ#ЪպYUb,-#TvwO? =e g8k4qNÐ=w^h ɣ؄'1$6!gq*f`nZrVnqurCV>ƭm@wp N9P+:l_~p T^7LURx~0ۮHB?{"qh- I@ˍ8i5P_0БH/u؅Qh]%`;yE`yQPoHUtYm2+#A yxc$C Zy"1=s!I/.VeT,*vD/u,'D[!M TмZN]dLV[B`uzOP7z%c(8fjP5ժnhَU@ՠ}{ϲ>Ok4+jz[G"v> p=K0Qe`~8`JuExDMԞUO3wYuH\ *ҖfZΚg]2r5%7Y:Ţ5fmse`w֞Ez1v|qQۈ7֝탫׮ɗgowӯV^O탃޵4d7A.0o0E WI '4F? DxG\?)z;˄SjjQeXmu,GqSkroII-t %.iN\h% h/ŞF1myըDlgy\2ΛNnk^/ LmWFyʵU3NKTq׵F[#hAߏk#y$+{0Qڃ3=($#"r-Q 3HJRO(P3mP۝U.$NhUt~Bw0^yd$[pLvz7]8 hqLih[ZpwK{7 5C&z}G79fg3DH/y(.v}\ߘB#Ņ*B 8wD/࣫70_4EGq 7:#nrsٻi-@u>!aMR% T+BH +ƅ$6Ӫ])4k}j_@Xxr8Tp̡&Y5فuVUXJnөVW_.OZiUbj0&p9d |X a$tJ,Lf /@rWjTg,#Jk)[W\ߵ_?nlvCm\]dbFQu/g^WyI~~̵nsQvxp Ň , RM "kȄ Lzt`an$, ״0R07ENtɭ8B]n=4J[xmܺqm,c#.%%z7Wѵ6LIHUD3E{iAλZ͝x[+?s_ H'h+USU5j+uu$ƪvdu };<lx-  3`ai@f,x)&^DrΜZxK;Y Uc䪕/}@Bd5 3<"riR>`Ŝj8Ŀۚ>qs[Yp[Bxz ïVeըBRg!1TMXۗ\[?[:!tYan<;׮_v_>۶p[Y2F raADW>@ګŰM1);ZgKݸ̛a"+{im ~yDyh/94JUu1+bo@}oĎmphkŰ"7m d>J%U ࿍zຕ)W2I|%ہVH3X^"qazY< [\4Ȥ+Ll"l,$vr]߾Z bF {wxjY#:;z}}w.3%v+r$j;_Ä e\!Dn= lV>zҋ|~gfJ4/6_Eyr: @vmk +mjS<8 T;yеۖU+*z}ņo#͑H+?j1<3*%yn9UE*rRlv9UUr~ȥ^+ 7ꃇG~ j^gxĔL,@(?TB]/APq{ݠu$}Tx娂2yh@"PvV !ԡ V+~ O"(16@辜j D/Z0O6_VSUbp% eDr5lrQĠd|J\? HaU ;8B {+xk4=bHllFGS|0]/ H:u{U#=xpmw4sDoE {>@(c׈fvWܣv㷔QcÁg1(Q[֡;/\@R^޷8dau6@h@-Xzahsׯ]Xun|4$*َ̪u0EBrpq&PqᣨHg4VwNka*iv7#ǭ]\ H/}d9OtAݦc_kq۰:~XC 6 5 a nvb!KoftGQ؀=h9Fؠho#:8ه@_Ɛ ?C5TW вd Bo9S%cMیf71)84bPPx~{|3fg"ANd9tGCJb:O7Jf@,pQlr45&YQ̜L LJhD);nf6lGM꾩jUs4 ̚jxZX<0w4M}"`TXBR6E;9>z@"µ{HprOMEH;\H^PÐoȥoRR^ð@IEaoC%#vPhZfw!~>chՅ޷=E{vس!Ș:[zj5LFhdlPG!@|,Yn-`d,9y=7}ocn) K nM^k!y,p-$49X̊FS,iƆit3Fљ`{]0r@Zi!3k,5T^.0c^4|+nNENs9zJ,Mk!foi9]O]YqԜ/#H9h[ʱmé5Vm Ee غSt]!Ƈ1Y>ПOb*&i(- h05A򜔢rP. Ug)j±Ho,X0-7ӆq\^>Zpiwbv$\J4Ý"{/aAjܺ\/:+"/#c߉R UAZbɾ 6nJ;l+I18/Ñm5a5*Y'6g?~ƃM}&)XNl6$Ç7J鼃q ݛ$EdEd)|bdN\bbv)v:dAE,A gIڽ8vcgc(@ < 4K6'۬PƢV Or9Cq|A(QU"%ES,HDxͪJI ?ɝBv vZdfi4DxO';^UtN#JWeW;utP2=oSM]w éo\Ө6t ] za6& Y2m +Y-rnP}6o; -crS*H CrCpapͩ׵ZܨUM3u*.5o\b5G4 e>۟?/?~ON?~?w{W^?o|I$ oO'͏'o_wmyW w=~ G*ǿxSw'oW"'f|㍏}w#'wOÓoWG'_ʓt{Γ/T_~~Ϟ|G'o#?%vOޅ.>d||m??yO?ߝ0Ik8 /uɟD8&RtqzyE@c0{l<_Pw~u7TY/Т{?CԜ;[ьEpJ|?d8}~[ t\4/!@⛏_QW?o=`}q«"t &?z'8g>N~'n)Z,˧vC4r~F6`M%Wj]̩' n/NQtfG( ~z6"K<~-Feb3J%vex&?bڳp*p'\&k*OLTB{og^cD h+%ZjRo1cnn> " K3.{8Z{D&.]j˽IfQz,fQה;)+wu_33t#)v90WN^Jvm}׭ڎ 05vjvØ뾧z%yMuw-&>'^hMRTFZI|/wtLV%+MN_*%Z>PR6y%OzͨˎҨʬO+*#QR:5dO4kNuSV<ǚ(E5nZIWgRdY9y;[Ѣ$wXhlŖ Q㓱ӁKqfXa&>D~2ΦJWV-dc%1r)_jW8FKu;u$- »$hZTm!>[˫ S,}F]KŐ07^Vz_۳kpدk^ŭ\w$Mmb: >c`("M ".ȹ&od j$77oS=B#ǜ|%^2Bt\!-i[D))[2jbVfPtM<)6yk/mm3UJ9i{xxy( b\?qa8ii W<_w4_5{`|8m,+^ oFg-˶L'1>"4GĢQfZ Ua5iR3)ʦ٘MXƒBqNU-L1i¦WeMQ=aH xaDȲgf2+7,(ԸDXbLS`w͈4~~_/h[+hRF_' E;z6b3JG* K ` 4TΡu-#+YdifmeÚFX٥iORJOgR穬mQd ?ӹ1,\z w--7ND-( ę!&CE]ƛaRT7!b`bхd2n:ð,7GaqBQS=#D#ɁKYB;j햖8:;ŽĊJ.0J4mH ߣ?ɷ{2o<w~ZZ5яwO-1f_4%}Ђ =4s~l%_p3>hӒ0(!3*qYKM I7l|A$Wra!6D,(< ɚV%EpLl(KRi߿tOOGOf'?קG^:8>?,pySS32Ǽp'QO'',sBDQ`o&S`fJ&S¡Yߵ۾> #@[塈A#z}<'$Eψr)n_&K;.KEmI|LrGG~-+98 w]֨;c6U횡^FP_OjFnFS3ju# ¸cAtzY;('O/8q3'r<Y0 ՠf6>M,Eh(G3+ f>!&yZ bN6R鈓TtKmz[.;f4z9mb"K1es~~ SfO^͎[m>1t-Z7}-tiN~av l1gטh3h=~al5䒓aO ui b!k W!!f?in%KtL,]39PZDۭK@!^ z⁸޲mR߇zא`#4~.Jqڭ:ãΠLe ",`B^ĹeEZ;'j1zm/A!rfb&ۊ$_9O>̟7&=TgvI] 1",h nN߾Q۾gz̎O\JOD3cRk7) ˴ q2_eӟūSST8DgU[xB\rff B3WD_apbFT0K%OOuWy],!+Sn3H)ru 7J"X `xy=5)gvHHe{pP] 7 sL~yY-Z(΄rܜSe)j NRkzӍ dpN΋e6=-]"3*fFr "mk)m)viiB2՗mF $S]}XgTCKM-DO2pq>UrT6=2ʮ818 j)ђMCi&3~~[qw|JQ.F G\t[azqN+/#dat NtН2]hbD%d[h1V?\p>Trso0'zńDHiBv#4=%PYPz:X^e%x튰((w0i(/z/!TP3 Ley7+!a:Iy>eo:Ԥh2: uWF/3J6$@Q[.e\@,=W番a ȥ/yE(-hI\,δ,J'*!N권'{4}'v?ɏ߳O6Zγlm,+cQ4R_f,zTkF3莉!5Ӯ:RHolͪ>۸+dqc5LB|K{q8rcVחgEA`F;>T1e@x !-a0abN@qu=}'NZu\ y9eEiJ{岃5|G|S=TQ48M% -sàzR 0} dY4Y!hHy,!kш/%E'ڑ0|sDf=YI|ED^M(ã_8.;灌Tg^0LzZ>CH$B.>aƏx0OpD]fPUy} W5]63u[ȪP ̯^vs׺q`BIf?@&%wJ60?bnCKQ12D%.*u¡?(z$qnhi%lbql4-:ˁF2 5rîTU>ft:͆EP\4&`Dtn",t8 @w7}c#|ӌl(AER[( M0ds-~t<8G0v lX޸ȴ&]4PP(lAd ;ey)+Qy r6jn5?/)Oe:#~'/tr:4r΃&17|\"2pL<Vyz^AìLT+<gq>%ŝ6HŞqXدoѰf.bUK+#(Es|+g}R[/ܾ^atu=Bk hծD2zrU2j'ZrRHpxnEkIm\ہSfasafͭ~[ZnPzx)Fb^|KHQxT8r [>z..zDwJ kF#,|Q',?"PR)\f+67x5i<,xj[^amm1] Ri}HqfaxjQYQpvbbp RHyz]=g8wzւ;nF rL tL:2< Y&>u1b Yo9j"Ȯ̀^4[:Y*>%{rC*F j_"'$QQ˭Vz@kEIbSu,(o|K#.UV|rtuA#~QK$YkX3n[N o`-kY >q1P8!)QЃݗ3dB"Z% g[D5*$>+ޯ՜ktgO'p€N⦏iC82'&zkn7g::tZiA_OBiԴ)5ӓĀpthjlqtqᐁJLi[[g \ Eb2.{r@-4? XE̲~{<&Oa iLTsbC:@=Sq%8j"y09EX$rK:e’?1-T˵#_WR(^B)F 1lTiC1N<h03 2ВiAor](σP˧+Ԗ4xΠlgG2)' ?dro%6Qgx ŗ%KPr43i/Nv Qd6|d&xK2e6V |NiR+"~+clh9Cj+-1ԅ|,ЛO|S嘐`9FZ\_&ۙq,tWS}tH|O4j혍jpT4jjJU;UZ@K}N$~Uͦ6)_떆9׹ q1+1@|zFaQ.WW5f izp,Xr(3h%2\A?b jnN.tWQWsU9(ǒoQt\z̢qѢxM*F \íj^ݩjf5gu!.U9UMThJAӚZYWDe0 JĀH 1]]efDQS^g*SjlJEIuKJE'Eՠ3 E?.3lL}/?fzRl Xp񙴟@HL*͑LI'V8.*%F/p WV| E\+ ?zA2Q^"Jzj+\ѡi:Bruף2gzSS/ߢ*Ǒ UYg{& d8B0aCgeJS_>*Xl89L . X-iI&.@-/(0Ĥ> HD"գNWˏzݵ̽>|ʮM1 /<]ݹ{spkϒ 畛a󤫌0aW0[.`l=K:ZU0ZMFI#6Eh'Nz]b0E!M?}P `Da=γ_•ߍۻ{d%XA=OΛ`%qɢD$]t rzHW3b-v%.񙌴Bh]:quX o=}ݺz&ձ?`EWT ӎ:̃B;}9z)Z=o}ڹ%~o/%b|2Ahy^8-=^cpF{~>v0K JB Ʃ#{@󺳐Cq˛nzzCW5+qۏ 43B{7+;(Xh|%}R JxGPŷk7k7_lb"tGnHsXÑ?LԤ'TYDZ%6n*q hpʼnIYu &1t&1]-t9s| VVAeAz]OwoU^cA` :0C@}Ki9'ѬjMCJY+s6IJ|L<VW) U>s|8lx4ya*P1j)* P9F4#!_bތBz% "tXeڄL+YK7"V~FZL~j琄6o  hMdIו )v0Vv-LȖ\<_Uuce>D*iYpDXwRR;>7GR4|8 K;pzifSLfƫ$- 3 e SKSxdHVy X ܉R3I뢙%Q\_852@*$q)M=0y%e%tT>C^(̓WٌD0aք$;1;=ʲ uCpnj󖛤!y`NP*gB([BO9vHlhy*uڐbFG=:FB_nl?S>S}ΡF]=gID! M0<ZZݯV|VaffVFTwMUsh!nCa.Ccb\/T=؏|/ʞO_@DK7F6?:yOG3 y'o?[q7++Ū(68D) /(VA("_=}bʻ'?:{z>yK0o3-/ }9fsqq>;O \R/,dgrӴPifUZGͰz5T4T z~<Ҭ֛U3?\ 5w:p .gYfvy\t9(+wz$5l~/KIVF52-`^.Ө:RSRljlx^ w%`>#?~"Gz*y„6Y}ZK4 \`Š)&e֨ղgΕԚJj&u1G3HC>:}9dy"By\e4 \&BYLW!qHJẻAY)d]ϊ:79ﰯ1#^"XfKh c &vRC5Ë s+/Y/ ؜>6O4sSsLPho3fb {]%r tߗ+D JM`䖮p4ñBY~B2% #Hx@%6"$,T\IZ#VZ"$\Ԓ2J"ۭ.h+"'eF:T8I.{*>^; Va4Zh+P}è椭ls, :R_GkL0ĕHX SQI]eL(`\i|nIYvVx0* ܭ859xIL\GG\#$D~"HjD\)6H>R8v,(i$:>͐A2ڐ0Ij&^ qW,z=y!َ@>%jXג Y֓%Sit')/DL 7IV` ɷs.', $HZmt0:* %Hb>6L\t 9jS8Aa#g?/_\fԳDTxipaKd6ě&⢽"^FեtCOlIk#y .O JT~-C r^xjv}'m

P[c~yf_5USkK7ܶm۶iӞm۶mO۶=m{̽{oSdF22#32##~ƬƆ FFLL,LF7ꈁ~kӔ#~Gq<ǫ$o7 L8L矞?Q2XԱ2/4n)Wd/[1r'5dʨVbJ/E_5˸ &J98ø?GGZ_9i[Z6JrtLL Ƭ& lƜƟ9?sr2pp 8X "YXf2J+om"Kڦ__DM +uүut?M:=7gL*?)?<ф3˯WlF̌F,OP{==oP`_{["& lkokDQg3YJ(x? zJlhgvv@\,Pf|Sl'Yi@qXXX~6 ,VscF/m]ّBXVPZTOX]]OIYPNDPQC;1p_9ٍ?L__dO2۴J#'G/zp1~U7_M&VFvf&:+';wd3~v+߿KZB H $BL+leIyWRX^V|$Q EEQ9e=!I9AE =IE/z:'G['?2f0l.ƿlHH@Ut?~o/3-K%l)ӷokJdQ_ɵ~0p⪱ sKOhMH4s&?]`FM6 t=%vfx_*o|y\|4\ģK6f,1Oǂg ךg%.(!%aU톺p:]{S"( ̔Yk1*X Xf,|ZǍ\Z~ ee0.V| ođXۜzpt]`a|7΅-啭¤p]~uYO/aF[O>]%Qw%2Y%l״/@l^3e{~ ~z1, 8;Nܨ>2"wįƊqi 86 )?Z; #QX4pء;p9<0:UxD֠E+k`ˀ?2|aP_kق-2ò[Ҕ(ݿJGo0=ަ*ɪ3 03'|vES%?SuN`qrn[ztJȋe$5lwoS4Q+ok?GG&H;Q )UbfD ?~ ) 1v,.Xb`bbYߐbqW\hc%vd%F,]1tsf[Lj'.4vBIl bPF%=Ɔ>=C=PVrlrw ƏW 4D{ יEY#Ʒ'=P "tKdgSEThUFհiעOdYۥS^8ZPB=¢~#z"qE$ ;?vW>O1hGtLy:F2Ʊ~65V% ^r8u{_I Z-fzIQ*D #ō-]F&UU\Z˖D:Lr"V1쓇( c:Yd)1 (Qt{hv D+Z&6;pФ!#!%7yYi+b2Zta%+w<~DWC:Plj;/^۞c$yz^亐noHp=|OD u+hrH<~&`rhH[Mߖ^92ϖ'6VT->ߤeHޞ6X8 Ebͧrf 5q1J@q(gh!XyS33RjJυ[f|~֡Uf_D"w*:z/zuQǙZ>dAůWQX0uDE?lbGE31hWO΢`ejT?ښ%Z9=1/"T yw(Ƨ'MM""O]E7q{S:N/7DU鯫.du[#D3˩<|y#ޔ 7Iǁh(Ú#\%^\Ռ ̵d;W(6V26o=¥Acq.vlP~+c i(l yJEԴΦ<qԛ+d,7#0 &|ڹrU[4,b!% 2Xk if4̀ d00h`} VQ4S#H@Oƚ.98J"‰3OG;}CG+Hޤv4!_vIIqz3aeͥz3o& ^K9(LM[ϟƊ]KiGl x&]|4aaoDwN+3.l6ڟ:v$h`]I%r/Y.Ԑ\xBfEϸo$S̶Yu$E~(VGK?`aatnSp*vY-?R굾5Q-.)\=>/tGR">%5 AZnŀ ֐}.1C}@k,kHyr`9ʤt΅O.2F'SdT!'{q%TY8jf큦x bFQ8kol=ݕ;XCLnd%R͢ԧ旰Ӱ;/fo S+p7JrpMlf8gW=֡I޸yğ;ƒRx'np!~adMˀ➯y-\bc\ׁNIh(MۓBrtU:0> PRs| "+Ԕ7h)IXy$,?yLtU J LY1t hd|[yhH t :dgDE* !,1y>j@e0Qsmr<Z-%BWw}=21ӂkJ,|UbmIW!5kjD V\ptzWl<K:B5㈙W$HRĎ]t"I SԚZ= JH˓_oa:Yg!]ыZGnPujثIPړUiKʹsuuiڒҕC)9r%$WKKի @,CI(KJ]`×T @!l--FJ)꣮ $M/@%ܺA!!+d^Mv1@<g@1s1/,W^NCI*Id<ͯ̾t,wϤb!Bq/)]HTrw  u@3Jzd͘an&^m>AwǓ0BW65-VcA4BV ϲrmTEda8 2<Ti=1ř(MtRИ+Ώ mهh>#쑪2DNMkR `ΛNŠ=]@)cD~jd(d!a)JAK~En+0~pA'cGK]Dp EִE9[M^BM*֔^5L,x),LW raX #r+"=yhK'p೤^QN̚\ -} @3u_l P>ҹ;5L=prn*oKjvB[ӹ/Ofľ!CQ =]G rc%ױn &خD^k \6?_XK,.0s7Sha?kϾ@= kg VkErS3#5/qG%ku$Kxٯ5U/8Ãؚ`[ZC!=Nj/{ O@6(v1R{W{/A#(Jc˞B%-zƌm2AY@MVyLh#y[2b. pi. Lݑi/ U8}L8>MJ|-"qIn]CdN.R+Q0cK͚<&^"+wɉd4 Z]> VK&N{FkhhBV3 _̅m/6X*v)ݡvRءnKvXLsL ee͡ðF鏀hy5%[Ui=.P#vk.X?}{B-:mߋ_|BN}Z?Ɓy k4b,s6ɮuQ A^CF쩚|f8&jD_PC.LHi dDI&4` j),wכ/T}[tdڅ/Us,U9#U0 qŖ.BZ)J.jin򎭸 v>'nNh ܖ6\s|,Ǩ#%&:ݶӐjb ;Ѡ<*DuroNsV suU2*&$tѧҍ#rppC&'uD;CYmgwяlx؏ұ2uB~ yMǎc: eL**͐zpC1_ڃg|Ғ"@o7մ1~jIxSN=C^r{0j㥁[ #thQgFcVVXJ)q_`ll08JzR$v룺;^Mol75#7Ps`ͭݬ*1+IXLbKRSTS=*[W^vJ$moQ8[pNΔ^@P F$ha6MwTˮR:#nZi(]CK[ɼN^E8 n%дAvTC}#md]'q%J%d` hӋnA7si)u+Hp>.ճiz Gλ bTd~W9h]e3^K|xThëX[ȖvӅ%q)Z7~yȺN]%6aՙHzmN.)F}hIi*i*9RFae'"cwuLv kϸAL/UFGTssFa1>?^AU] =RۤىV Pe[>M}~L܊|8|s lG!pƆ&c17RnQ8UP꥖#nKkg<8n[vy46ti"DޅMnStaTBlsQ섻Y iwC aҩlٞ`}iV]p¢ZL o$Eu1QVmߞAّKD@Zk*Ϝ| 9&zsZL&ZԺ,1+֡V>og>&E00&vݫWh>pvXDl!3 -Df Z0͋Gu[z{xȄNnoրG("5L̥\fHvZzWvNP/`l᫽fVY~녠l8mF>i5rl>WA._q(K' W9AÖsUa6}~A:y1ͫW" Зgi{Sf(ڦՊq"={o"NG-ޭ}GTX'ŲXmk! ߴT!acccs6-wwZX>j8 `+>uLZ2V?s*?cbI/1 ʖ|0M_uCܜ{k:EȺSWZcvFv([Z/Whi9k,AJh1/"5 &/ Ca<"Z5+bk;gɈ1q :Ƿ١!*y3bj%)NJUcpB MbY2tɴQpޛ0X/ ƾBݽQO}1D50V@j*Օ @ٿTyAUqx(WU(jq yBLAY:B-r{7zqlhuP +`f1h?DEx 8?0;4`rv2m8'JUN4'NGUAK?ި+[S{˴PҷU[H4mޟ9\!7R̾BQM_ O*ߘP}H~/jEedK$*ZExaH)k*kLp}$g{JJTD9N4v~| s2!%[QN湭 Vm% *1XN=S }]jmsnqt{$`R! PUzйfIsIA>iFc6I 3T8aGJc媁  1D=uޅ9rnnYˑDOL~"[Ma"N*4ur8PkR_,SK,A6fr##Kwpm@nZ͐ ʙ&{f4bSZo`1b ]=Ӑ|p~l>Z td_M '*N|g܁>t \vkłd,fy 1#(G%ZQ8;9~[@Bʜ8)r+ 1 N.ONND_ 1\J]๗)8}(}7+ KV@"bȓ%FQ"si{\JT3d|Hwu\Z/>Yh'ibQMtynyHTmjYF0=?~|5J$l䓱HX>+Ws5;E#w!ubndF.Na `bm' K3lԑhdx`3bC*Q%`Ku91zdb{e$܍/=޶,@8q3 _ݦ?yv>>۷>jvƄHv:bS8~t4P>5Jw|";øbvx͓9ZJ/[I!eQ&΋0MM E<^Z#D:TAX}S\r>2*b$*UaUr5aUl8m@6Dm9|d\79X%Q-'JE !L3z.ap2qCG1Qh׌1D&%Ur<ٵxS_1(Tۉ2 rb>tU}vxBBaPG$OIn wL$A8k1aFF/I=H P_\M$XUvN>cð2bh 3`vqY:pK*OC9Pi! k&|4 TT'[{s@)Q~&a7ˤ@,Ki 1<\t>=\,P{pm;7"U֕ w,VˁԱ?`;?z!r]aT~fX OSmZVA?'jkdOSQAudzz,ҷeRŝڐ&]:s\FnX"xKD-ً^) Ї^kv:d<אӎYݬxod٪p9ۋ圠ر#;'e˩4vfgFnb XDBZcku:I؊P8g˜W5W~C*gtRA?׬Y))`/P6ֳ-.; KWW&B\tM=R,|0Dق[c* >D)7(gˀ`SM#ȊT,Yu՘@I`'YP0Q0@BY3M44Cc=]ku97 wXqS<ԍbT->PyE'qJD]JٚMmrg`׶Wh֫j\6 xsڐv)j0h~C.D 1znNgU. >*~$omj%%{lZɽbm0F>3^'Rƪũ== S GjqgW MIqTZ6pK9Jk1 `l䋚\bz_Ei|YG,YGFHň+Bj.RѸJIL T0/2*(,^ ve8z~ )&7c - _/g^pc.Ώ8 lp-E|E.f~xVbN[DH'HPm6KO\[gg1E_s /mQAVzaTQ:Znٸ UmDDbS|B}lZɩ'B6JNof9˄(J 5ӾFb5q;28R`1N; ]IF?R/yZ"~ 4cwx%1ch5]VT(^mIƋΉ z+*;M)wix ]])rLW ɹc0Vr1.SbJ";uG{4.@<s3aC¶"9% )$K NR͛Өrt'e=OvW4;ߧf>;vU'H22(%LAۂWbmő&zV}G=/)q̲{BWS9~Y;u$v_eX(}둱`45m0iKA s!Q!ꁪ%6Ӧt3t Ba$Y2G6p70v^.%t[`);W0~Ct' O3Jf(M{*>I>1xWaGq'0\k^m`3\ĺ4z)GOQJwOqs'ɛE7;[3<1(rtF$Uapp3%n+O˃)g$ۡN_{ܞ?Á3|{(za\7FU {}Mӡ^ GV#\)e{F-+7l{ Ǖ1>*p.ڞV3s8 泜+Rjֈ|O^ X0sw~<mگ3F"ߩcuYkzRzp̀!Kg)̛T;|HeL`UrLI1Yl0 Vʗ'C8 @FgHhQ~*&93(<#Դ^L)tO:(8w#׵z[3*rU4XwYj:半Zn;+z|;OK{p#WK$^ ZoK}alԩpGCݽ%棻!)ػN6Ǜdc<@UK퉰C/TcA.r ^ S0Zbdh-)~Hk`E=H>P^M>xPEq@(+w`t4dNo_%sQA'rdF Vs!cBaqRW 'BнF&j5VTiW;/UfaqQNH`1:ni;Qn<'В|4u]u;fƿ;jɁVy5tˍ^luET?@;xlUH ^7qiKn yVw..u Շ6yɗ0#) Qr ,ġJ[z/ 㴉)+8G6虰"U-J'Seb,AL< S]KӳgF\˫#[9DD@u?}D\w4. Zo#I0㕥Q,auP]p:mӢW_~٧VcH+رN3[$e38{>#Cn|l. ɉAЊhZy*|1L:OՐ_y2@0y-DfKHg*JHyV(Q»)SuX$zh;ڵp$G>Ѣ]𠗙?}3KDqY1"4iI%&j,BN_{O nO~(*0"+f)x&y m}67nzz f𻼠!h\}kwN)|= K'vy+OA Q(EZM-`o6W_7<6(xo|EH{x*״HN(֥$IT_ r3jRI?*:)⴩_q/[]NNI,9}<0L[8;먭kV 7cfazҥXbE52*ƧJ&`{s=o$>od}nVr,8Uj S߿+ +wuK7:@1.Oʼ>M͒5x|?vKNT k*(=d g|C.hK)֠ǵ˱C#©Endk;w ,!u&;kC҅Ӆr#CQٗˉtH6Ob !Zc%~nSI)y  ҿ8v0wZR\)9[%Z<͢nz"I6hlr(K5IkD$dl [z2w'ړTƵ$K1vd0 Z)l*dؙYq== c0Kק(ɓp.00="}YAqv}afr^Ax!@)feBoG/vIEFG{ȗozCIam;cM_~gTm!(,Ўgn!]Q5)njhjۯen$W͢!##T尙6v)B~eTe1|D[-4ԎVCT d l Ƕ $ҸcmVNrIC|sĻTfvWyu&~ rdQ? od%S ^ sRbw[k'}6{'j?]^z6Ҍ|g CՏ XDܤqNpr>}LފdT׉Z2ϾC0*loGu Hnb59a%nbd;NJH4Md;cNؚE6_Xh.c:p+Jܙ6lxD@4DV*~a|[:Pl!XWAqJ!s\E֊N,G=5MNEkOQݍZܒB6|"8JF!wp\}ZEїoIak5QK|\Z'w42wjuSmYw3NOpFzI誵Sb*Bt\^Cԝ&OtUs딆^=5\=ng3宭Iz4NDF̽ V_Js#ٷ!H3RLUZI;u3ZHq_cqI2hz*zsSJ5zw+دoKc3? _AZԏם u:v$=3iyo;}acucW K;wG"/l l * 46`{QQq@8h 8a^0< @}] Vc{@ʠ,GkXAV M[ᢰYu3myPu+q|M P E$GoV6X4ӰY-FOb ft]dՠ9juqJGE$wXwFp{>ʳ:^!ep;޳a2ZXώ7"y>lL*5Yt]yyԼޤĖ%r6A8~}đxg\[L5B& 6gd=N/' 1$AcX 7c BL0 #HpO&U7 #$p? 2!&8r :& iA~ f`@2lw-DN }C)Z(g7h9: (f!ʬNY1Ц1#\` )=nuڅ5A a MNj"|;̳7l%sgHǘi77ΌLUr/++7S9&8ohg{d R)KZN1;j;ǔ򜍞 Tw[ d*/VzWDͻąoܑ"c%GKІkeßK܈ձSwY=Jm{Kya#q^[ڌ%֛H v$%1"7+l+n닽'HK{p x+:[H&Ns'Y)ۢXDvfd&nqWpkUdզ7ԽSw?"B~5 [-C- +?mߧ(GF!|Idoh2w+TߣOÇF"&Y;vq WfZRj&U^f#bt*"J.- 9Ҕ:8&%!2ɵ}9ٛ{ .3Oh4*r5`@by2#{^ ѳ>OoT%14&wV*-HB" Tce{%ɻHGiAf 2"9ͲFڈ7ht!X~psXL!@ȒƱsWiA3zjFo1[5oY!6kjfm\Շʻg v2~l$t*>DY83VX'ҩD1%hJJY!E4 <(֜)*Zo|(P 15xT$Ԩ__iX{mAnc[rfNPQcIV<$4T;6pS0p]P-m:Sk? .{7N_Jm mD f[7D/D:o !f) t8Nֳт "$(!kw i[rĬыZ*n+4%7;^3!X\vy>U}P_dc/ZڍD$C{4k keplV"{;W</וmmP1o]S"=&jN{^:W߇.J-F;ӏz!9 kG31.%Cr5L-`UK5$21{/G?',%\[z'}OOBz8s<)g;vXy~=)cίm?h]E "7|ܨ!ڒyfxH p=GQPu 4S,Ӿaa3M #Y"yh [uOyd U=ѴDeH.+hvwJz1^d>p e_6Anl 1@Z lbRZywj.a:GLQE-석Ya O}Sͼt$2Ki1_.e1e71Ϡmy$zGORP fPxX P/>4ru[-hIvĔVCF]mR(XW%IFh\α ps+̧xj@M[< OLWOm6[pGG{QeQߥzC(]rMF }V $1Gs24(p+"!3rJ;xzF){t#˄M\$;ŦV0i>D)U.mS:fGtnW7i J؃HQ#Y\""OXgyS+dGd4H(ZRwk1UIDfi'1N ~<{i_6a9!v,Ky8BZ!p9{n%*sB3dl]:ìPsV&:L9:=Ao =a-ZQe/TkZܰ-?7(-N\bVAbYkvv*?TP<:B`+eJ'xgH(z i,?lw+ 0n~~R 6n[)b,3[m0 4M|or!k糌Lh˅;E>|mߣg^=+!, !UZ 3=xݟ,:O9B̈ <;>POfiEo^y[ M"ot~O8ayQ1XIf2 rJ.Fmq=wQsPBhۙ>ⴛnT:l ģҚL鳇?BYQ Р_wSQIdU!YM3U{ mpVoC khai(Н3c)LzsFѧ 8zcO$h!O˓̚~Ѯ{smONbuy0 jio&M?e ,/n;doIH8l3$E̬nܖb,cyu{zt'ĥw 5$l*3~]Į"vt~$B23˭JbRjܾ(on=ŧM`y$_,>9vfrK)s -w2q ĭ0֠0Q@9VIX/ZkaUx3O-íh2"`A?8?SWIxIN1ub>Zq[Xˏ:[TLشR\$y->a~% ŻpXD|]ڱ‚tL;+r ~˸?̱߀0߻<IOu0THRe R՝ciԡdh(jtYSin[o0 O+Lxk.yKҀ6bf'3)_H 8HՁ>6C[5r}W YpQ_O%Џ lu`^`?n|}C89I=P ڬaMk@cp͋zYB͹k_PhޯSHGӻnSK]d TNRstD#|J>Ts;Ks ,ף~oa1Ѓe>&"`Hc#kB(..!NrH9Jhn#Ͻ(Q<ț@^K*kŔg(C'(=:HoYbÝ͵.뉈*0d6 -5 fk٪=CriD:dBU@V&(C/Ďe5h=j\g@KFuCÓrp,gS>l7|kΐ]=xuH5HHA))5o׷GVI9J2*1\+tvn`$GxkJle Gn bs}KYܓ[ZZ|>zř*bsBФXO6mD"|6O#䍘BpY=CB4@F2yL0f!f/õ Hj [XM{;XtB|^:o _^TlZ_y#XiBOHEPӸqݺ%t'vg DJUW6؁׆BϚkN8v[FgXVQ7*|lyisyZgy5?C=0;X&DW)g`C6'cO py:V1f_oroRm Q2/GcwXo]җԱ*۵/\ O=; @lMh>>Lr~^?dۋ?̡P૕_73;C9dItYfFN|nUz-30G:Q^RuuB$O s4IY{Ht Wc[i='ftg8{#@s"EL9Mq} &E"Mil(]K&pTBtgD?.^Ӑ=~pkjE#Mծn' YY㐈܂>k6D72Uk:*; `hhY4ⷃg;'|z#dUɃۛ=KmMH,`sphD; ͑pt| hjfZ}־4 m SǪ1szѱTv>AI5sYLݝ%TZ]Rسw2rXy>@}^pD/O\l~ ? C2+/oA˒I2{i x=&xMV; DI e~Om^X\~vV7%O}Jc,i8Ҟ^/~)vEN#Q' -MCX6~1v˛0WBOᶮpka /v_uck !S(~8 +9tP.01:g&vm1a~ȟsvF7}f0g춟)Fq 1:bK@J3Anf, {U qEg a^\f` Cq;tc5mu Ԟ%:wuyq{VNr3"lbd0#<1.u&F8ӳJl~}rNT2Vﳆcefԯ9.G&+k 2fN8tD[/ޠc>{ WvgIȴIlS 8S]B>#Uc[b0 ZP1Y2_5cL(8r "KZ\. 4x+pEӡ:s3g؏P™qx@`+Vt!yP^}h ,bAX2 0XPL+,ZM^*U!s)縮y8>&^ѱ}շ~8RoVwfL.P$:'<3g|p'],87jC۬qpy[aBP ]o},joj[B'5XD6"6uACߞF11oJ"Jfw&=`oը:C,lKq,N3rfp ws j lثLqW  'X]V6} ͐7?qb@8ٺn!S\{Nω skTpqކf3vH1T|&SK B@3'{=ubS2p=Xbm;ɫ YX5D2UA-~q:}իѿp0dgXaZ4xO K=YQ07,?sRo%Sࣸn00\,TxQ@Kp^`, j)hHտ 5aOh؛.>2$pk(c[LI \{42)nR1̤/]֫z*;h A4jr^X |P:Z^oݼF.FXp#%6~H<}oXcS/:[1DK 2F݁v?ap%%b/b [ݰ(tWaVi4>)L} 'TLKz{\؏ h$5gA (Zc<%Azf<-˵(ϓ0~wO-qo؂鯖,g0EVu={.toկ%&H""ueBFax_R:.<:F['žtX]Q01A3ږE{{33#Uv 2a GɩAFY (=J;Sթ}c-j]ǾX0PF,a}8Gu G)*_f5GcD?@-*zD<5OqLq=,lZFBKPI\`Z{4+Џ>tEp(RS/-\ dHi\9l> j bT,GFcVUЫЈZC^"eZ!x&ZDWXܶq罠"BH>4&f|rbk%)WBXu41k(Ry,4)Y[2E.ᠣ0ģXII9~Y(<67r.QbEU.sD  0n'~KE v78b >$\gqo4T)! Hע#fnqęD B(K .HȠ `0c)@\z <:ҔJј6V )A06˜)"*#lU\W7;I@]pݎ6dOϒYN3K(h [ O ^Tu9]#Wqvj*N$~^ jֵ\k&.l7fGBzũݓR$s"J =#u@Q P3U+=G*$`ĕ1inpD|Z>AiL͒.D`S'֋,4rJ7M5YI#L?`5x_( |W uXӻX5p3FZi̛|AÑ"-bSVwٷ wy߂xg\7N ,4FA}H| 09u QwUy b"'֍gTYW me}c2Af݂ꙻ3V\6dHVeTx])G#X-*I/~R(=zCZ[Z%<gYF'T\cٖ[.vQIYJX=jԅTFi aaE:T56': יA(24b*j0;d=M.dZ@U邍e' Fzj|XؽJ)K Mq||HUʌsǾʭiK)H"ٔ OFl^*-GyZB"-ңB2-swh>qA `Mcf"T}^w„~3?ŃfcXW=X>|EvhJ"oXޙfW&khM<2'\4@كvXwP p>ϊI٪+-QM@ g[GѵpʬD?m!f9l6<(1M \םr-10Fq ;#C@ b8Lxhc[1]⇰b-]}oYzVĻk&T)wi]ri _@G1})K(~얗LRd۪DQeGp*?GOƅ/7 )zL fxѫX)ʒ5P))VWޞEB>c/Y0|dղs{M >֦~`QH;_ 7fv0vL±(h|L\QG:+k:z3N k~*;W h4W騛NKcR#.q2W̷s}˒+(B=]H7̾1?!Tq˜[+aTW*(N~ME,7 1G{dmh4c_4p,0?Uڰ~x0__)h=2 )NCXTY3qH$#Μ)_ \5_SU 2TX>7ߊ}6x&=;3&ǡurm^%:{]pr9C.DIfUgi;.eƭ>,0ئH ^+ 8%2A${_Z2:\(>!tݺ>)wuX;7*KN7\`ʸAj/AHauEgx$̡}k9~|~h/;i[>S.{7<=1Bݫ֪ݟ=掔A1?a'x\D >/R(s ȅ06)x pShIԾۢ Eïgz3/שGi\I:գ3-c: v| 튐KlZC@άO1i^!a[S#2)z,Y.ߎB'8/w!I_9'rIl9X\ m۔ `(KpzZYMohW9l}W㇡47GOw@%Qb[GzQ/h2f˥'3'2E]hK!a_!f} )K1t-m/^jlC112N a&a:M?E[@uʇ9y7H/>v&}Fƴ1Om7gFBoQ1 d,[n nmjJvnY,'2>얚GR^F &:z#"UQh;gzΆ5AxhϠPD[|׎\/p˩)wp`Y+F=|M>nٷ6hx04>_J`԰)$rN0 ZI}p- \ZEDN 3b=qe1=hlg~5/R ~'$qv"MyTPw+ClS21" +SFXTÏEN= t|jZF @>^%,SM~CZO!R~Ďmb-6P]< Yv_aya:X}Ў:UbYEֻy:fJQЈiȶ /aĮBXK %?b):L tk_cR&P`!{ s%:_Ÿ=:˪%Zvey$N-t1O%%F.aX`})oi4hN:{K).UCEJA(‰S/gF !)S_OFLBQK 3\6٪bRDp#b5G~)L{#L;3-cW߲a !?E+Zz$J05LNѰp.-?dCHĿ,_ظ5ɒ),jv4NC(NSazVm0K1ҽX+͜rzUTF7G^.a"QJa2m԰#4LԆo^H.OL\ ([I)us9K̑ 9[FH}줹$ʥJ!sԑBfi "8p$߂̮!_~/̥@Ma0+EcMW ky`53 9 ϤDyTXx2g`z -p_[+W`A0#FUHh7!7TN?C`$ӭk=D0"ɮo9~ z1EuCI9w+VOw^lЉ햌e#,;|Yy9re*78U &I9ˠx4&L# Yپ4&0,%FjZz& tl[76k∜&0T\3ܴ3l.nxُ@9Rudcج4̏^tûx|'t%i$VF߭ܯ]TĈ@v 9Zŷ)sLn16)ndy)L>]j}kpD8vO|vp{DE͂sIu'@"EXz3ޙbW^ 8/бe <\,)t +^hOJ)>ftœ{ X'f^)[ Ezkn^= e*=ɴX?3Pæ% sw WsG@ސ.?m(t $gM[}Uq rx,)w8P9CI\ucר6O$ rs芸o' EWu0&o'42{~jOrI?^J} B%BOqԱ0X_'@w1C7*H_0& [m!,(ƯCgZ)hxuv2?0i!bɐaHeԴ{ *^+d85FWB fRY~yhBrN*AKg{ExADAr<.1 *غĨ:-L?XXз0xyݮV!`gT^#L3 h>h ;$"1Z,y4NyC7y:ajF.L;]Ra0IL9kQ)}IJry[̖CswASAbԤh745ผk)f -sk( ]AL_~`"_W?Fy6-iJAɺ@Aޑg*;'eow,Y2VvOgv$_w[ Au,w Fp~^H>EE`I 9ͦ-b2φNXpf>6U@sLG ܨ00 >PXyad%sQ=Y+{C0Liv.2 Go!vM}#\5gv6Y .ljc2*̊֬UFgЍ䦏Px7$ފyu'7o~o~_~W_ɷmޠ6~~ݟ?E7|/wo~!YÁj=:+m )95=>"K< FlE/rEdFfD1b(1fT MfYTN^=?(+a!n#*U4/φ]QylWyX{x5'sa'cQG['tД]X._y8W4OԶuŏʑڨfnQ|EEJfӜFBϒO1^IqѬaPRcli,B(E^#qdq45կQ<2>*f9X +&.5W}9!y"8$^kz$ \p4f駱%LrO$2ꇐ>QjD\1 5SN>d#n˔7Ew phuI8@jͅ]53 aϼ#WQgEq~visWP!!EYNo!a:uЄ'~᧐91m"҆9Fw?K\ 'gM2Y^UTTfpMn)z0&z\+:afξ3JJK)`2],cJ(1S! 2pXʼno H߿vZ?8nk7$'VlJJ\tɕPSkſTjaܭ|_$?ýj1g~gkSLaXr$ jTy0@čy7n SwD܈.Bv0w5)5 <]qvJJq>^vǜ"ka"P}BèmSĆkm/l+?C~shbh+&2MbVߎ ?|\?,,.ރUߜbjdK>եXߕ_cyn+26W7Ε4m/\uM,聂ʊ |5Б`ݜuKu!ׄҞBn;y fcD?Y22/q% B{ > OΣnO*'[g |f+R/_*[O 僝8RkφZ݅68q]iwϺ) UVFM_( ;q S!ccpthvㆭ_ By$j ۙ=$8y~ٷ/_w7/ٷ`>wi+L&}.'Q~kXج((jC5Hot~DkcP8t;9+p0͕d~g뿲dc[W&u,tpFji0&#q8Pp_%Ƕ*aY[pq ؇Ęw-yߝ,/Lw7r, ? f^> {R)h=o5/ē=W\㭽h9ޖnO^l{,mGQH24ӭ0fJ)A5Tߢ=h4e~~#Bl;pʩK@yIFuMRu-/ [c]^[Kث$'F3Ș7zRVG `ۋe!+B*2w[ECw2D{5Wyc7/~?_ݿo_?~_|oh+H?ٟo~gK{w滿G;Lr ~~;f1џ~۟Ͽnǿ~W/:QG??6~|׿Wnw?7?o~woۿo~?_Ͼ?*~ҾYHѿ;3GDم<2gNv4L>D  6=.sRP>}r8=@mJv:9"I|9vKE.%ma/BV35RRێ*$Md&Q\pak|j&[yd:.V&q8:zV9Nh" /= G-&D{+'fċDG|#$=Xz-NZ"HxKc1eeMI;6si_;O-ZaR0Gb{ vF.z"mj]3YV9 )^jȧu">mf]g2gDugx1/-,mv\>_c@v}~yPWyf䬾]\Ҳ\阃u8I=Qh=۔TcvzvWV`tt1P~x38/HYW2^FTXl&BְVcp>!(;!" I cH4H{#E*B gbxF_k1{;YEy۰c@I r'@}8|^48Pݽ=;|ܱUjc(Pj%H ۤ RqS=ÐH_o,Gۿw~ǿ_DFĖB=ӌ~7AՅ8kWvL-0::Uaqgq&q+Os︲"jc?OVt4cΟw;5yl,¨@jl5@f϶*-~Suo~-b8 sr:LPQeӭ#м:X7Kѻ: `Aǎ^'uz] x" .zכ`CU2i᧹\0by,ZMqLMB1<\:7GiYz7؉_h8d+^}m5F(szZ~#L uef͎%Eg5ݠ (gjgi$HYdX!^wiN N{xhtn0U{kY=^gm~^4z\= [x;;>|r# ~U?݁%̭6u _F9.vO8aup[>fO .eRCrw0ދ݃1880u @]T}sӋF P$:\F} FtlͯL˹u~:i9;9Ddza'!MLVQiPuL_W~saP?O$s'ylG67v%E] m (^4y#։Am_}>->TTν.eyNґdz{}%JnBgE@ :^ٌOyF3BԊvT<{|3Fc? 1W&LK!`ƾprgU|I"_5+uRy`AXвÛPW-:ɸjl3K-܅t^V.6v|de5>>B7W>eН2}oɋʁ;|Q9.= :؏s}c~ @{V>y|P&("d8Aq2vup~mǏʕC1G Zk1"Ź<Ekw`b2h8]N6 X}y"h#(*p &^ӝJ}53| |N1%zc -,ҥm$&(xM=DleUō:}"!`42K5 * Xi-/m@S" s 5`\` NZׇAy"KРf\` `" AQPA)Bz)"%5h<7H)??dߙz[sULL E98ˋ|fQajzo5`4JEvAz"G@鍁j̶kAxLI5.sXDž|B<_cƈ2:f48% 1V)P atH҄VdId$.NrX\:d}7Nj8'fg'G{]9#)יA t!M:zEXg^z˂߻Eg*f7AD8z鞪9 ,Lwɻ &C5-S ?]ttt^F&,EXSs%*a,쟶nMX6!@sRJ}Gyy{{'h,b|T1?K!'&($蔓eC`VҦ "d hףZқHK1\_1 ڒ*T0PbᲘB Wo:A;[ XD@e.4n 8ۉYu-!Hs(FP[^Z0 T@Ip MEMao /|4XTswC,$xQ4C{4Ch # `hI^b4_(dkӼZ^ (dž銲S>>~q#U< H [>;[0QL;\ڂ~&apk4FK9l?@ׯ RdmͶ+q4wfH?QF}7IRJJ ((01Gs~n"4՛ Ǔn톬"5%oTlB$seSxneISitWOo7E(T^wC[eLT8NmHbdei,$(: Ω`*WHேƳ9~Aio EE/mxKZq []<4kg|>| veyrgs?A3Oːu 1lSwJTL>oz#~ !M7nͷS _#(M>O:!UR8J}xYixr YQ_OU:ӂmzp!&$ܫ{+mwjnjMZl2 %B=j{gXMĈBdA@a i=M+M nfS0Q*%n% c*/te i'n4b866CAMɵ,9MTb mK5Fm%p2Xgr_e czQƅr ۬vZd!(Q5凁haof2 t8AU;x1&+MD=b ,x$`X38ABY4mXo<)mꠄA'u lI#nu;_5!؅B>6م#r@Zӯ6a|zj);6avppfT7Y b\8^$$r_ՠq*B_ 98R:Q#xc2!S%>LBPrRlG6Ej:AGb] >pv>_Cš`~*x Jsl1bG\@P)W{2b %bfN0aY\Y\YZcx&Up'УulS ('/-S;s">r5z2,8M'kT\Z\}<8g)@btWV&=.v~ӣwJ˥f5PNR%N"D2Bx0w+2 3kH)E9xОFRgKlFb@Ibg% Gh>1%8Ԉ12Gx_"dHS0SvtL`n*sP[E2qL%?!)cj S!8̑7ܘ"Sb3fj ƝրSwR#J@i`)dEpQ\V3:pD$A"=i !o05Zp, 5:lnNLẜ܀8ܩG0`*5vԐ n`jIEWE\7zxTDyDCi]kzV/Q>g>`=kVC6trxq*M01 bhA܃KNU,L&fkD05Q SІ<2?" 5r\B-29@`lNLN q> nG)=! ~%:y<(Hd '~=@HMͻ*'[ aLp@0:G<~S[TBTĶSve{Jv,6_JK`6JZ)Ua"O ge,`THu Qҥg)l?F,< w noo@h?QQFF-%?Cftwi!84u<}B_J6<9b W^/8Z`1#!s3\>j6L7@YX>3tR%dMMM %:"OGdbCLN{@LvrL1-zQܳWѿܯ;AoEy_Q[-h^&!I1~kbiD AcjUT'h1 :!aW}Ղ\ P5f!pf>Rk5I^XS;ۍJۘN|R@~q>JK^ZnB; fc\X.fpKWh}C ,]1HCG3 [ Pq>kA;CQvoC\Ք\%QnjU|@2 %\d1PXz-a/Q#4aNbHg[Ǟb|rUyt#&}Ha4]{ݾqDi&i"|Vlm-emOhn ;"Vs9:7ofOdsԊ~s&K_(j$d;N` VT+"I@OX,ilynDFԃfӪ@x>4Λƣ&הP@É腒i R fkkCkATZ6Qټ>.U_Sb AE8ѯ.=Kî.6 7~P9@,9&]Lkl"yP&E@rgC#6nhEIw"JEg||Z%h]?D^C]G_O%ȑ_mC;{~'NʄX[۾xZH(=:*~-Rxا}6PP+J}To^ {^"G@c랯W1/3-ƾ7 Դ\~j]g`$۝j7ߋ%:o=̛h+w@#AF<ߏ=T1i,^)TXDX+g'kHOu +m8-exYj2ࣧxd%iLl `6ct\ 8#\ѱя10vO=G5y '[Si&s8=U{}X?jdg 8jlXg\QSǨkL c(+[sDM  .iyO#{XvcvjƂ=iIZϽ7iU5#B7@_sd:0MȔtV>#Ϛ,@Jl4*mbMA*6G]3m5?Cݯd3Y'Yjk4$0VCSCHkG|P!(;oT4j( >): `szWO$?D>.W>-Wx79lzurgЛlŷ̔cofBvg<3 ۃf5 2I :Mw6W(khkq{fmV[ج󭀘VY͖ՈRCɍ:^cdG'-%@VUɴqiוSQ|2Wg}܋mU;xh&~(Gh+izvby!4bӧJX16mASwiQqeT9n%ބ hM#׾ueW{1 ?_(_Lu c`queOxU eS]6?OgCn2 9"3\*#"6%|% ]^ P0n>|^8!Eāt(BI$!dOX4uV| ݯ$R 7m/+:vʌΟ_8,ܹ70Q8cx&s2wVAx><8(oc }OaankOu&w(ć%ܨ (S喨v4`N=3 GBiמ*$_EDZ!2'm1GX7_1IrWt)MV5%ct+Mَ7z|那j_}`q^Jy5wcصu^b>@u~R8}e h.;&.Zo+y֫c+։(|F!k ߸Rc: V:Ø~yM@B|`ݥ,#<>6պ~;־AbCp>^<߇t=E~ #JXp ]xtn<;JR=n0[3Jbw|хMQ>\ݯb ЁTtIIȩKA/eur@ Ͳ8݃ T1hA(=`Eq1w$:ktޫWn( Jrc0 \*ʲW|+ >p37ߍ:'%G(epEQ([Ujb4 Ʉ{ k Wm_;曌sŘHk0X &AVC?.xp  01rݠib<l`1769ГEΜrkC2[ࢃ7噥K|9yr0XL;o(]FSS0M`-^D9OD/U)Ly.gK~\ذr.uK ~eة4/s[QnoX-o_`VgD whK8vB(]NFM{8~}A6zI ߅ga3cAweaqr8L&_|'~,oVCXMz!XbO_煔ް^@e?g|/Fb#GnLqyџqK /2 mVcKڸ]v as_O*lu%u1#?+05WȻ, OWڻ)Gǐ%4cۋ# k#,d?_´0C/0EbB\ENdi7266ulaհMB‘hR6X3DbiQF9<7>K=&6dGb+]hfB kИf|؛Ka5C5>dgD޹oK;-4ZAm@+>] Fd  y< l% S/3 kihobD>jMҬD5ǾU쵼0w-` I׫7As57pe[2Gؿuٖ6]Ĩl #a(WiC7BDFkY)u r-xŬW_D^sG}_U$oR_FPi5Pc7.iv g:9'¼juT1[Y%QؓMe> + XTHDZ`€v$Ng훟^ uy7w<&Pl7ѩ%ivΓ<-P  H^\Ą D T] Ghy4䘎 (RR%̢wKIߧ^A[Bs Rfe14oɝ,D6<-繌HP /nG{xK^rƉJN!a71rŔd;{GXkZ+]˹M"P~I 6!xQQ^w߈5{\1>r6d/Z\;4^R6mU[ߴ18WەQp||\t7\Zj &!%ܭJ1q%OvEF 5cxd*'a;3?/oo,()*PC4&ewr2߹Zop!]`V:idӵO[fA)ྡྷEk׈b _Y]]3%abW'xJr\I] \L SRD+mԝfZ]e)mY,Y" ْSJDB5UQ6*2F?]~;s~w>B"!73-گBq;AK2,5׆~mր #'Gi52nbn~ഊ"E#C_e5LlWf}?z -/]~w:MY}C?YNi91>׻A-8YwkZeRڰ6ּڮv\5t,) -mxҖۣh=ʫᚲ5ӯUЉk ]ר{zoDG'xeRƎ|1ұb L]'=H>z;=9YvW,mytKY-8%1w O(ZnPɟ0%ªvr+}!C/#'o<+(6/baCfWf LM*Of<]0?1g_%`uRvڧ0R{[P d0j]]|&3osO RNӗe6ދ6򼒦m/䫏 Y=m=XݚqNǕE؝ wlmS&g\~&߾lA3nZn`gH}%vK# r<85CG:= p%w޸[bɔO>Nw/W :>`@qJ[zyA'JT;V+<|<4cdUCh9to*zwNe&~KWfG/o*m -.+Y[}pN;Ϧ<^2=-"kVq3=K4{۔pqʱE\6o]wM[ϴF)zʵg2|]6>P)y5kΠW㷺v_.XgDzs&KT]ԇKN ,ۗvZ;eU8 aBYO]5Khf5Ŏ.!+9S(7Y9Tz~X*oSOvJ?"/8vc:3!MT5#&fhNcM5wT6S_WTKKobF#'A N_B=ɳ - =j4ޫ&^ev@Fzr/ xiLf FRGޯ-6xvn ̆~9˾*?߻pD;>LXGD[=ҦE[o(xiq=hӁϩzxL7U%XAϾWhyf_XKuqw^OC;d;>}^:=.y./"3:zy,Qee+mmx6h:Ԏ7|/յ|[YxXt34cOu.YUnF߈>-S3=݌{: 꺰;ZgT q Uoّ1k!je ZH{$uRb5iS+㦤72g}#'PsmAi k=zPf١T,4 u*&լ׮O:~.5bV;ON>pתFIۿ[R>K-Ӓ,:]V{Riߤ_۔}uX&xaw&>Y345jv~MiV! lK]%skkװj1 nyαLp>&amr`ru宰Y)eY[5䉗Oٸz8nclF}9\Moqʾt\nRqxcK m_MN';D>+|f 2>$Kkt%S } 斣wuW+z"ؤy@WqnERc&V7^c `SO{}R< 5FP \_<Ⱥ%ꌸY7=-yv%-c)3o ϝ7n?"%:m"X{B;⣈䩾=g%OwI\;V^̓z`g/cN-}=u`?d_׷tY'06AِruCpoMrf-(ӟ麤$/mfg%)۫dt]WH-=}?_F`pPh}|q& qߦT4c{؃od>:l<-vmJMs=h AֳJM!oǚٯ86ߪ:cϾVtw fℝf%l?;6ui-2Xu+}Uܾwi!ceU~l*loK$?Xkw[V Uc<*/V .:rS~q&X#l DN>q ԕ2 hz:ӢfNX2Uqۡmj?nN7յV>70c@ADcA&֢=v-綹}Xͯ+F 2K~UAdή\+R +}wFG2 H NuQ1|ֆپ.wz%Wh4Qο4Q쵳kߞe$t (n >ێg#Qp A w-jJ oEA;>Q)l{Oh_U#G}cR׊79&U(XxlUW.rqzm ;߅~0 3N!Jc>VFU٭}?H EMV'3*4ңl%GE:BBҳϩ^w`g3⥖X=ٺdn;r/9`Z4aBG9K.I]tasӉԟͽwEJ;铮57k 2ަ?t:HeMjG)9j G} ĸ><[1{3Q͇-1bV'?=5tٲVZ 5{3믴]D'nSn{^d[N'}Wݿ@% DE<2yfli))1 w,3 Ñq8d,<1%1q!ă<eCD)) EDSxbaL=A4&@&D 8\ hhG6)-IPD7T_(~ _BV021P| yp|81yЂ!q=˃(/ijX4!<j1.9.aQwC0?6Aa"<<M Eip@>qaQqOIN$D:I | ot&`#EU TNIfaE(C6l" |>4t/4(+G"h5fqx  ¥4g Sf#?54'ΠPqXd?}8  %1%a <+8 Ŧ% %bshL8XxMd%Ԍ$Ըb< |.D !#ށP0b' J/ tWBXL,a}pr!< + + "pxzH(4"#62YpBXt:zAňiಆ#H\X$J>ϐV`i8`ga}=@σ[ިzÏRX f#JȋDpdaQ&-L"bНO94&<pu @\8Nɧ}Xa*DGnjSE愙A#"ga -` MSIMHL@fy!lHu}tF1h<'ˇ ڸ:I(G?a ,>ʯ]I`' aҒ T r{ 5S"\@(mPSbc JKT8 'tMK[zMM`&#|s|" j蓆{zٻ;  b @סT3H.UXŻ.D vg~ kY0$@hY `deD7ԋ phH/ oNd(arh`J. f"$RBhF'<<2 \(lx@i<\_|62GH:$ CJ  ׃P5sԵT.@O1RH#l.N01|\r_D_#DQ~@t Sh@SshZQws]g/lHO| a0Z!4-CwG ڄ}aDs?khLq6 SE@~n L8&鏠F3b%n0OLK @sYO1t> Ôf {Q*l;C 6\{)~J.uyaZd cax=qO,6-?r c]iy}У4h=?K&1 uadFeKC4MiE (% RȾZ(Ylk Û GoT`1ohhx[<F( <@8< F$dICi!"CT>C#kXYSY<F#5L8 Q`'I"o "Eh /aޡg1\B"I1X5V'"b!uE[@ ]{ ˅#2L/r^zb :Ux"/87a!"3j4...;<pyBN115`gz+7Ƣ*|Ah,?3ɭիp"8PюVX,n<>eeDdž)Gei xC^x#B(.L}yx!-4ሾYBf,10hӟʊt)1ƉI}_1w/2{yI&Ի