ploop-1.7-1> A AlpA?Qg Զi +e~.L7Ba x R{/HBQlY6293225b1f56ab2c1fb98f8fd50d2d2d2721e209+BXaÉku9V?Qg ԶP[,@_euqHc<h[v&S5n @{ E>8-S?-Cd   `dtx          b  l    4< l I (d8l9:F(G($ H(L I(t X(Y(\( ]( ^)$b)Kd)e)f)k)l)t* u*< v*dw+ x+< y+d.z,{,, Cploop1.71ploop toolsThis package contains tools to work with ploop devices and images.Qf?rhel5-32-build@GNU GPLApplications/Systemlinuxi386 l6TtXT 큤Qf>Qf>Qf?Qf?Qf?Qf?Qf?Qf?Qf?Qf>a42395dbf879d283a2b4bb7165dd5ea0a6783235f7fe576645b280c50d518591a3edf1548793428f3426dbec94d7d4ede764f88589e683cff9158f1dea503c1d637a8e9e30c613e4a3c0c71e212f2bd8c0dca50381b9c8023ae5f82514ae12bb3006d19bcb22443f236e10ba85d63c8bed1cdf67a803549d0b0a2b793a1e9823c8864f48cc1882124d154b49fe3ee1ce572cbea10a325a44aa19d3a8039a4ae3rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootploop-1.7-1.src.rpmploop@@@@@@@@JJ@/bin/shlibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libploop.soploop-librpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rtld(GNU_HASH)1.73.0.4-14.0-14.4.2Q<`P)PaH`O`OOOjO^`Kir Kolyshkin 1.7-1Kir Kolyshkin 1.6-1Kir Kolyshkin 1.5-1Kir Kolyshkin 1.4-1Kir Kolyshkin 1.3-1Kir Kolyshkin 1.2-1Kir Kolyshkin 1.1-1Kir Kolyshkin 1.0-1- New functionality: -- Large ploop image format support --- Now image size limit is 64 TB (was 2TB) --- Kernel >= 042stab078 is required -- Move ploop_grow* functions from tools to lib -- ploop grow: add DiskDescriptor.xml support -- ploop init, ploop_create_image(): add FS blocksize parameter - Improvements: -- make_fs(): create ext4fs with lazy_itable_init --- 3x smaller size and 3x faster creation time for 20GB image -- lib/ploop.h: "unexport" some internal functions -- Use /proc/self/mountinfo to get mount point by device -- More clear errors on parsing DiskDescriptor.xml -- print_output(): generalize print_lsof(), improve -- add_delta(): print more diags if EBUSY -- extend_delta_array(): print errors, return SYSEXIT_* -- run_prg(): print error if execvp() failed -- lib/balloon.c: print file name in an error message -- Introduce and use p_memalign(), fix errno handling -- Improvements and fixes to ploop_grow_*() to be used from library -- ploop_read_disk_descr(): set *di to NULL in case of error -- ploop_find_dev(): always assume ploop cookie is supported -- resize_fs(): try harder to find resize2fs binary -- Makefile.inc: ability to add CFLAGS - Fixes: -- lib/lock.c: create_file(): make sure dir exists (#2493, #2597) -- lib/fsutils.c: use ploop_execvp, drop absolute paths to binaries (#2595) -- ploop_log(): fix loglevel checking for file logging -- ploop_snapshot_switch_param: guids are const -- Recreate ploopXpY devices on ploop mount -- ploop_find_dev(): treat ENODEV as ENOENT on /sys reads -- use basename() to strip device from path -- ploop list: check for extra arguments -- ploop balloon: fix -f option processing -- Fixed lots of memory leaks, mostly on error paths -- open_delta(): simplify error handling -- Fixes for other issues big and small, reported by Coverity- New functionality: - * offline image shrink support - * tools: added snapshot-list functionality - * extend switch snapshot functionality: ploop_switch_snapshot_ex() - * ploop.spec: disable udev iosched config for ploop devices - * ploop list: added functionality to list mount points - Bug fixes: - * ploop_mount_fs(): use mount_data for first mount - * ploop_mount(): do not allow to use ploop on fs w/o extents - * ploop_{create,resize}_image(): fixed size checks and rounding - * ploop_create_image(): fix memory leak on error path - * ploop_get_info(): fix reported disk size after switching snapshot - * ploop_get_info(): fix when ploop device is not mounted - * ploop_{umount,resize}_image() and many others: do not return -1 - Improvements: - * much faster resize when using resize2fs with EXT4_IOC_RESIZE_FS support - * ploop discard: add cancellation support - * ploop_resize_image(): use real blocksize - * parse_xml(): deny processing DiskDescriptor.xml with several - * do not auto-generate dynload.h, instead check if it's uptodate - * create_image(): display error message for incorrect parameters case - * introduce/use SYSEXIT_DEV_NOT_MOUNTED and SYSEXIT_FSCK errors - * alloc_diskdescriptor(): log error if calloc() fails - * ploop.spec: require util-linux, e2fsprogs etc. - * ploop.spec: require libs of the proper arch- NOTE: this version requires vzkernel >= 2.6.32-042stab061.1 - New functionality: - * switch from old /dev/ploop/ symlink-based to new kernel cookie registration - * snapshots: switch to schema with constant top delta uuid - * use /proc/vz/ploop_minor based interface to get free minor - * if ploop is in maintenance state, try to complete it before doing snapshot/resize/merge/mount/umount/copy operation - * ploop mount: use in-kernel I/O module autodetection - * ploop balloon discard: new iterative compacting support - * ploop balloon discard: implement --stat - * ploop balloon discard: implement --automount - * ploop balloon discard: cancellation support - * ploop balloon: allow DiskDescriptor.xml argument - * ploop umount: implement -c component_name - * ploop list: implement - * /sbin/mount.ploop: do load ploop modules - Bug fixes: - * do not crash on empty DiskDescriptor.xml (libxml2 workaround) - * ploop convert: fix converting from expanded to raw - * ploop copy: fixed check for opened fd - * ploop copy: do not leak opened fds - * ploop create: fix gpt partition creation to be 4096 aligned - * ploop create, resize: round up size to be cluster aligned - * tools: few exit code fixes - * multiple usage, log and error message fixes - Improvements: - * ploop mount: check that mount point is a directory - * ploop umount: reduce retry count from 60 to 6 - * ploop umount: print lsof output in case of failed umount - * ploop create: for prealloc image, use ftruncate if fallocate not supported - * ploop create, resize: add check for correct block device size - * scripts: de-bash-ify - * assorted code refactoring, cleanups and nitpicks - Library API changes: - * add ploop_resolve_functions() to aid in dynamic library loading - * introduce optimized ploop_get_info_by_descr(), remove ploop_get_info() - * replace ploop_{alloc,read}_diskdescriptor() with ploop_read_disk_descr() - * remove ploop_getdevice()- ploop copy: fix data loss during migration (#2287) - ploop(8): fixed according to doc team review - ploop mount: tell about unsupported underlying fs - ploop-copy: improve usage - ploop-copy -s: added mode to copy to local file - tools/ploop.c: do not return -1 from main() - tools/ploop.c: fix/unify working with diskdescriptor- New functionality - ploop copy is working now - added pcopy's send_process() and receive_process() to lib - ploop mount: added -c option - ploop(8): added (still incomplete) - ploop balloon discard: add --to-free and --min-block - add Preallocated item to DiskDescriptor.xml - add add ploop_get_mnt_by_dev() to lib - Bug fixes - fixed offline snapshot creation - fixed race between register/unregister_ploop_dev() - create image: if fallocate is not supported, fail - ploop init, ploop mount: fix -b option value validation - ploop mount: fix usage, -d is optional - ploop info: fix usage, DiskDescriptor.xml is required - ploop.spec: make main package require -lib of the same version - fixed a few ioctl-related error messages - ploop_create_snapshot(): check for number of snapshots limit (127) - ploop.spec: do not own _libdir - fix SYSEXIT_PARAM value - tools/ploop.c: do not use ploop_err() - tools: fixed/improved usage for many commands - tools: do not forget to print newlines - make install: use /usr/lib64 LIBDIR for x86_64 - ploop_create_image(): free disk descriptor if fstype is NULL - create_balloon_file(): fix file name in error message - create_balloon_file(): umount and remove temp mnt point - create_balloon_file(): fix error message and return code - parse_xml(): add Blocksize validation - Improvements and cleanups - ploop lib: add visibility=hidden for internal functions - tools: use parse_size() and is_xml_name() where possible - remove merge_top_only param of get_delta_info() - ploop balloon: make it accept either -m or -d or both - ploop convert: change -t to -f - tools: unify parsing -f option - various code and headers cleanups - setver.sh: add -v, -b, -i- Added ploop_get_dev() function - Added ploop_set_component_name() function - Fix: do not clear in-use flag in ploop_fsck() - ploop-fsck: add -d flag to forcefully drop "in use" image flag - Fixed handling blocksize for raw images - Added user_xattr,acl to default mount options - ploop_mount(): added ability to pass MS_NOATIME flag - ploop-balloon: add discard command to compact ploop image - ploop_get_info(): return old info in case statfs() failed - expanded2preallocated(): if fallocate not supported, use ftruncate - ploop_resize_image(): Check is it possible to fallocate before inflating balloon file - Fixed merging all snapshots - Some fixes in ploop tool usage - Some log message fixes - Add function, source file and line number to error messages if DEBUG is set - Build system fixes/improvements- support for variable block size - default block size changed from 256K to 1M - ploop_set_log_file(): make NULL a valid argument - logger: introduce, use and expose PLOOP_LOG_NOCONSOLE - ploop_getdevice(): expose - ploop_store_diskdescriptor(): fix for a case when image is in root dir - Fixed expanded to preallocated conversion - Remove some unused functions and non-existent function prototypes - Introduce and use SYSEXIT_MKNOD error code - Changed image -> device mapping schema - Use strcasecmp for guid comparison - Made ploop_merge_param.guid field const - tools/ploop: remove -b option - tools/ploop: remove unused and untested replace & add commands - Log/error message fixes, improvements, and unification - Makefiles: fixes, improvements- initial versionrhel5-32-build 13700562559999999999Š‹njmklhp$1.7-1mount.ploopumount.ploopploopploop-balloonploop-copyploop-fsckploop-growploop-mergeploop-statploop.8.gz/sbin//usr/sbin//usr/share/man/man8/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tablescpiogzip9i386i386-redhat-linux-gnuBourne shell script text executableELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), strippeddirectory  &RRRRRRRRRR RRRRRR RRRRRR RRRRR RRRRR RRRRRR RRRRRRRR |{H{/system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:man_t:s0?Y tTյ LF0% A d`"K0ɝ2̽B'a,<WZ?W*(TI ZySlj^m3&b$Fܙ;\>ZO+g8feֲbV HnVŪZv62Ob[ M*Zdg1,7VVL2 ͕UKVVծYYQXR7Tʪ#k@q UۍD5uwTݱaMꪚ;VUU-c9EyYr] ~࣬9JƽR+ -B$|*K~Rl:hAـ[f"BqJRSZH"nU).5{vsaCF /V R B-fRrVH(\Ǵl`ŅϪe1G!0(V}!'iE/tKyG6Mdi xR;mHɨz jZ7y#gHpH^;̂6XD q R"FZ\.5ۥm]ib$%4t䄤qݲj M(|## 9_,Z^g0-*|;\>A6>"`0WeMT->0/G_v5En7Z ܶewq_5y\6gk&dZ$yG UwYG?l=?Z58`۩۸fs?xn[μOsP~V+S7yzn~>W[el6~DxFK9݁1 |>? mr.+9}{.m>qyOr뛳_e3q|r\/g |'~oy|/_9~K/㸚[9~hL>\^g>MS2O]>zo#r[88DX;/cxp?8}zpl]v9~6#vm|Q0a?Wq/9~H'}F|}M ?JssUp|+z 8~/N!_CP ^sS' `xNoY?5|7W/`~\"5 LlO`37‹צ& X|ޔ_6jє[x;>?ㅰ>agOXd}`ʝmXa=?V}y&4]žRnv0/qK*SvCmW_U| mCv}KW5hvP*k9Se[ni`kwՅmf_ IB&\&qszs]YphiP zG+^,M.3i)r#r,%ˠF#܏edDy@"ǫ1[tt:; gAa48 #OңdJ 2bg_ U5Ipݵ} E7&C _żNA9xslSn !,JTc2c__p9-{,{fJ#{p-' 4T@*h>7 DWr $W^#noM4@38Aq(r3v,ȭ/4m 4'd/IgN v-ONK]A{4 fUO^š1\®lH _4;XreA A v'& 7Q:1昮²ۖˊ˓oeɷ9[iM!;O8ٜ>VMIOcFgbslO5l5o q]C_Nc'8@8[W)w%ɱ*g9;7r%#ъ#8p+xn܁#Gw?I;p|KG8.{>#\V>vpzn3p$q ykkۂw8c!/8Zaǩ@%8B p o~pac Bu6V8q9S[p"B_Mp_q8BUpW58"pFDžoG88.6#ƾ[_ :TYW Oňzw~b(8!`(;c$)%*0F2q;a090F20F-J0Fx-a@" ^[㥄1""aL O `c*Fl' c*;~J;O#YO#ZEV! c+{~0FAW10fr'13O3D c( +Yh?3{'hwG0f""E3K0fRx;a4Zq?a8˜y &^K3PE0fq)aHH3SQO  1SVC1cd?a\e'O3Xi' c&+?" cF+~˜3d?ape/O3]9@ƌW:~˜Q0V'@9AƊ2(10Ve'BI_"ƊY֏G'+(xQ.cA`tj̪P cMX{oj'GFᷴX6YZg;p^)hz5ݶfx1庶}Ӑ_#i D|zSH2 uwiӄCoTvm"/y& ~iOꟴJK.D&Gp%cn{Ch֔@ I)_&mі製Lqdf3 fEǠ=xaZöU~a%V>ߎFHH096 Gݶ^=:v,.?ȢC>pkű<gDtPj2۷$& 9w3 E,hw߂18+zïi?>H~6c "jl7p8w066BZ"7߆5kq: OͶm`n'ӃFEHJ ^?Km&mc.H/Ouwm$wu0w܂.'W`~iF;oQ}94hҮόR~p9LvD14S;ֺ ir?xt)vf/C5|opڈq5~V'Rd##`C|d]M{$ĵ'Zvthl' RT{Ny}P>Nem?c~#3 C{{@Y垬?ElpE'AwĜL?9 5uj8Bk~%:? .GS9=SAQ3,MCN É?qy-ɓ,BmOL凇2*ق MQ?7i(2n>!tM d#sN~,^q J@ p9QΥ>9Mlt.ˍy{5YWc/!: %91䇿o+Ygeo깟4Y:a9]$nOtI>f_<tT3XB( -&aX ǰI@4ǰ3b%duh6Y=r\wkw]Ѹ ,= * n,30{7$(}( !x _I=9y4yoX%< =|㠅\ܚ2b̋˶qjB`%1w~4NxmN1^~uMW395\)SvoQwq47 ֎HQ2d/lޑ8.0hg| be!+",>ؿ u+0.0H k̿)+] !ݪA8vkGGUolfTh}j/ie4z%%诎B} ـM!ȶ&j(LJq>8~ɐ\ 0? B_'3C]2iFyG](n[=7m"|]]qL6 _nC\XG@̋O"[ .aB$`">zHC>' =Ïe^[l N<{sg>I뛌g4J4Hv'5jBubGbFRʴY~:ab< p {V4HgRD| -Cit)N@g=uO|*=`-]JTtO?ł'_CUމAO>@'7:׿zQJrQ>T+}ɣߔGvG4?#-!/g;1G:N-7pC4rI 1 }S*' ԧzŪR Nǿ ;=T\)e pǞ,`?g׷uy:/ w^<#g&KǙ ᄃI穈Q:f.L:$ (:C0Ebz.0ZYM5@IF;w!`zFϏ8/l$2y;'r'VtDBTvð.zY,xBOwq 0A.Ē4"OY>x5tG⃇ܜ(#qq>uRןR:V}Jv`d6pO)͚lD_*J~04'~afW<@ g[z& * lellʓCn4:#EjHl0G؀N"bYWQBdIx{[O6ny-q:%.'D>sˣGbi5V?q6Sa~[_O+&HŇЭXڟ/osBW1X;_" P﹀7pUAD{7/UIJ j}p%hG4Ypƣp^S'-{Mk} C ɲAf9,Nwƈڭ1!)>>M6ǑrgP֐]1pCFcF̱-) 5972 LabJ[ÃlP2C ?XՅ!w|6X Yӱ+uFwJʆĢk>z݊t~V"x|=MhUY-**2t' 7 k'R}F5~F/B'N]=#V ѠX",az gt{i5H۬,ZL@UQŻo'޲a/u彲d٠. hןw;^o"hzzl(^+=69̛ަ,ޤ%>wbM DCO|QiO\yT_#zwœM ȡ5gDp#  \ZF6,Ҕ^9<4r ȾwЎl-*a7??zbyZYmaHBP{/BBIg{R3 v2LlgF{}R:i>k|J  &jPg>'֐)cǐDP_ȝ&i948yi{S"9ÇoRI?2U[Xcnu6dH=$-d;b FB£Zn\Y%{H°/zBgy6X3zpCq;vq#iQ1N9F&Atk-8H4i| BdC؇2zyyF,?ᨔD_W\>K&p5P,?ի_ Lʳَ |5"˭TS^e7q7a9>+p\!>lexG E,״.M皼JSuUJquuhf lOVgwWycOe'մ]*LYfofx\B e-bmWV]r@ն̋8.-ǟ0-Cydf7vDJrKLyEWpf~#Ą L;*Ea'P_i0Ŗi'V(~VůiUT֏%[u(7j")/_$e5_LVю8 ._dmn8qc }`_%~OĽZĭ- ZSp32DW\x‡<mX()kx̙(Y\+Ⱦ XsA ą_LRCރm^:4zO!~fgu:CԘe\7-41 v͒;1&P$PA tN>L>B颴)Ugf"tL .< dx/\Vqo6[2)$7"}-%ֹEZB^u8xX<95^=n87ti8kad }[ ^4VT'Hac!bɓi= \f`Vi!j]ԉ>S㞌L릱]H5yY@c]QCJ,^ JI# @ׅ:"VTe$5NFa3c:c:c:c:] pTM، RdtP$ ;EM6!hؤf`6 `P!102FJR!Bs7 83Ͻ{k{I7^ 周JL=Nzګ@d^c\C='sVT]o69U!3<}U 5ԯYrr3rmjIQ( c?>@NvY*@ŃU|t]$ƭ#lÈ*Ob( ehF2ޛ7 m(a'fOׂe%T *T^@@'v𞟦0T=FWCVGB"w؁ƕſ kJ_g:ߜ a֚}Y7oO%tĿ;`wӫH> Gҿ_o(fYUKnYKE .# pJ'IoX@Ʀc< H!B:礧N|ӲI#]M40Io"t;޷-8w- 8vX;- 8'I˲V.m,2tey!ݸײT(Ypgg i`k~lY;H7~bYA[҉dCzRH'=I!ҳ>rxlOZ`$: ϒ }d%LL @cģSW'#51T#Gcķ$??b㵥l1 k}Mxeƈ_~T|Ʊ(;>{mx6/M_t#eL,s94:ݸJLIL\Zzrnb OMl07ZFXO^<n SZd6kZ%dSc^k>4yݶۗg27lI.mLC\߳ 똳+]Luw@% ee48ueZsn\i>tF *~'N4v=) `?S-|ajzH9]/=g[ZF[k,|xx}Ye%86%~ W+4e? E|"A[]8&}iϲʆP< e9M:̾V]-եIɠݸG2$d6Id! &-$m$H:HN ZIHƓ& ,$YADI)>AO$>$$I$ IV4l!i#9@Ardt>dp@p%_"gړx/(5 8f,USq,{YgpNprIβ¿,-’l`8Ӿ&pzGӫ_3xx\g] 8 uXAia\DzZC?lsf=ߗt: !jsJmάjVn9yN5͙k~6g֗._osfUE}z5ulmRpdpH)Yफi9aYqذQ_>#r.ă%A \s+ H3Z|T`:A@*RyE X5,*|8 Ps+yrIp~HD㞢92Q rJ瑊I E˪BQTP*S?LN?)3L鼗r2+ٜJ8xGn W4IP9܌/RHJ;N <| g$1|Pm\I=+s%i&JMΕd#)Vds%+iɹ+)\Ii&Jarts%e+Fs%59W8s%M09W$s%M59W4s%09Wҽ&Jz\ILΕorɹJLΕTjr$ 4 7 n:*B*7ZJB@h9-r%Un U*7ZZB@hy=r'Tn QC*7zJB@9=r'Un U*7zZB@y#@HP0"ln vߥ\ѾX/c/bl/4d2 6x_eH$$}A\<]!}iiN8h[žq^8(WƱq'eacM>+}~+~<ǞIzA_YFGYuԾFaÈCsU6:$"0HݣꈣoPMuF*S£1RvV Zw} ^2oae;Nc08.ċYE-Ax'^;zRy0j{*៳J9o=9`b@p=!.Bm f 9&K9hԼN?g<"yZ%6yC~BX"@g#16HͰW~#|p@^6 h('!]wK9kR^=ղ=٬Hnyy!yf'N 6fD1Kts^Gd&Q~l /J}U]O|7Zu`׫_v׵3t(6^l]-V׮ΙޘhϨSWVVs&B=:zJȂnAWՒV>9,vI%iBIv𒬌Đpέ( dA虈6m_^ѮA?g0 l%_AW Uzus? ʢN`YGGŬ:6(uGT0U4wk o]͹M7΅g9k!:u|uijQLO{۶m?,߷ú~սth7}YLJK:T)kJ!)9߈q*{:lox?28I^Ge:+]6|?lbc(u[itcܝ_h[Uo"K:TA2ZU5Au`iЇ 5"{ͧ=LDؓ З'4]l sonN!塇ޜs9;ޛ~՛#~oVGuzbLR<]|>A/^TS*?<GtuiU\,L,}:̾Oah[znķ˕- Y~;ahoӏ=.=4|+lzV h6O%ZzMO8yDl^&NgQٗiF^wYsXz.-ctM6}LRqQ6߬crΛM"FIZ9asq *_j|- |Oipq6 X /N\O8%yfU+Sn>-:ܼs0 pί6+_xSS:)l9 =sNqy)~8޲S+[eSXS|܂SdY)~ӈCő-s-9WmN{\eEy2Rn Z\f,Fr 8&yVOS1oSgùl0$Ȧ$1ʟ%9y:2?ןAR~\:fP-U|f̴ɢM#-g,DX.m 1o"|2%XDF[%RmXDL*P$N2?qimAJ^w>u[rj4lT,1L65{;apl$Lv!1c<)ġD+LP6&O3uif}-+ =K27s'0lZcdbA3_3I3$pPplpRi9@!BŵެbImXΥ/@& q9d|1Pt.I#9"&ra$=KL/K#mj G._xgh0;ѺP󱈹s[叺8/9;o^B2ghDzLfEPi)Ua4+d^Qrr6[e^/W611>j";mrX'w{֚cC"I N%i#WƮTj\&U8(,(J![U~9H-ᶕ162=>Fmt80#h(SNJ ˣEEN`poF߆ "0D,y\i0g|q auo8,ZkQ5 `܅ s|$Z ׷ ZƘ:uF}` /䃱vm<1{S[pm.X۵} u}5m_O*7?H[A{I 5t*H& /-t{H]: d. E(TPP(ɩࢣHCyC~qw/]*ĩ9p >.^VmdC$@HGa@UdA#z$~dFp %gIncm9]]\l㘚,RXXƻ=puC0W1Xc0qNtȱ8gpruU挭M\a2:8G=q:ۯ߯LW9>i\]~!{.rMqCvuݮnW9' Vp:>%<^γ[үyWWYۧ|ԵOښ<8_Wֵ}/O{zO]Ǩu.LֵOҳ_A;ijڧ"uf<9o>mǫkCuIh\_>3O6Mlѱ筋*Cuf/`ю>\:{vڥwLgTީ >:{uN;Uw^gTީWtN5z]gSGuNj;աw8 Q8)iqڡץ %Q=N(qBTJzPR'\8TjB8FTjF8TjJ8TjN8UjR8FUjV8M3 ⫇04343ghPgP%MN=Cg J!23PHH[6_Rմ}j~=i &5m͛tѴ!:܊i[ a9hھijfc.1Mۭ Դj/oXӶiִ퓥մaQ Mx\rEӆ(.az>R 2{)3ȌCQk|:ɿ"``{=|ʸOw;47 #QYKfbv10!McPkk7 u 2dVvPkLoq4sS)=U}"^Vw{w4f$npZ]V.GT]"PA g T1a XG/#IzYVk[.U'2؞fEl]5dSU'65I'6rrO8b3*fOsgә?]O%Vtaxc {jyނ=P:DJS4IsJnQ;02JP:@鐱7?:3ubNv3<ٹjԍ.\m3uж%/4su\la`(e?/;A߿]uߕ(Iv#>u6S9-!e:boĝ`,q:XVsg_uRs:+}#.\>\k]9Wsl]\gsn]6\dN W$&%hUm\5p2OYvqb׉ڸN|y90%<|6uܘ6󅶾3/hld$SL抍d(kɈVc2 @v%sgҘ0枟4kM뒁q9Y1]Q E'MM5f23]}LF2'=ܧ%syQxuM[~01JM3njEXk*?FHʍ$"丰OkA-IAЂ9/ 6xЃЊ+15 @&ИbrPl^c^Ră$;i&dӤ^<6Lgt<A\XU>F]4='hb;n3w#f9tF|2Dw,1)F #ߑf;VUFC |{<*:7-SZ Th/r_@OT=Sz T/s_ t:Cam勎|gy8Ջ 8:ImxT3X^πc<d3^? rg ˍ\R`d(luie]o\1ާ6Hvj+?<@0%W`27-zu.Tvɽ5إ;hRHɜeTqD*"ɢ@ 9+;rx.rRCkzxә˻\:l 3 ;r|w`F>> -}N1V}/읱kQ/ ErAiĀ)Bqq9$C"bJ "nb+E%tEEtqqrdq/H:4.%yg]y> /r}'|^;gsa|Jj ϣ,h-y>k:Mu,=%T֨>Q/ok =( 5ސ ǵA;:p\2"k%c0Au<?ܗ ?&Wa1}4J+?e']Rѹ^#c׉tڝH)ӍtWufusnU=qlrkS߸=79}'A?(?yzW=O@o~%aYtrG%Ӂc^cy ?҉Q/cb~P}ǿ/xo~&/fǐH%dǻK%1 ݏ2$[ 羛y|?v\!}g_q|'d.wk8^~YoAv9ު|`ͻ?N~7";v=73Yw`'ݖ\w5Ge6H# GqC>Ƃ9#fw`̄<<Bz>n{`-Gð x,͇x}8k{ĆGӰh{ {iaqpM9_HSQ79Eaz$C CIV"s'U'⃏ՃP ad=duܻoC0m9{~$yT u3˪ÏG/*AX>|=bz#)Gc,AX>L|a2d#@X}2;AV߁Lds\;=Gִ̫ 2gYƒgN8 4 ,9KˌgP.V*P9^Zp,#xZ6#MRR.~PK_\zE!"̳b xJZ1#FWc*ƅTv*!lj)=Wyoe[~eM=oXpxpRßƄu='gp o3C:>DF5)v^Z޳pSO]٧RQ/. V~Fz^9Fdn54ѧ{c(qj D|nC4$?[qDX̳iDI9S:oΙ9ӻ<3l?ni8"1LI3-2gZ&ZδB8gJYp&L_3qs|?BcK9S` $LXgG=+6j[r>qҍDY-_:z_r11PD~@9F@9Xap_NK1z,4b9FC38Fk?!p ]q :]*sKR1BrB34 p邋JlkEw8lWg׭64 ϫ601xl'MMېkl Z>6TfcO8 \'}R}ޛ ,k^{۸?GvF%y҉a77_ίJ>&XUJRڥ>ruWܿKahڢƶښZ(")h0pp08AHHBAAAA!A!>MAqt<5Zن}R۔~zzG?daz47: '1 clh#j9o? zǺwӷ|y5|wZjmW@@c|oxU2aVzI;z wH'׽R ;W$w,|q* _Yֽ՟!bG Cs-6qԌ!ؑF;ۻ'6\-YX Y:l|KKV7=̰k41bхoՃo5ooooµU÷**·**÷·÷jj·jͷ@8V/*IU|4VVYr[ɷ*oU$ߪDU| VUj[ɷjo$ߪEU|OOhP;CEU +? St>v̹e0 7laEiH#%б=LT`/CC x&,͚s̓KΕշu&ЎDiNY4ӷ[UX*E; <$]N*ao(o&)مO/`'fJv#d| NwQ h˅?'B [G1>dn}Wk62 遠" _D%n]=HKtCd(2CH-Wk}\k;-薈: +܁ *.#PP q(#=\ H1^ɀ(i4;0M1Z::vWK F@o7:AIZ<񦶳\DA. $.E i|6 װO`x} q*^ Rk KĶW16Xg =>eIėQC iIyh<~Ahw~E 'ArLǸJp簶yc=2_{Sa=ﱗ=ټ5oFx|!9 突-yOlz= +l{dk޳P*yOyrE3o?-1؆L*|7 1l#ݤj?>kd&>vYr8[gf!PLy,aP _uju!=uf+ѣXC#> 4[`y0gXK,rq$v<:~Tb/ᝣ;7_X0"&kkVK ;zؑ#r`G%4ŒK#:v4Iv4YJ"ޭu&#P@ęXNL,PN!bZ8 U?!L,#: #И P##x@u 08 ќAęX" q&l*BG3@cW8 AX78 2CQ2:_kT/:ܑ0Ŗ/m(oarfd`bPB#)sG0rsϼRh@{@wk@;|U33G,|P#c2b 44#2 %@=HOE y|P (&#o@g{!Ƀ)X*[ߏҏO`b;T|$Stl '}$-ݱJPR AB"b[P*pGpGGEMJp4MzOބ/'|'vinRzkCGPVɩcESwFqeZWQnL:ȷ$ѮYvN:罶_[̿1 U43/SؤqrsxZT?[Ʀ*Z,V՟X=8/`Aod2Ȭf!B5Y!AfUj 2Ȭ Zj2MȬ چj2]ȬY@fu1[7Ϸغ;鰝KL녦ՠi]OƦ5őZ∭iqִkZ5-FĚ#cMHYbĬi1rִAkZ5-FԚ#kMH[bĭi1ִRY䞈nU?~ ǯ!{笏\kU36vT+Xݝ.\! BacY97yrȐĆ 1scɰ:ct|M* 0j> :KTD@Gݘ  K"^:Uʋ2dB17y.h:Sybx3DE4 jP+Z$]'ʗ/0p5t b.eTP3ird[ 4\<1-,݃c si<hn rJ]Tc[l~j݄nQPi9diNX=L@/Q`- *tKgw4,ؽ1:e`v'Zo9T h\yx4E)( EAny L&O/2X-Nm}JCsc1IHPSe&)^: 4:l(@⿁дsʋi݌Yz' 5AzKh>p&NpvJ`Q7F<P!ڈz%Oz OB|l (OS 9,35xʐ }@LG`BA@޽o !%Dsc- i8@Oԭ 4cၗuA12x.lJq b \B!?Wk?ab?H\TU ͠Js~ UN9W\eOs Ur$fr)U&M:W<1W21W:u2m )X*˦ปh9by ɞ Ap#>.@T q2Й@CLCtC@džHnm,`y2$y6ffȺnP6e\,ht~<*l}1O yL>l<9y=yL8<@+dS:Ɍce9d<<<7gtP|GI*3(v 6zlv =Ơ]32v}Iv2^Py3=ESAé{IPgGwZGP*-o n2?쑼H 婧e7?]B&`s=2%"jQ |_#j7oc0HvuK#'Ɋgݬ)\^ֻy-Zmc9,384_ZEI ]a1,fvЀ{bFFvMRo?`[JU52iOEaO6|X.L~,MK62G^l}7KHPI&5UZ8?du+"^䇑 PaH }T'+t;UEaHInpmN m*zw3*#"0[XPbY-b\$[ Q2HP[u0h.^r (zy읅(ecï>I+*xMg0,ʼ~1[Љ 7 ,b%DujA8}چ1'\ol3ܞw:jZ|')}с݉1AkAg~l_2b6OMc1K!륙}q{FP{G _9PTEItNl%+`f:pF.jX^gPt1͂|UtTq>3_ˣХk%J7=wŜD)Iܺy7z)0'n3D1ww-WkOKPy;W)|KցVKs:WF5ԫlB$ ʞpZsn{%ODE9J^Hqʒ{)N/̼HZj]lknꢲveRD=l>3q:n[I^\_ЦGd\lMnd>\rA0zi&d);Y&%am$jbqA YO+(5A~́ko:$JCkv}`ȩ0qэebJԼYKĴTE27TLOHFń-]O+JSVɀފS] ~}F=#FGìHN(Re7DA^!)qШhTeRq;P dAc8/B#>}{^YA)hѹM} O?!Dd}T+мXK䠀Dzo~Ie+ךlq_^uȍOa7 ݥ‰Takpd_Jp/˵N:SD0Fxxeʿ&(]D?g!ayݱ2ɥx@|ػEW˧K'bp޷ǏV[ZD!7Cor`2`:|P;IG+{{!0j* I5Wmrz&K߬*||=f aO} V ,*.)D]IzOzYZx~*{i26'+N|cj6ꌐ`Npj1o븱gLC: =ᩉ!㼃 L\]R󊌽IVWLEa-9I$/=?atv:} O8_Uєk<_P&󥃱P7ӲCQcj~ƪ`Y㸛{ C1j\g>.t:aCp.T{at!YVi"H -Msh$YaÐH\RTN3C[H/]h+d^3W%sHςݣ~pA8=k~#߆W[~(mD16-rAQFZkp_)p@W.l3 Y`3h(NiC `D然euml6 ΀NX{RthUl'X|r\buauh, <9 %-idJoxr .S hYjM,ߐ* s6ٳy\GNV%>owa?7*ll?E