libeconf-utils-0.5.2-150400.3.6.1 >  A d8p9|)yȖP.BX6cOeװ!PkӊuNzwɋ Z' y#?$ #?%<K.}U_3&8M<-&ƧPtwt91-t ƷNZ/;FxQ>2gO2!nCPHLXuH丙o,~h;ɍՒDcv;P+U u.%:pxc"&0b86b39b53f27a452b247bbe379fdd0fa2b8d8b08479d090cb4c04448c3bfaa29481c9aae9aaf8063c75d0e11aa0468ef905ec74id8p9|ʑK*w .M%p IlY[nkYj'0,l{K0l7ᡉ.59.N sﳻal 8!N4!ociOFaL넓 S60)ͧOY>p>BD?B4d $ H "GMT\ ` d l   08`.(Z8d19(1: 1F>G>H>I>X>Y>\>]>^?b?0c?d@\e@af@dl@fu@xv@wAxAyA zAAAAB0Clibeconf-utils0.5.2150400.3.6.1Command line interface for libeconfThis package contains tools for handling configuration files in e.g. /usr/etc and /etc.d+s390zl38SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/System/Basehttps://github.com/openSUSE/libeconflinuxs390xzR큤d*d494c37438d0b464c9db7bf7df7cf5fa1a2950f32877921a0e0d47d521ba3278c6afea94e03e14835557b82a22361f3e93a2d32b21ebf442c1fdaf8e0f68f1348rootrootrootrootlibeconf-0.5.2-150400.3.6.1.src.rpmlibeconf-utilslibeconf-utils(s390-64)@@@@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.2)(64bit)libc.so.6(GLIBC_2.3.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libeconf.so.0()(64bit)libeconf.so.0(LIBECONF_0.2)(64bit)libeconf.so.0(LIBECONF_0.4)(64bit)libeconf.so.0(LIBECONF_ALPHA)(64bit)libeconf0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.5.23.0.4-14.6.0-14.0-15.2-14.14.3didc0cc~ @cr-bi0@bMa6a6a`:@``@`x*`u`t6@`n@_t@_X@^3^@^8 @^&]@]@]@]rJ@]p]o@]o@]o@]m@]ja@]i]g@]g@]fl]e@]e@]e@]c]c]_@]_@]^][][]W@schubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@suse.comschubi@localhostStefan Schubert schubi@suse.comschubi@suse.comschubi@suse.com schubi@suse.comschubi@suse.comschubi@suse.comlnussel@suse.derbrown@suse.comrbrown@suse.comrbrown@suse.comrbrown@suse.comrbrown@suse.comiforster@suse.comkukuk@suse.comrbrown@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.dekukuk@suse.com- Additional info for version 0.5.2: * Fixed a stack-buffer-overflow vulnerability in "econf_writeFile" function. (CVE-2023-30078, CVE-2023-32181, bsc#1211078) * Fixed a stack-buffer-overflow vulnerability in "read_file" function. (CVE-2023-30079, CVE-2023-22652, bsc#1211078)- Update to version 0.5.2: * Fixed build for aarch64 and gcc13. * Making the output verbose when a test fails. * Fixed a stack-buffer-overflow vulnerability in "econf_writeFile" function. * Fixed a stack-buffer-overflow vulnerability in "read_file" function. * Added new feature: econf_set_conf_dirs (const char **dir_postfix_list) Sets a list of directory structures (with order) which describes the directories in which the files have to be parsed. E.G. with the given list: {"/conf.d/", ".d/", "/", NULL} files in following directories will be parsed: "/..d/" "//conf.d/" "/.d/" "//" The entry "/..d/" will be added automatically. * General code cleanup.- Update to version 0.5.1: * Reading files in /usr/_vendor_/_example_._suffix_.d/* regardless there is a /etc/_example_._suffix_ file. (#175)- Update to version 0.5.0: * API calls econf_read*WithCallback supporting a general (void *) argument for user defined data with which the callback function is called. * Tagged following functions deprecated: econf_requireOwner, econf_requireGroup, econf_requirePermissions, econf_followSymlinks, econf_reset_security_settings Use one of the econf_read*WithCallback functions instead.- Update to version 0.4.9: * libeconf.h: added missing sys/types.h header (#171) * new API calls: econf_readFileWithCallback, econf_readDirsWithCallback, econf_readDirsHistoryWithCallback (#172) * Checking NULL comment parameter in the parsing functions.- Update to version 0.4.8+git20221114.7ff7704: * Parsing files which are containing keys only (#170) All delimiters are allowed now : "", " =", " ", "=". But the user should use "" in order to be distinct. * /usr/etc/shells.d/ will not be parsed if /etc/shells.d/ is defined too. * Lto build fixed (#168) * New calls: econf_comment_tag, econf_delimiter_tag, econf_set_comment_tag, econf_set_delimiter_tag * Checking UID,GroupID, permissions,... of the parsed files (#165) New calls: econf_requireOwner, econf_requireGroup, econf_requirePermissions, econf_followSymlinks * Ignoring Group without brackets; Do not hold brackets in the internal data structure. (#164) * Error handling improved for nums and booleans (#163)- Update to version 0.4.6+git20220427.3016f4e: * econftool: * * Parsing error: Reporting file and line nr. * * --delimeters=spaces Taking all kind of spaces for delimiter * libeconf: Fixed bsc#1198165: Parsing files correctly which have space characters AND none space characters as delimiters.- Update to version 0.4.5+git20220406.c9658f2: * econftool: * * New call "syntax" for checking the configuration files only. Returns an error string with line number if an error occurs. * * New options "--comment" and "--delimeters" * * Parsing one file only if needed.- Update to version 0.4.4+git20220104.962774f: * Fixed i586 build (#158)- Update to version 0.4.2+git20220104.5dfd69d: * Reading numbers with different bases (e.g. oktal) (bsc#1193632) (#157)- Update to version libeconf-0.4.2+git20211111.c7a2c52: * CMake fixes regarding document installation. * Fixed different issues while writing string values to file. * Writing comments to file too. * Fixed memory leaks. * Fixed crash while merging values.- Update to version 0.4.1+git20210709.cf671f2: * CMake fixes regarding installation of econftool and man pages.- Update to version 0.4.0+git20210708.6918ea1: * Fixed covscan FORWARD_NULL_issues warnings- Update to version 0.4.0+git20210707.537a8a: * Fixed resource leaks found by Iker Pedrosa.- Removed doxygen from build requires.- Update to version 0.4.0+git20210413.fdb8025: * Installing man pages via meson. (#147)- Update to version 0.4.0+git20210412.1513a26: * Added econftool cat option (#146) * new API call: econf_readDirsHistory (showing ALL locations) * new API call: econf_getPath (absolute path of the configuration file)- Update to version 0.4.0+git20210408.6d33e5e: * Man pages libeconf.3 and econftool.8. * Handling multiline strings. * Added libeconf_ext which returns more information like line_nr, comments, path of the configuration file,... * Econftool, an command line interface for handling configuration files. * Generating HTML API documentation with doxygen. * Improving error handling and semantic file check. * Joining entries with the same key to one single entry if env variable ECONF_JOIN_SAME_ENTRIES has been set.- explicitly BuildRequire: pkgconfig for /usr/lib/rpm/pkgconfigdeps.sh On TW it's pulled in implicitly by libxcrypt-devel which is not the case on 15.2- Update to version 0.3.8+git20200710.5126fff: * Add CMake build scripts, remove autotools support * Move C++ ABI compatibility section- Update to version 0.3.7+git20200605.c67ef9a: * Fix build on i586- Update to version 0.3.6+git20200529.276359f: * Package meson files with autotools * Use newer version of actions/checkout * Add actions for meson * Create meson.yml * Use meson source root for tests configuration files * Add additional compiler warnings * First useable meson build support including unit tests * Add global options, build with pie and GNU_SOURCE * Fix name of library, add example binary * add support for meson * Add C++ compatibility * Add test case for crash with empty value keys- Update to version 0.3.5+git20200203.3144b69: * Release version 0.3.5 * Use float.h instead of obsolete gnuism values.h * Remove gnuism (strdupa) * Check for empty value (NULL pointer) before calling strdup.- Update to version 0.3.4+git20200121.febebf2: * Release version 0.3.4 * Fix buffer overflow in econf_readDirs * Fix parsing of quoted strings, and values starting with delimiters * tests: add test for quoted strings * tests: tst-configdirs5: fix config dir paths- Update to version 0.3.3+git20191028.3ac14ce: * Release version 0.3.3 * Reset *key_file to NULL after free- Update to version 0.3.2+git20190926.fea4a03: * Release version 0.3.2 * Fix merging an empty file (#105) * Add test cases for merge function- Update to version 0.3.1+git20190924.822cf5b: * release version 0.3.1 * Set delimiter in readFile * Change parser interface to store file name and line numbers per key * Update ccpp.yml- Update to version 0.3.0+git20190906.0e60a88: * Ensure LICENSE, README, and TODO are included in the release tarball * Rewrite set*ValueNum functions to avoid libm usage and add error checking * Move src/*.c to lib and release version 0.3.0- Update to version 0.3.0+git20190905.0ca8fe2: * Merge doc changes from parlt91 (pull rq#73) * Implement econf_get*ValueDef functions: if key is not found, a provided default is returned. * Differentiate between no value provided and empty value provided * Remove obsolete check for comments * Enhance and adjust test cases * Remove obsolete check for comments- Update to version 0.2.0+git20190904.03fa5b4: * Enhance and adjust test cases * Update ccpp.yml * Update ccpp.yml * Update ccpp.yml- Update to version 0.2.0+git20190904.989df9f: * Remove debug printf- Update to version 0.2.0+git20190904.c9c1820: * Implement alternate file parser solving the problems with group entry detection. * Add new parse error error code * Bool values read from a config file are not sanitzied, so we need to do that in the getBoolValueNum function, too. * Only use ..d directories * Release version 0.2.0 * Add an explanation about this project. * Check for NULL pointer arguments * Fix error return value * Fix typo in comment * Add test case for reading login.defs with data from util-linux test suite- Update to version 0.0.0+git20190902.dd17c11: * Fix int64 variables on 32bit architectures- Update to version 0.0.0+git20190831.fb7c1bb: * Rewrite econf_readDirs - don't assume suffix is ".conf" - Read files and directories in correct order- Update to version 0.0.0+git20190830.04ba053: * Make clear that the API and ABI of the three functions econf_newIniFile, econf_newKeyFile, econf_writeFile are not stable yet. * Fix getGroups argument types and add several test cases for this. * Fix cppcheck and compiler warnings- Update to version 0.0.0+git20190829.a1479b1: * Make comment argument an array, so that we can support more than one comment character in the future. * Change the API * Fix size_t as return value of getc()- Update to version 0.0.0+git20190829.209219e: * Convert all functions to new error API * Convert econf_newKeyFile provide the error via return code- Update to version 0.0.0+git20190828.74eeb32: * Fix tst-arguments3 and tst-arguments4 and only use error return code. * Bug fixes for new API * Change API of econf_get* and econf_set* functions to return error code direct. * Fix some compiler warnings * Prevent possible crash when parsing 0xFF * Add "--enable-compiler-warnings" option to enable much more GCC compiler warnings * Fix more cppcheck warnings * Fix github actions build * Update bin/Makefile.am to work with Asan * Add missing tst-getconfdirs4-data to EXTRA_DIST * Fix some cppcheck warnings * Don't ignore getline return value * Add free for getStringValue in tst-group1 * Remove XFAIL for tst-groups1 * Update example.c to free after getStringValue * Add addbrackets for getValue functions * tst-getconfdirs4: make sure, only a file in /etc/ and not in /usr/etc works, too.- Update to version 0.0.0+git20190827.5ed5492: * Mark all input char pointer as const in the official API- Update to version 0.0.0+git20190827.b243e6c: * getStringValueNum returns a newly allocated string or NULL in error case.- Update to version 0.0.0+git20190827.8374759: * Fix missing return * Remove XFAIL for tst-setgetvalues1 * Fix representation of float and double values * Add preliminary test case for group handling * NULL terminate string returned by addbrackets * Fix addbrackets function- Update to version 0.0.0+git20190826.99b6bf3: * Add more "const". * Fix setString and setBoolean * Add test suite which sets and gets all possible kind of types. Some are failing, so mark this test as XFAIL. * Start marking some string arguments/results as const * Optimize some strdup away * Mark econf_write_key_file as ALPHA as the API is not stable- Update to version 0.0.0+git20190826.9e69003: * Update ccpp.yml * Add --enable-compiler-checks option to configure, enables AddressSanitizer * Fix printf format directive * Rework set*Value functions for error checking and error handling * Add tst-getconfdirs3: verify we can load original file without local changes * Error handling for econf_getGroups and econf_getKeys * More errorreporting changes * Fix make distcheck/don't mess around with libtool install/uninstall, this breaks to much other stuff. * Autotools cleanup and fixes * Fix logindefs1 test case- Update to version 0.0.0+git20190823.09a8f2e: * Fix buffer overlow of realpath- Update to version 0.0.0+git20190823.acd8cdf: * Update ccpp.yml * Fix crash in strcmp, if strchr returns NULL * Add error reporting to econf_merge_key_files and adjust the depending code. * setStringValue return NULL on error/key not found * Add framework for correct error reporting * Disable searching through XDG dirs for now * Add test cases for econf_get_conf_from_dirs * Update comment setValue -> econf_setValue * Update test cases to use econf_destroy * Replace econf_afree with econf_destroy in example * Add _generic macro to free memory of econf_ functions * Add tst-merge2 to .gitignore * Fix pointer arithmetic * Adjust Makefiles and code to make "make distcheck" working- Update to version 0.0.0+git20190822.bb9702b: * Ignore /usr file if /etc exists when merging * Add NULL value handling * Update merge example * Rework merge_functionality * Use deep copies instead of pointers for merged files * Replace [] with KEY_FILE_NULL_VALUE * Refactor getfilecontent functions * Remove cmake files * Fix test cases * Update libeconf.c * Change License from LGPL-2.1 to MIT * libeconf.pc should only be deleted on distclean, not normal clean * Fix delim argument * Add more test cases for login.defs and wrong arguments * Link libeconf against libm, so that it is enough to link an application against libeconf and developers don't need to bother with other dependencies * Add autogen.sh, which calls autoconf/automake/libtool in the correct order to create the configure script- Update to version 0.0.0+git20190820.742af8c: * Remove accidental .swp file * Update example with conf.d directory * Remove regex, replace with strchr(delim, ch) * Add symbol versioning Don't ignore complete lib directory * Include all headers in tar archive * Don't define our own errno * Remove wrong commit * Add some basic tests- Update to version 0.0.0+git20190807.7aedb57: * Refactor getfilecontent functions * Update example file * Add econf prefix to public API functions * Add cmake targets for debugging * Fix build with cmake * Fix build with autotools * Move Key_File allocation from the stack to the heap * Move Key_File create functions to libeconf.c * Move destroy functions from helpers.c to libeconf.c * Add macro to set supported types generic.- Initial versions390zl38 16941007790.5.2-150400.3.6.10.5.2-150400.3.6.1econftooleconftool.8.gz/usr/bin//usr/share/man/man8/-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:30583/SUSE_SLE-15-SP4_Update/65ad791a73386a0ce22babab42c1c2b2-libeconf.SUSE_SLE-15-SP4_Updatecpioxz5s390x-suse-linuxELF 64-bit MSB shared object, IBM S/390, version 1 (SYSV), dynamically linked, interpreter /lib/ld64.so.1, BuildID[sha1]=48a773c96c65771fb62793c27df965ede144cd0b, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRR RRRRRRR4ےRAjC{Vutf-852e967f2ecb1a4985858ddd93e3db21b680330f18529090290fc252051773285? 7zXZ !t/"] crv9wyY9OݷkAQrei *cir^Aޖs06 b?79ATwGr8vIE$fbȠ#Ih6UJ9 4KeԚIbYqϢJֳK_<(٩!2HQ6 Fo}F|+]7bS@ѹeH}vCu3in=/+̎-فˡJ+½o[涠NJ$rG;ec59K}^uv(Vl4KAQvXwִr &5bZe0TɍRtJH IO&@\dvK1AY^ݬ!*֖Ӑa+mOQR S<#*ˣUii8nwEy&Y7THw.6m8uwθn\K E9|J7P>֡|ᝰB<DDNCKd,; УR!{hd䀐o_u'5ũ>v/3.(q> *#= .1ouO 1:tOduYYq"GӘ,$̟&E" -])(w!N kIϴ[AeAsƉ/35a쁟ðw.&* J1D&/eYE{+Lekr $6 9wk_ao3+b_bOᠡSuY0ޫmVI]8'^V]}z ɛ&'Hij(WoPF(S:aD7x ~ZXK[\.)LB0Ġ&+_}`s-^XތN]{%;Tf l JT~Ls'd/ ?y/SRt*@},顤TXrliWOT 1›F-W P,O,ygZ Xo&t'c,ĭjyr{ˡ$KiĽ}WF`ı? I@TcAz_yD%71B(2u' C]>xdBEuUbt쵝I1N3ᦩbABvw;4]W CWƓEt1*D$~[N#nLDjU7ӌӄ2'z 6o7լ]~ ;q$02#Ӵ WmaY^2 :}͎KB/J3O6Iz^ d:sOO|TTd (cp(#H}B"Tچ_/%3zUR"-\r|k=5U,MbT`nyEޅOFs 097q 73[՝ ||uB)uVSsöFcbo9}6EXyk#.WX(|Bc(/02'@~k<A7ޓ)=>Q=ʙYQS/x ItfG,fMR*%lj9 ᔶ6i/wco ˃;Ǒ5sLhc;d8 %b[хKr+Nvs6]}d5 UsInZUl|p(4iǐ~WZ:_Gޠic2 !pCnCmVJސRawߏDwn6tr؉AZ"Q,ϴpX yڋSWGmO6o,:Z!%Vc62UЁ}gxbhu 4 @XT;6 ;Cωp9-$Ϊ ^cn _NY*ܓʇbs\jcy"E/J,k H0;x'|Z,.P6=aDsM iń %!B@hxGeDX74-yzxtޤH[Mi/C՝-.Cri(kVh!YXmSl؂.\rm/a|1W?*}yGМqmu;f=^1[!2Vyd29|$`N^~ٹB^SeSy :+[y`KD֚[:mΟmĞ=' M2lPK=/_t:v\q`2SW9ȶBl<5`kn̗ݾid(ٙK2 k1C$mPwRyy$-4u\o]^׃mU)/Q`/绑Pw:/F}$~ƏD S8:˚uȈ=X sKV/+Z5Z^[!mr/#d>߶\+kG>Vz6C{D`h}_g\k( jWma7og0y?GUWӢ&ě.#߇Z *SNg@]fU]_씨Eس"u`[ lH*$nl]RSBs6 ,O^} J]>/QD>̫qF,xo)n'~a,^ YƟMRx)c3Tql{F;83K-#qdUoq)V7lG <̧LoU p؏$f |rFkal9P%tNe{~ swᵷQ0/ܩ3 !_&7]ՓD31@%_hna4~RC2$ y=,܇v|H]WЍ[ɵAl)I zs5쮗ڊ>jF$ ozAheY/N~ae)~x?~bE$Ɇ(;)eN,w?LYUĞa%E{^$=ExWJ:Ba'{1I4-n"{02ԝCamE u']ԿKuJD[7.iXTd2Rv\ܧ!)[/tiN^eV"=?ڮHm}VpI*+ YZc1|Ƨe;@& Sk}Y[P*?*2THwd%S~ _؊޼vPa-ҪnǬb~$"+VsI1GCta! iTt椧.]e> _"+Ԫsoa VM=^ jn/Qq]oBP%eV$sua3g>G?.jhviS.=߳UfА/%(HUqaGg cT|026#j%$,KiZpެ)MgXh,^HLgV92~@]`ٴt/_CԨSfS )dAؤ5S2Pn(Hwak;*]qWoDŘu5rZuhtƊ憁ۢ!?S6?n=(@yi<1I,qАL|丒WD>fde"l?3p gѥ1}c&cdoO "|$󷡰vF^^ɹrem~:!5f<~-Ѝ!\V[ZP,<ftK#ˀuM>Xkb`^m=g<]UjyU8 gn J>|B ܤhcG9dVW2bŭB,6"ӳ 6{o2=ȸ)q/pSg;- '-׷8/wsvB'b=5߅ [dvg?ܭ-.٠RrtLr`ZI(˦x.E [aW}t*Sw&[KhIΑPؼх'>9Ta(f<8o[Ld򐹣|gl榗.|ctL~NH [~PYhovI'{ԧ͎l؎bB𛂍8Lm$AR2svo (4Iz zfmgћ{6=aY]viy,Dԝg4u9tƨіDbÈLZ+U*[*W4?9"Q ;cU++c'/u@9s\IO9CG35{0?s%I:tj WB1e)?3In)G .]m$%k7L&QJj Aߌ"#޽X1 vmTz~+șB/d2F@{FZr/7DמS s<3L@s큵[~7bɫ2W#{TNm>t\=o@ќ|qP#>MUMxx5J?W]:"$a7;3C}g\ۤpҋ|-z좂knFK(#Ses }F ɡ6[Rrh8%n4{䞌eew($䖶AI Z ie>"X.6q!Mu<[b%bӮ9n}䛻Bi='v JO{d/&=fD5M8XqYëSfbƈ8帆(گ(ǒ"*7/?g$ȎffC6 x'H%MAS =5x*8u4s#pnX$X1g'I\؇vxlEGʌ"ǒ8'II2h̺b~0@L{%kWVG XĐ 용,5w^V|y^Hbܚ G:~s$$3m|? )Fp悞oVtN\wnR *at cm{|<O^4].?EeU8,ֵls?! ewtŧE/@^0fMQ?dʢjMnIlvcߣb6(vTK9svWW'qk {@7lܓ}ʋx"mc%q6 dG0x6F6L-c`dt uUVe=+rn2Nc:ߏG+p`v'p蛱ڮ|_?s ?5ĖraNq2ȥf~{*Nl[w69E8-H|<<9]3QnS9 !`_~sy r*t3Z awD*U/A/oU &[z.!,qx Hr \g_m/bA?I8 -:M (EIZiNp jیڨف:LsD\k;/ 1ĺw_E_^P(#.eXw|r Ȕo*NsrTj/F"ɵ7(ZNClx bMs3pykCd$RZߏȑ{h%3eN0ܙRl}"I XWZMs"h˃DD*=l[:C*иnk|j0{+5-,Fl "rƾm#]]deyntC,:->/ ¦a nȎJ>Cx;5TH:_D9fren=IbKn5E=|bF,2Lg`;bFTक़W Y Ly~+(NSrbw%vNrmKn m_ṰDT8Dɂd o}%5Jʓ&Uy\:kgbjov)f-{#F4&Ra@ۦE֐z}LO] lN67q(bR5ٟ!c ߒZR?~pQ{$EMc _ ;@nPhl' |vН< b D&,{,Aٛ@D-Munyk땩h4Eܖ?Z' =E25 (nj8I&e#zC/}.GQZA6S\uC:[x+I98o΃]җmO8xvTMEsQ_'ʟFt-`Is&z Tc`(Ad3!)OwFQgs^GrcsM;k]2c~sPۮ9BKOVI|舁i_诎Rs,b5VH@ru8,Yֶ/Mr뤺_eӒX9_T05 k+v uKDMG[Pjs]3pu q8ZVsyˀ]% , ҫS0lG4K&o CV3ɼ\ aJp5">T?W̞ŗ!4KH (0a`Cl)!0K7 Q]K0gF=~ YZ