perl-Spreadsheet-ReadSXC-0.37-bp155.1.4 >  A ddԊI%z !C >[pLhi?#,o ~ds.u О]1P svʷ¶ye/A3g<~z!m&C5.#5IWK^t{ Djf|jrGMH:%1m^T)DG3>`mP6c9d385cd628af42d7f1ef70e7bc8276f0382fe9b3c102030ee6d45632091607f214a8679832b936dbf1963bccb93a0dfa5edc4dddԊI%z }|l̸o}T$kAJjﰼVElkeFw,N n68'?`RS?ڕE])QInZj";Dɏ .&4nwa{ɭadfZz/jVㄓJExC*kI]Np?{ʼn)g+?Exsf\ bݗHȠ-;T]o1^'$&[A~XWR@kR\C&]ـX>A_[l KUp_*bj}6S3h5C^D#;'­Gs`R2`9g}G:9bpQO* [y/=;\vP|O*W6dD(p>3x?3hd  * R\`hl  x   8  (x H Y (8 9 :A F+:G+LH+I, X,$Y,D\,x],^.b/c0d1e1 f1l1u1$v1w2,x2y2z3333"3dCperl-Spreadsheet-ReadSXC0.37bp155.1.4Extract OpenOffice 1.x spreadsheet dataSpreadsheet::ReadSXC extracts data from OpenOffice 1.x spreadsheet files (.sxc). It exports the function read_sxc() which takes a filename and an optional reference to a hash of options as arguments and returns a reference to a hash of references to two-dimensional arrays. The hash keys correspond to the names of worksheets in the OpenOffice workbook. The two-dimensional arrays correspond to rows and cells in the respective spreadsheets. If you don't like this because the order of sheets is not preserved in a hash, read on. The 'OrderBySheet' option provides an array of hashes instead. If you prefer to unpack the .sxc file yourself, you can use the function read_xml_file() instead and pass the path to content.xml as an argument. Or you can extract the XML string from content.xml and pass the string to the function read_xml_string(). Both functions also take a reference to a hash of options as an optional second argument. Spreadsheet::ReadSXC uses XML::Twig to parse the XML contained in .sxc files. Only the contents of text:p elements are returned, not the actual values of table:value attributes. For example, a cell might have a table:value-type attribute of "currency", a table:value attribute of "-1500.99" and a table:currency attribute of "USD". The text:p element would contain "-$1,500.99". This is the string which is returned by the read_sxc() function, not the value of -1500.99. Spreadsheet::ReadSXC was written with data import into an SQL database in mind. Therefore empty spreadsheet cells correspond to undef values in array rows. The example code above shows how to replace undef values with empty strings. If the .sxc file contains an empty spreadsheet its hash element will point to an empty array (unless you use the 'NoTruncate' option in which case it will point to an array of an array containing one undefined element). OpenOffice uses UTF-8 encoding. It depends on your environment how the data returned by the XML Parser is best handled: use Unicode::String qw(latin1 utf8); $unicode_string = utf8($$workbook_ref{"Sheet1"}[0][0])->as_string; $latin1_string = utf8($$workbook_ref{"Sheet1"}[0][0])->latin1; Of course there are other modules than Unicode::String on CPAN that handle conversion between encodings. It's your choice. Table rows in .sxc files may have a "table:number-rows-repeated" attribute, which is often used for consecutive empty rows. When you format whole rows and/or columns in OpenOffice, it sets the numbers of rows in a worksheet to 32,000 and the number of columns to 256, even if only a few lower-numbered rows and cells actually contain data. Spreadsheet::ReadSXC truncates such sheets so that there are no empty rows after the last row containing data and no empty columns after the last column containing data (unless you use the 'NoTruncate' option). Still it is perfectly legal for an .sxc file to apply the "table:number-rows-repeated" attribute to rows that actually contain data (although I have only been able to produce such files manually, not through OpenOffice itself). To save on memory usage in these cases, Spreadsheet::ReadSXC does not copy rows by value, but by reference (remember that multi-dimensional arrays in Perl are really arrays of references to arrays). Therefore, if you change a value in one row, it is possible that you find the corresponding value in the next row changed, too: $$workbook_ref{"Sheet1"}[0][0] = 'new string'; print $$workbook_ref{"Sheet1"}[1][0]; As of version 0.20 the references returned by read_sxc() et al. remain valid after subsequent calls to the same function. In earlier versions, calling read_sxc() with a different file as the argument would change the data referenced by the original return value, so you had to derefence it before making another call. Thanks to H. Merijn Brand for fixing this.ddlamb53LSUSE Linux Enterprise 15 SP5openSUSEArtistic-1.0 OR GPL-1.0-or-laterhttps://bugs.opensuse.orgUnspecifiedhttps://metacpan.org/release/Spreadsheet-ReadSXClinuxnoarch`5 :^"`BFTC&AA$$$$$$$$AA큤A큤$$$$$$$$ddddddddddddddddaHaHddddaHaHddaHddddddddddddddddafce63820a8ed40655bef10994c5814b07253c37b415b2831807fee94133c0b0491726036d719cc33bbaee462b4512dfe08df87d97c1343409d3c50303641004b8cdce611cea1a8d8d22a17c93cd56108c9c6b8e0ac31317cce7034f8a00edba606775442e18410513caf6237ee90c0483239044a62f635f17ee2c27a55532de1f12182591ecfd623a637e3918d2cc01681e6600da8f4c2e953f2e3aeca403183d816410080fb54eaa1b2c466672404a905301597974948207863ad724e9522f12ba1edd75f91db323397a414289b84bb4975d62ee6a820ee28591e40182580a3eaee49658d1de64619ae040f3c17d523b0d45c50b8e7936a486a548f4761936d6ce6e7f8c705b043f9fb4db054c2d88fd2b1a6aa24c21afed63e6e608e2fab6498e8b0ab540ae93135b075254da167bdb4496fc8882b5b5fc8a82b7751724e98130124d298b2a8ee235f8094de311993600305c7f1b226d10a5b717d5d4bed64217b24c0a7b2919abc14e3fe92ff519c8310503ad80f07148d6a0909f67ca9a54ad7f3102bd0ef88db6dd7cbf7dc18aef165934bb01ecbdc3feccefe5461c13ee1869f9407a2a5631ac9adf3e174e1094b6bb66e1908035ce5e527e54cc5186e7c05e2d06e8bfa48660923cde9fa710f2b97c8045fd2dd17bf61595ea1df406d6170ed7080e124cce5b3b965d1c01aeab964537a8858a86ac1c1db3cd6422accd7b5c3699950d93f032dfdf46c3a76d531ecb9dd4cc00566b118b8b59330d8308889dfa0ad3bc8071d262f4c021c994b1b53c236f58764f17974e931589f330a7b621fcc3518769c61ca68c618696c15f37a34382c8b9c833c08234454aa2b6rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootperl-Spreadsheet-ReadSXC-0.37-bp155.1.4.src.rpmperl(Spreadsheet::ParseODS)perl(Spreadsheet::ParseODS::Cell)perl(Spreadsheet::ParseODS::Settings)perl(Spreadsheet::ParseODS::Styles)perl(Spreadsheet::ParseODS::Workbook)perl(Spreadsheet::ParseODS::Worksheet)perl(Spreadsheet::ReadSXC)perl-Spreadsheet-ReadSXC     perl(:MODULE_COMPAT_5.26.1)perl(Archive::Zip)perl(Moo)perl(PerlIO::gzip)perl(PerlX::Maybe)perl(XML::Twig)perl(XML::Twig::XPath)perl(XML::XPath)perl(XML::XPathEngine)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.3423.503.0.4-14.6.0-14.0-15.2-14.14.3a@a@apa;H`KW`J@_I@_9_}]]4@Tina Müller Tina Müller Tina Müller Tina Müller Tina Müller Tina Müller Dirk Stoecker Dirk Stoecker Tina Müller - Update patch remove_filter_signatures.diff- updated to 0.37 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.37 2021-11-21 * Really require XML::Twig 3.50, since that adds the no_xxe option 0.36 2021-11-21 * Require XML::Twig 3.50, since that adds the no_xxe option- Update remove_filter_signatures.diff- updated to 0.35 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.35 2021-09-08 * Fix memory leak in the XML parser callbacks Reported as GH #8 with a test case, thanks to troost-c!- Update patch remove_filter_signatures.diff- updated to 0.34 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.34 2021-03-10 * Fix OrderBySheet option in Spreadsheet::ReadSXC, thanks to Kuerbis!- updated to 0.33 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.33 2020-12-28 * Read style attributes immediately from Twig. This increases memory usage but removes problems when we recycle the Twig object for parsing another file * Custom styles are now better supported and don't crash the module immediately (issue GH #5 , reported with test file by mario-minati) * Point bug tracker meta data to Github- add remove_filter_signatures.diff patch to drop Filter:signatures requirement- updated to 0.32 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.32 2020-10-06 * Eliminate a warning when reading a numeric format without a defined number of digits, reported by Tux 0.31 2020-10-03 * No code changes, no need to upgrade * Change code to work around an ambiguity in Perl to placate Filter::signatures / Filter::Simple. "-s _" could also be parsed as "-(s _foo_bar_g)" by Filter::Simple. 0.30 2020-10-02 * No code changes, no need to upgrade * Remove "use XML::Parser;" line, which was not used anymore in the code. Spotted by MANWAR * This version will be (re)released as 1.00 if the smoke tests come up green 0.29 2020-09-30 * Make the test for the error message on non-existing files more lax. This addresses RT #133432 0.28 2020-09-29 * Require Filter::signatures 0.16 to fix Perl versions below 5.20 * No upgrade necessary if things already work for you 0.27 2020-09-28 * Defang resource intensive test * Eliminate "undef" warning when trying to get the active sheet of a workbook that does not define an active sheet (GH #3) 0.26 2020-09-28 * This needs minimum Perl version 5.010 * When reading a sheet in readonly mode, more aggressively reuse cell objects for repeated cells * Construct a cell once, and if it is repeated, clone it if not in readonly mode. These two changes speed up the parsing of some sheets with many repeated cells vastly. * Properly handle ODS files without a settings.xml (GH#2) 0.25 2020-09-27 This release has major changes and will be promoted to 1.0 if there are no major breaks. * Added (proper) parsing of ODS files * Added support for formats * Added support for hidden cells, merged cells * Split up parsing and classes into separate files * Spreadsheet::ReadSXC now uses Spreadsheet::ParseODS * Added ->is_sheet_hidden(), ->get_print_areas, ->get_hyperlink() - >is_col_hidden(), ->tab_color(), ->table_styles(), ->filename(),- updated to 0.24 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changes 0.24 2019-10-08 - Fix parsing the text of cells that only contain "0" These were returned as undef, instead of 0 unless the StandardCurrency option was used. - Fix parsing multiple sheets. If the first cell of the new table was empty, the last defined value of the old table was used instead, if the real (instead of formatted) values were used.- updated to 0.23 see /usr/share/doc/packages/perl-Spreadsheet-ReadSXC/Changeslamb53 1684333004 0.370.370.370.370.370.370.370.37-bp155.1.4SpreadsheetParseODSParseODS.pmCell.pmSettings.pmStyles.pmWorkbook.pmWorksheet.pmReadSXC.pmTodo.podx86_64-linux-thread-multiperl-Spreadsheet-ReadSXCChangesREADMEperl-Spreadsheet-ReadSXCLICENSESpreadsheet::ParseODS.3pm.gzSpreadsheet::ParseODS::Cell.3pm.gzSpreadsheet::ParseODS::Settings.3pm.gzSpreadsheet::ParseODS::Styles.3pm.gzSpreadsheet::ParseODS::Workbook.3pm.gzSpreadsheet::ParseODS::Worksheet.3pm.gzSpreadsheet::ReadSXC.3pm.gzSpreadsheet::Todo.3pm.gz/usr/lib/perl5/vendor_perl/5.26.1//usr/lib/perl5/vendor_perl/5.26.1/Spreadsheet//usr/lib/perl5/vendor_perl/5.26.1/Spreadsheet/ParseODS//usr/share/doc/packages//usr/share/doc/packages/perl-Spreadsheet-ReadSXC//usr/share/licenses//usr/share/licenses/perl-Spreadsheet-ReadSXC//usr/share/man/man3/-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.opensuse.org/openSUSE:Backports:SLE-15-SP5/standard/429b8e2cdf39237fd024bf227b379a73-perl-Spreadsheet-ReadSXCcpioxz5noarch-suse-linuxdirectoryPerl5 module source textPerl POD document, ASCII textASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)PPPPPPPK$FMLIutf-8d0472faa20bfcb3ce1e2f7cfd5d5bc286d88a9803b879c6d1d745fbefed440d2? 7zXZ !t/]Z] crt:bLL Z]Ct{Q>={w"Z2]Ⱥ΀g/n!7ioIBYu;@ivڰ.2hc1#6Qm!LZ03u[Zf6FZh Q{[N9#Қ*̑٨K,&Y:^pU(4N{ojWG>f;CeBk"]~^ie b sWd12D{\`rC}呬"[QLJНjkˤ;YTFB+}CgY>Tp 5Udf]eqIA{/"cOa gNl9Kb"1$ݖ^a)x{fǔ;(s0͛sA{5-a}OتEuV# Nڃ:s;>? d.AރTSk~5GZ0/wi|gǃX<ǜ3$ (,ϸDjH>kǤkz̀z=I!4Aa]PCxj0 7r}ޣXihTfjVLwI, I <-eކ=Vsǝ5%#7'( rdDW`6FbANܕV}JIcԑGoj$:+Ŋ~1sQg ;|&/}H3!Pq'9]1Ommk(b0vq0Q:ҡpQ'yL@k\ֵ~`G}zʯ UZd]`]{}zoՃ*.k:T* U[7 5roXg)Tf1t e#"pvQoM.YBSPs+SDϘΜY$y I4SYȥ-vҥ4'rLVvWCa]Q'&`t%ywX%鿟;y!9}7гݐ T{V J)_P{S[.E$ka+VSh7+U=g8#L>i?C GO}#%snMKaZQL B!x {-/;jՇk5S3ou@BRe%O1(2vUNYW$pwpܟ5D>xG2 dK[Hv)Fb*:X4G(Q {Z3cCtx9'?PFh0 svv` SuL3o?rr| 5`gM50IM/(44ЦIŌEbay[@)N,oN*T{xpHnKUH\񮠲 M;h2HZ9Fc@ۜ'2oɋOy4Zz@ K+!M4|_=+_EEDɌs U^˷L}Z c#m^3MrNZ6-LK,ᆧHxmL5fcX֌$QӐ‰.f.Ų$0HxӱDO3Qk]=7,<92~HufUݗP1 pOÌ9MlN!9;uW8-hl @Q^bUxb-ҽ-Xj A%&gvΪJ`\D +ٝL`M 歁ذj\nG =Xg|\lN) K٩3S( EEr=a@z֨@Yd"=A[od̀-(=+co]ꨣY7CE?mj+[,ol };[I(˂_S ߱\? d 5P;G=v_PM%Lg͖/1% &vY(a[ͫo-@ڞ,b(7>pHfp8&͋jeBepyAd{Fr|P`J"%6Q h {udctUVhsRFbFm:`\ǚ}}-L|]y ZīVvx{X޵ҭPiiWsZKq/"qӐvFȎa0?_@pW u+̵4,F)N^$>ʆq!-8pPbVH9ee:MMvĢdm˜SG{&z׆} #^s6YV]HS 95FLŚŊKLlCzi+03>a@w}t|dMYҚMn2#HkD&qd?g%6Vba" Ø.a!؟o[& :3bq 0j4U`sB4:/ }MSV1oE=>I-r,zB6LTYZJu-qXF#̪*CZ4CN+R_`|[`U(zh 7~ڽ~S"r],q?J@d?ı 0,<|m &cB(,T@6R3)w{ [/G[h[uKA^5tJplrdDc.% w_lMNnBZS$ O<^9X Xuϩ k:7dHt"*>q2*'XdIqXLulYF;@x/R9ϥzj F|=dl'<}YR#}rXal)bT/`<<$"J߽2jB9dJiWf +%s3R]ivKQƗzj-p7)SKZLq\Hv- l> |мTx5: &'w] h|,RhoJG{[]Vrvt:30V摰/6k(jM6 *zT(S= _$O;rJ95h`Cx(FyxʡtMc)+}al11nZà=8)5z}"}RhjPP0Mܳ!U*;p"tRNB2H O ׵Ɔw= YD矹XSwGg,FTYJhVWEl毘vEj)6LvԶ\nГnZr[04 ="q8 >`~GR=&# Af0}dQ*%BՉs>=)j”xcp[ߦ2 ]RLYRCFk;  79{=:uhn#Ԏ$q#gUg2F$;`s*8\Z@x\AղyngJy .} :gI'Ѷi}Ű\!DI9g t1r& Ğë+ٗHI~r"c1w`1~U*K%VoW7Y(I)6a$nEjv:[TXc$'0$ Z4/QޏT3b;=ԇ3)츒qZsAe'%'h*/Y,he]20ՠV5)d}޺=nS^ :с `Shǂcvqξf;lK=ZbB<^zwQfDpg>ͺdƼLJ| n`+E^zWDrdo$'H5ѿ`tgc 9Ԝo .vW GE ع YmJ(gx5*b,IñnXǫk{TR3'Mxm<1ʐXd5LRvѓkkOrx;>e9[Dɪn4l|[bھY\ djamSCBat0?Q~J8`W6Щ0m9VR(s>ƙ{Sҳٴ"Sd Y &MoJ(" 4 )MsA{ִ,NQW S\C3)+ώJ6kJ&=OjCwjɹ{snZ"G!s2cApuzrȘpqy_0FpICui8bDoհN'P"Biohpod*1FQUR|veO;,9£hAFv@:wx?=i[Ga2/1Djg7>Pvo^%Y toVRd1nt_J~co)h6;yh]4էxTq'n %Ԭ:@ Q0z8q}<,¾8a, GSXR{o)^ziX/bOG}@罼.8'N*dtVB':"Bt-W9*fBD$oQROh _FXA|:[ mݺ1RXm.WbFfO>+%`G|b Yv|Ze5Z`*zV T[ [C!_ i+DdLi楤3V p3.ˈ J.9\\̧ $VXeoO>TyTۗMfa (M QD=E$Tlʌh$!f@`Yn9TŎ El!Mbn6`pe8NvDZioYS}Ү9 1])ю@-|ФILZze$ts6orr:('-%ߙ^>O V$3m}}BfS)'Hѳ+R=lgXh@kWxwRf&2Em1YӺTOJ`G6 ԶU ]#ҩQyqbL YHv GEaRR:T娃^([Sw@"#ZH;s̬\b0Oa_Pqfu"_[Uy+rqXt? jaz*kW|:Pr1H#8珪/DORCL`Ad9$-HcۿYы}= InJw8 xv= ylҝ mhS2[F7Psk}sG>A,znDŽ [nOUʞ!=lg0k"灩XŰ*ȢI(p0CFf2j!%PfѫTtAȏWpgc=ތx~L(D,( i*^NwMpF^a*('6E 4^qmF"s@~dAA):Sb X >VCA;/?wcl5:JRհ8"ssݎa RyUSU9ES7!1 [ qn5Yi[`t8g첢,KƬ_ x8/kQ 2NQ ]'d뎤ٍ Sbr-kߌpp7M^<,~IUKW5@g{3'Wa U4s 7k<}2";8'|i!޳?Eku]&=u y!ctTгnTlKY|șh%o+l`8߭\?R:'[zk^8&wlv~wTyxg$Ҡ!e ITVm85級nxl?Ϗ{Z! ^DZwýQVvCUz8DHcE,Gm͓{'pt^ghV0A><=sjhcJT+=PDsM$tDoy[9"ݑ1GjDwVr 40Dg$.+FfSXYF{,i7L7/?)5UZ &0/lCv*$ 5XJN; 01$aєgB("+ze#+ܐL0IȜaE)~E_ub#qTU _.KBY-=9 I{a I&b9QE_8My;o:Z 6)´=Եk|UijVI`(1 4o6(IHK(Q蹋lK!E9 =bXηX΍ Cw42s E7L8G3gcuI&e= ~Y4`na,ZOz7O%a^ZoU.q+磩O m#;*Z7oL ZdM[D^s %7Vm,+E9֓^[甆+1p\b[ȅ+0WbA苽<`H0dIj̤fּ|]hozέL7[q8|8U3c,uhc&ŖyL^1Wl?kz֨~[?O[t{c1Ϲ6%|/gQ3=m6dkV|;ɡE:I/5~9 ? xGŃm:iFKrvZd oc"i#?yz2]@o "-dgstَmUܼ^$64? u\%`, xxLJ ):z\La0]QC?l > " ?LmB픜Lcnx'j,4𖻲A+r0AU<۱_eLD&X]c2R=l!rI2 42pqFH[h0aRw_|KwK6=)~!q҉,mŶ̍h? 1%GVԢm᪗>DÑ 2+'t+K4IpJf6!=J7A"i .zGm\Vsc1HAH=;yQK p<e>F<{-#{{0%8SYY^J?kqE!bnkeohÎ?goTJ_;&SO.+/_#w m!} :JJw}m*-ǣ{UE7Y (XI?!k׉Bw&$teڽ"Mt$"ҵo%y6@RY9|՜=\O8A7 HAxq՗1.(񒠜$2E*O-Phӽ fX&r-H@fk zFWwPye-A)yQKoXx`1m5rx[*\]Se0lyXbC!#rb$'l>C2eph efN+ 3f)>6T_r0]g~%,O^)8vCpC-O4[nhAq80.lyPp&l?D#۴Q;rYݓ1!"2+58ܧ2;-J<?{II ‚8B,C@盵wVE3xS@7N|_XH^ɋph`V =kR6R 0[9nC'zHsHtx*fkh;~z@`5r ʰH2;i|~c8boѫJtsju: #]otw8.U8'BZĈ9l-#tCo{I#&#ZU !MZW2޺~BWr `& q#a>9 BYYώq 3nra<z ڱ>!_l]=  M;)C^"׶Vx%GلLna; A܂UׂjA% b.DkdkG+1ämn NY_;^ #rjo$8v+ MB(ᔬm$_`a(5`VFVXfqwm6X` 3|@EFh cƤtcO?Bj$`lhC[w# MzMcCЂe$`=i8h%GJ;Z1.Qd tJ[e4f-lfAٵXULa_[٘lC0<]HbӁ.b%^ UojY&] ŗ(d)מ5SDQfA4 #"V;S)?n ᱳAD|x>w"Lvƶ6mHX;6Y2`1E@w<5+,:g3q|AXB193Hds&v) nz0y&|ęھ+߉@rV}Z7ZZ Q]TH-ru`ŋǾ+'7&+ SukE+6ݿh?e؆P0 6 [` 4q&7d&gG(Ŏv$sg 4 uAc4IHXm2tOXOʙ,h!6\!BAT{ɇdQ1mq!ZjSmM<, REh>IƪaA6;:k_Fmy[%Ž#=jĘhj\0 Dc |R 4Űɟ DꚔ?(Q`HBgZXWxVB~>|ƣ + 6W6_iƲd= @\V1YC7`{iHe>oOP 4B{`iw.^i01hgHaAJXH@ebIoPÕM&͓:7OcZ+&y/!'~9̭98$7ST1jLaSЫ}vSaH䭡K\D'DH}v)ecޭ[VLEJ)m6oj;Pqᨡwִg9y j=I:HlLz(؞((*+_co` nMIG%փ=/  ؂SLl^flih1m8g݉GthRMwvAj`D8甊1pd(g+$$H 9 $P~'eF0:=&"6%=dxjg 4Y,<Զ+\p-c ,ɭ7f"kIXgċ$+`PD/ﻈT:|pp†w}'=.K HXя z>0;cIi&UPгZۙޑ+B?ISʹcgSUY=NAA]4'Wȴjnr[k|ssaTï#q"9Q4&@UEfwkGDIq !O. 8Vمym>yf7q~ЇKg]Iijkw:~/_p#ѷNnˢ Ycu8Vpk0 z{3Fh\2i*-GR,υCdNjR칔NQ*⿲(5l'{IK (zv3D;IԼ# `t0;}f#q=Ӡ{RSOV+{i{$ϝQ݊X~4Bocex<\i&xt|qk|WڼTg Y3yk/Bh1a@M&¯1yPHs'#=)bJ̭[^H7'q4?/U@0s\U Ii88m)N[Mco`ecsLVmtG>:*OCg`9[ g:\{Ȱ |#85joD{X0˟?PE@0+F?jBK"Ae' ou㋠N8Mvȏj<ߌu*C^=;9 ~oq!?H̓!Qx1"tư6; 7|QԻ~xems]e9wqq:~n"b%Ayi }3D%=waÆ+ x1Pn B0>.FP: YfwV|Y  n*6]cE( }߸ $ HTښ5rq?AU8-N6, ۶kUJUpetq/ hju ֞$Lލ+7aL\# H2^1JC/)( Ȏ pL_ևWd:@xYz`t(&+$V/^b1/ sBPBC5i4Ɓ oIbJOèCIJX4 R|:KH^Vz9} %`Cc俽Cg4.h b’pJs2.=YBEݚkFfNU#r޻tkzTu68-W;)#$`>'3 <^Nf}2W\b:#'T|BH9,,+Us?. 3ܻa; ixwҞ tf LQeU+5b:D1n(YPtU4=^ub_/qo-Qoe\~[gtJ$ZMhEغxanIT"8e:THFN 9KT&{ c3ȥA@ $Dq4x$J(LD,Å_T=.dȽO6}! \o_ĵWq=hcVPQJE؞5q3\l3ᚩ4/N!@>zاX(߷M`F\_)Lm!5! EE6縝{eЌl `ˇbߕja꟒Z}}3v.Ean1+/lKpP|;xwnjj즽_;Qa6M4q'7-vL؁B<E q?5 _Cwb4g6DY.0SL_XYP4w>cl@jEU;8be˃/y mlnαk7l A8Sd&J. 3Aφץ4Ԃ Hkk|4taESI2Np@zs]dO21j鼒B$,Fߋ!t,~rdH%6iIbuQ0E+!doQ$] EYuP#'>`KTyBb-$k:Ꝥ=46GGܿ[cq5Y8DakojB7tL\eBEscI͠uO{]Np\Tս__V K:ǽ?NWɫDӗWIec)^V#P{e`)V E~5"cAPwhdNU7{kDv4\ޑs@&OWRI!ݥn%v#řM0lԈR#,pD{H\*9/7 >[㤷'8A,. 5+J~Թ<{@/؈xzvqNopؠydswBOOgj朳dyz4,+>4 W͸z} oұ6> s6~G ̙E(LJc57ːd=ܼ Zg;RRK茠C # òY1@.>G ?|bizW凩R<^۴mpD,^LAތ.&:;UTe̺u ]DGEX2s}i2%Mxw#ҦXE2k!*8C-HjӀF9\QL*噓YX2>2J9^)uq"W](g&h 9{{yQ.tֽx={W?qo׍yV_'yǝDppP}1K7"l'4VrcqV51O'>翎 ,#5;*D^]#f~ LhKg6zYxo˺]1C=Da U&K{B3=ήe}ǴJ47Ԡ~6!@ E3̺12Mu7bu&pDMhTfERJl~ygTPl}m2 <15dI~[d]'iĄwfIe 8C'Dv/ߴ2eIN.N2c$N2@ ڥ*,m_$O1>XVM ˌץv-cz!} 0>54.z[PT }:se"0% fc>3wRLfI |~ p Ҙ|9(G[wrhccc<3mb+lc, soDË/vjzm'nL53'0WUSG!0 OMl_%&|?GK{,>7, /!`Rg9X?in]ScP}2BLUYn-dU Bظ`Zx8W:4 +oR־7ݶ@wjyF|ܾu~v堑= / 1S;]bI͇d3pحZbgv goq+gx?R gW9qס_iWNj/I jнRzc,H ]ia5.LΜ{ `;R8Zӹv&} -BS =s-Gag-3<"AOR^*oX]DG׌Y7ƲW"%_8}bћ$*eo{gJ䤺^uWQ3j>Uo1d.UYA74{KBC;0g\=l Qt6|-zalZ.5Bئ׎~jS x+*:!5 ]+k^T_"Z /^~lsKB8/3 }&R={cQwHB;xVO?*u{#s->-ěR]<ɬWΤ/,ܙ&ѓI( ODGs`bʆ#j/wbgHVqZR40 82DE`ZZfQ䅼$ Y\DuS:| Mu[ MǓ@A⏩J}mZ";U+#a"o)^"%)m⼍A(| -J#e{}`Ʊŝ9{ 0GZ%-&(7|_0zhIV/寮n|Qv i8T L\HᡛMg_ʗƓAݒmwѾ9P"XaP<#Z;zZM:upFXaؚQM/ojc[o-{QDC"=Ť=ɟx0݁%T!qᡃwcL1/a+ o O'kD-JhӮj|7[׬7mc lj[8Q TY,bGAn_Ǹ7%\9~O .=ك&\]vq<((ĹN-nZGlp R?̚~\Z-o(S^Mś!*3-p5}" +v/D ʁ2],~<,(?|6h6%; >Ej`OrRdq/@™#?J, #]1 Nb< -^dzԱ$ n@CD[dCh;=F:bʿM!4>.{3r3]ZrTe#*I繷>hS4Dֳ ڸi 1 s%;X|FH%B0{^:]L!Rx@ъ ʏzqiȼZʌ_aeB (2 3)bʊH('U)e5f&f]L3\zs[:oxPo M!>Z8nN>Dh3uR' .Z$٠( ,%'qO_/߆8ݿQ d4u)^nU&`dͳFn 8sG‘rPtrn\E1:jF;t{QgJ9Y4liVL'ϝϱ ƵCrK%Fxm7̱! ! 5  Х:lTmJeŽ,ӰUV)0ph{La+=D߁b v=y,}DF͕?^۝ $I\}?UêC%q,+XcՌ̴nm\!ͷ>6;Rf)r:ʠ7(F-f̻E9|#ʩ t:3™x}/gPNOwƋ9xM;wVW^$B% vq59/VtNj^l5utz8y( ةrIZl&hJE߄G 'jAηE9}z|ǩ,״(qB?M"d# |Pku /Ị0qV,< >zql?jg9ɟ )ƭen 5uHG2'b޵ Umt~G5OKO@?C>B򸯌Ũ,$Wk*ڹIj*͈u= 8,[Gы6kК=te1A7A>hڧ9Z§ib2UAha #k;1e҈cr|>D"ͷSyCwRˮAhA xTxH4)bi{?_F c`NQmjR|ٖctEĝqYIUE;^6_'F⼅;ð%)CĔ$߁)0&+.|F) ,/hV%kX#[H]) 1 dQYX2rZj0e˅j?wcf@RW4JcxPhhQPT~֡7M,$J!K 7'*C 1H`6J}@IE NMID=N`H*/.Cn1 Y'݉7 ;`pyM3hR=gRjlwciQ)k)fbA D4j%o6}~}k[D3V_=ƅ?㝬*c 3;{vH ?#Vd29EM_Z4'6Y{;RP F%FbN75_XܞQ}FjȒg{ўHlx"L9~2h.!B> {ߋIzȕMA;;:Lg?^{%c#)aF3]p% QC~muVd2v*55{-NTF.V]=F_^Q }%܁:pòwhvszU+l x^|?v$va!^z =_] s?]>a*!3 (7ɘF1^^zrώ~4 ) G+u$d 1Mxh޾W`ߌh"K t%8-OOY ~xB 󝘔 vH%P*Z_dȔ+m\H`V'FJ~g4ե\UęXT;ptL,!?萹PhV*5;IC"%rh/W4_Z!H mb'ƻ\7n?dH{T_)06'WLSVcLޙ)oe.{]^O Jt>'duIiCkPllSbpPžB"ץE_ c\ 7" r׍LwUfv!{AI ƿ>$0V)ZUCh\|e9;J.5gcp7/u>/,WBv!f`KDÜqk58]0G!Y1Ϸ?O"յZ!8T hldm1AWǍ\G5MpD&ՋWI撕<:ψcӣ*=/oR}}(VWH.n`t0Ύ>a%ȢiMQ b 3sFxBw{c\[לYQW ]aƁGA?*$8f\w@JUgD 'jDnK/([A覽YS#ʥ-EjD=v]~pN\./{BKjȝ<5=' n->7Y;JKQ u=wVPf_˥Z5BT(۸@g5PC  D #%7[ORj>")C@ &CCPmi(Xm8{P|E r:bq,0E{r3d{7iU~Z~m!`Q&ʰ]Wk?4 {NW&zJ^bJϭMG-%%RBz~Ү<(Ω> KZ8kly[14h Yhgxh3)Vc'y~WAf+'](=ϰg͝JRTDYX lM6RІ ܰfxx~š´)趾9wE"֡!յ6aZfTؠFY>w7"sLU$jm@a_ yAv{CY)s8@u"!x?ϳxLGh + ߘWb׻<T4ئMšƥ(^y(kFΦqkzEުVB}]e@,|$!n59& ]=> kD}.Y;S*M]QGnpSJak^_ ^:~+}»S O8f [$ ѭ$TR3qrPce̿zW/hCj TiD(M0RjxN^^ 3qJdv-KͲSZ@|w4tCxsְ,͡ōRHq)*NWDpGkAIp! \2e% bZ%#u@e;݌b.d "hv7>1ģԒ`؝ 傼 BCνV]^S '<umX8z„9#P0ߓ1#)R!I m Sꀇ<#bnY0{֔3X祝7٨hXnTdk-Px Pګ^Vs ^@みnV`Bv$*_4mv(dsIkiIғ~'ޙ7>{A;p u2HuM]`pdʋ|[|:.'jhOg.ei)h3~NXAc6:)^ 7} l/:Р}W%+r@bᰍ,AIbfTqaBs7kr]֖&ks=ܠn7#ecoFx,CM#`/bS! %ʳ䓬Fx߮ϟ$w}*WFd|ۋ$e;DC2ee0^a^5UM`>J)))7rY.ʨwފ0@3L Ź]o O1'dv&A߃BSwIGK*C˲է*c*Dz)qL(t!<ַQ@5, ;۹ɼ5#Pr+ 9: ^mT?6*j SY[̎)nc߮צ qd`B@5oMωQ 4#/0/2A=b2E4fFq5'fE^Ntv[1YK5LPJ8\9 cBpbr¦8-XÉ?P6ex9/[h:4D*Dݔ; tIY}:,th#CB'yԻzX "_L?(lhC & y%h@//.ѷmܮOMdxwOm MOy4QBlQ/bG+&uՠtẸggn^䦹͉?wh4p!S_ѧv9GUkULσ ݵr' #zv/V;7n UUW8ʪv*A;%S^= (xFNhL@`2 ݭ7~$"xvvSL9昖mUyAc^b1,`RRmZg ;V aRuKI6f8iaANAiY[chFEM*?xBK-32h/0KD5bfQml݊"r,] ǦT_R*Fאּ֨5cmmINđ;MP#_`z\zr}+Zi@N7p'3KИu<9Ѳ| Cr;P Z(n2P\> QuzO.TΘto" zdBލo( ҥAc($Ɠi@D_Ī=qE7v7вG{|  8?Ew3AI.y;a}ld.h 'V6N'%,5-]xݦWN90(F@r<9@*`_x='AKdkHdh {X-PQdjN{2fZϳp~dŨ'C p7i, /L34%B$g3+}Jv55:"A۷+4o{(Qo|tȺZV1kB@SL\-Eiko3Tkt˄JTn4o'> '<<"!=WsPxR^,LCPE$I⥺rM\HY:tYګ&iDMvM5x;Fpb5/9ve/ЂI ?x(l=gjVkk iQ7+?ߎ+j svTy`B/nڳ7CpPEro.4+rOݗ{}oTEy1F6ph3G o! c%Q0*6#aa=6пuӸXtG-{ T;3[4a,ֿ%6*dOo].6?a )*˄t£C'I3Po&~۠8HFd X ASCoj87caFttzڦ¨v,(\-pdU7CQe[QsK9>X60+R0v_і4Ւ'6 v}'4ʯ980䪹1e.4Zv 2-T Nm7(\>w0t3'ޜ,h<+^DsTQ&֛Aǵl}y^d O 4EH+9-Wxy$O*=NhGrL\oÝ'k!P` i]MSGX`+y,DRfTaoƼʸ>GՖts@Nm;ql"$v0i|;@~IȊ&E+*WGm1i\*g+IjŅ+ʿ^J^Bd+r'Qm>P"%f'~ٵ$` FdgWTty>KWOͯeG"i~Þluqtԏw,s¹e=%`09b%E|B_l-_Ujl5'b,3xϮ&S|4ViǛ^,4e`9٫R01c`&E FՀNH$te g -g_n&@փ2f8A'vA )Ve|x@1?zPTf9B>zU69p)h]ߒ'&qM0D]SG 7PmCɽ<:r/e8ЍêG6CŃae 8^xW5/ SL*.=9k8YhHz\64hKT:A&b p+KfO"Ϫq3-[L:wZ|@QjFW$K箇AG;Ѕ:Z7uB"Q[ue{"ۚ!y2_:p"_DȈkkƶHI@}1IFk0t&ntH"H8 Zs)jƠThvw=lx6_kT\C5/*I璻(?lAe[t KiYU^ ϭ{M,qAsjjtF׀[!:O&96مѴg!*E0V.\f@my9f>3 HW.ɳ}.}jCw!uޮɑ3Waͼ3: ki[yqo_HJm`ڪi\zTǫ2 P6o3>Hyťul1 I:f/Vw ϥݔ~, ޴GB A8#e``s = l^`dX )|b"b]T<.J]6ס6f 4.ϡ73㤼l CsƜ[{;Ү1IAp"\0OF,l0 i3W`.51910֖zH|D:ڡ{cr HT̠45Zb+9ݘ #eKm{/^zw)sbOh]ʔgr s"?[Mzz A6VClniV W%kR\LGNUgQ(A9/Q̲M!N$QUKtչ( Dz-%K RkYt%^+یg_\n nb@q~t*_IxXTrڃBgfNH$glRsGR.q0/c_2V갡[m8]i%Ψȃb8p^k7? H e!IZp XVhsDa;*cr"+bp&zn /M)}"ofΊИ̠ŴNQC2KփˁN"~J Bek&[@7b_ܠ':YGJ`Qėk#zTK=[ I_.ȶ;C"_ HyyG'ڹ%A3hkR`k4io,Cx&7b(4P)Sg}k $k2LQХ[C7D3Uh|^ߡwaZA:dM$͂#BG^铨wy(̲ <䰝3l?bŐ}hB|xLp[|Jq6@r52Bͅ^x t"xinbޚ9Ect2aȋ[l2} e(#FEt,ԙV| k)ދ %wOV!yKa_,M(@H oOwDeIAI;!$-E8Ae^e!ElX^d XZnTĪ@;{j Mv̀K$bjT/ (0z`#OuO^ժ^Gkj&m ߩV+.33q擬 o 0? ^ϸ W ֔؃%K-mmGñ+S\٣D+XLJ(UNlb3<*!z@U>S9>ry\ܨY QP 39c&RM׵D$=,ه#_G)Lwa Mڤ"3&b2]jG~C]8:vL0ϕsW`q`X71.ۦFw+ @I*_b,w0]'RWӎ8SOG:K wn TQU[IK`K_տ!λTXȄQ'W3[5JYw16C ' Hi*mVC[QK(*ٛ'd[ieyQpzzXK #ȅ* 7~F&dFߜ ͅkIF;H]Ϯ])=v{[?ï;EyM R0ܒ НD!Ejmq%d~잲^D\9Q4A oo }FM QJ4$ ^urmUXGQ#yjR yhU1>p@wIuSZZYprTA[k߽)ĜFov^.v*&C`0r`x3cZZYG0 D"ƒ$mΥq5~h; ắ$-CQ#(H3hZ s]&j2-񙩢ʿK'ZJl0 FŘln(bWoPOfšG[} 41W1^"|lk9`M>6[{Y;xϧvnŽ|A_ OeqI6jF+Mk)<ޑDDcu;Eɞ3"qތ6֌oϝѥ7(H*RI71ϐ0ˏ)j2IF/A ^ YOAc>W)k 9UbTF{?A1O1NHWI>k&W!f$_L!#iGZ,vskTPD7}TͶ{Z[ЧP  k宴W$3Ks)B'P2Y^g#g{XINbw&y xg TCWX>}j3I16X1> :Gab[deIVx ٔaO09tǽb>:F,OӇ!D*VXYGm}twZ<@v\]Nuo$L&LDA7 }:+STyL2@ϭ!E7بTNsoDE9z>V¡Y@ YZ