libeconf-utils-0.5.2-150400.3.6.1 >  A dp9|G_S_AUeG_mxxJ+\]{n~Kmm%T.b'vwE;}V>6:IXnc몱UZHMθ}L0$ߐw;iԍN2smul=!`,ad)  0,#Xnծn4oSgo-Wa|tLjgɢ!@V>7Ot(NMŵ$DYm`e{x{bd03221f3ec81bc9d958fb8f436255779c2239378cb34137118d4823184d685a28def85c649d4cca677edb4132e1cc507e6e08a5jddp9|o1W$^2S<^9=$Eu&1C &T.1 ߴkܴqyo:"Z>Ϛ#YǑoz=wrPUu| \>delSKk$ى"?z+?L]]ޖӷE(?KJi]{vA`߳)/.`C W^hX՘uV4$lRy+C][wEU9 T֥1>p>B ?Bd $ H "GMX` d h p  4<d   ()80191:1F>cG>|H>I>X>Y>\>]>^>b?c?d@,e@1f@4l@6u@Lv@TwAxAyAzAAAAB Clibeconf-utils0.5.2150400.3.6.1Command line interface for libeconfThis package contains tools for handling configuration files in e.g. /usr/etc and /etc.dh02-armsrv30BSUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/System/Basehttps://github.com/openSUSE/libeconflinuxaarch64*R큤dd1413d8f943b98c9ccc70bdba708a67ac8d4195b3bc4f4d2caacac8589aebf73e6afea94e03e14835557b82a22361f3e93a2d32b21ebf442c1fdaf8e0f68f1348rootrootrootrootlibeconf-0.5.2-150400.3.6.1.src.rpmlibeconf-utilslibeconf-utils(aarch-64)@@@@@@@@    ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)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 versionh02-armsrv3 16941006890.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_Updatecpioxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=bec5b03d5f9e66eaaa4340a4fa212991fa1abed4, for GNU/Linux 3.7.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRRRRR3qa9l=Uutf-8379ed26bd1ec50cc8a7a2697304266dda93b762e46db13c68eb19d91e483d870? 7zXZ !t/1#] crv9wyͤ: R`*PfUG15HzFKxWkE#JZH%<*v8 +OZ( z]Yrr%[V+=\P@c(rQN/a#-W \sa<Sm\N?:%T4˸ ~ ގDwT@3ơ }*54wUptgΧ1FhZ1lG<_h(#F-m]{fЩ,aȗ鲷H/DfWn_ɥ@m88YlcЁTA~aQ׍ a˴mB*]/Ûo*](qTIV|pHđjtOlIq|K 8T-Ӳy w14E[$><\-r [0tZRL@g^|l( u{fIC*^NlSdL-^)[?a}{ڎFRt [8chkH^G~xyZt o蒁L,a|MsIM'u pe'`uk!%\a@;RupQy/ƽi6,6=MUJDH~f GҫN6k#eKW5*w#5 b`YKn#ҟbׁ9`;[q+#ՉB` B5u=!Y7|@tYos<8*7d- BW Uei]$ /BdM0R$^}!G Y?u6a:}S-)rt&FJ }VϤ) >#:d* xy|v8f |bT 8[_~:M8DMSPI *!oACFN%۸M${:"8{LB'{4MDB|Ӧ-{B2Y٥uZ#C;zլozqśɓO`qSӠ{IֺQJj;EWG:iyV/#5QqS0Jo#;]=E#s R@LI5TrADIiBy_t>4 /Nh&]kl Nv 긠@WUa o`;Ҵg'.sEg.02J%ƦC^ %geby6|57'-<'uUymSML`[W?ɐYM΅0%[4G:6cfu's"˹8*{ 0BHЎ̘c 5HᷙizsD< t71{xԞ Q`XDQ;gp~N&e U%ҁ1MJhRS%+ ҅OB/Sͷ}9φF /|^RkkA?*N%ae <%ֺأYق)&ɞY # *˻~*ַR&v‚>E-}y&8TX-ժ15\—/2sI6369c+cf]{_v"a4ݚlH(|R|ˍ=G5+Jsat&}LJ9GDsL 7Ue:";QxP{Ǐ& y[a=YW;*2ڲt6NIb4~y$Q j^J% G; h?cܤѳc2AsKS\J+} _8xM^/N9Z%Uc5Eɿ"Mx)LRzގg3ʖq׋ɹư/}FO] FZؐ6W TZe4Fvn(wycpUvX?'j ш9Z\vg=Rn=XhI'oKYi.\GEnn~2 A8!K=0tG i|CWJB/3NFWVz'ِΓ0w[|OB*#AVU@aڝ}>R:v?Pn#S'A19@zl]sX'2OfνiCF!$_؅]6Rym |ʄ)RT S.BG$F=cdI%=wC&WUZa Zj!!2a=hi,;5SU%cڑ]ܯ[Q@d'!Fa ZkOd(.&ܝ2ߖsWiSxgv_sB/ӚlDf^Nk $G!=X9#tH(uen0f8)(ܕy?6ħpoi?D)Zz }<;==>"I| $d|ijiBW;a.:l]_|TfU,$8/C22Mv|d[JH_03S kGEy!'ՁDIݝ* ToIb޴"+?1.-LIJQ$> :Ep#Bk aw$gsӼ5hi4&}= .;(:9Sbb;]' B3rEʩY>)KG^ROUoX삀G:-S}wknWׁ+Y'X?)Zԅ>$\Èͱ1,U! [Yr Qɔlwp%&iF.RUʩ!&S0“k"T^D(Һ#;RaAov>5/5I~vT"7zt{}6Z;dN M^k2CkiqU GsH}/k&u4 ::>΁iٯ *"jӒs^+8N[k6~2[ZxO| UeATU9H5]"7ulx<1Xj0৑8_ ,!Æ6b%-r9ߊ6N68W6,.ޑEžf29GQ鴮KCzN7 L,-9E'C7XbWsǬ?b Bj4?vEϱ@a21;{.]jb*2ieFP͉fSplxvJD+D7sU @K$nΏn{V(w $7pjQkr%-5a&9m$ϹXvܠ%bZL˻qҠu7!~&<8*b9Dn§!(brE,/Fy?),+|F**F-x!?QNްYתM``eq=).%F#J뛧P kyOKM_!}$ <&pmKeQNt&{rSLL.$&YT<0偏6!==pH3e3C{Jg]$ˣ&PpPm[D8;ޝ!{A{5|n9׌ãMe~ !?}[z&BIl46)kfդ$o76 =<>zxS_CJ(BRBW͕d%.E{cVhxL!8([˩ &o@#MWӶljB }5VCl`?]Fּɦ50Xbf!ɆIQCv6& "̾fн`G's*JlqNqM66a}tEIp`Eh ;桥|)!z{u9 < *pݼuLWrUL?~w52~d;)yN-uX]5L:l<>nh˥8E]M$vɜa h~mh-.ぐӆTCy$J ap%l?zmry8g4"Ѐ{,BzGkE5Py*J+ġO0b#R*uc -Kdbڐ\v7c7j9[+O%+!iRhf12{X_hͩisi(%L8n͙~񪹐$u)E@0B|WMMAmd3p.m`,NԊA[Ml%Va.<6*[hRYX ӣs=6w #}m&' :t WİH=;]Nc˔abQ | [SE7X ƉbJr5~=/w{)Q G|2k-¹RK C0Qh_O FEiF~0Hyk'nB \5ax#+qChC/(VGY_N܉OIO,:g Xi^T]?+/lyу@PB <$!oQ.'966T-os2@'Y\4S2ye2E%u%epߚp* pЮƖ1EIsaw.j%`" җalHr5Wۍw=CqL\D -Oz%@(HjN8ljy:kh-8lQzwJ悅CPBU,|BLefHh?3A)ϧWn*+a[)ڌtnI5O5bX~ X%@(^. x;Mf4"]"ͥ'~OxYBG@ݡwxOĚ$;)4 ׸bHbVj8T]PCK{pqW?Q! !xzB¹5cu Un W@p*ُ]eb}@Ppzj砹BL|h]")!f(It6(aJGrdHDNwaQZ^F!rGp],*e 7fإݛ=ǹ=īa5dxq* 0$b2QF8 .}"y8DKTY_c4 1.\nQ2Vvg4ջMDo x̹6бE%1CxQzȭZPJ1;M95o֔ma(l&GGPR}$tDK~fe{a\c84b&i\=Fg\F %37Sڮ&a#8͊Z#Oaa(X9%vRC̝ m^Kyfhr*nMNB0ŽO{D@|O'o7,S(J|6q@^4X yJ@`2H4J!7@)Bd\l # wxEenLu]u<~._tn>)ci 鎳'nwjșJ+}VJޢO1Bh>ln\8|__v[Bt}P2&:4N>6 `=MFC vM}f}w(jVYXnfٻe`ptŋb!^R&1sX>M=J>+U@ ]G[{ly2b)F31;͸O qaOӷ>戰;Kz:)(dD}ta|zM_.y!B?b>*l9F A&ks1Xo8b]2Wo?/ so?!ۚ  ZٵtوI&Lr]PB&I]^wl`[ϓ4.s$fԪs檀@ Cw`K/6,G]dPa%--ԛMaq g-/lPvF~6=W}bgxDNw\϶JJo Rq><{9&];9NvT%ʦ*Fc6]Km]¬s5a-'~<O)p+.3fӒ6QSȌ!^}܆o%FJXv e)y5HC_)ۀLVwbM:~p' MA'T&7*wG@=U.-9nRv,o0M.>_|2h\4)d=u;Ǖk-u %|5D;3! :}#FC>#n Bˠ7bu%\mRdœ~145zdU)tdf}l}%BηWd vŸ7ʚC[\(>15" 'o,N="ÉxȨ>AfgWz,!epv7ա%_/v؀`!K|8؅)hrӎ oT BW !2dF1O#1oLuyxj7V O@0g}Jю'd;@xRt,kWH$LuvgeF!V e+O}.C,뼀s;2UOJǧ1B) @%ݕ?R?Fm8_VA4xHǾAhan 5K{3Zd%%>c}iήz"8[[7 tCbǕ2MyN+sj~ŵ6