From c47bbfce2deea8bda80f06c961be531aee4b23ce Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Sat, 5 Apr 2014 18:33:07 +0200 Subject: [PATCH] add test for fdo#64722, cp#1000058 Change-Id: Idccff4629b8af84e59d52fb3135e9217d3564cb9 --- chart2/qa/extras/chart2export.cxx | 24 +++++++++++++++++++++ chart2/qa/extras/charttest.hxx | 25 ++++++++++++++++++++++ chart2/qa/extras/data/ods/labelString.ods | Bin 0 -> 17401 bytes 3 files changed, 49 insertions(+) create mode 100644 chart2/qa/extras/data/ods/labelString.ods diff --git a/chart2/qa/extras/chart2export.cxx b/chart2/qa/extras/chart2export.cxx index ead4350c9110..fa1c90ce7cd4 100644 --- a/chart2/qa/extras/chart2export.cxx +++ b/chart2/qa/extras/chart2export.cxx @@ -55,6 +55,7 @@ public: void testEmbeddingsOleObjectGrabBag(); void testGapWidthXLSX(); void testSmoothedLines(); + void testLabelStringODS(); CPPUNIT_TEST_SUITE(Chart2ExportTest); CPPUNIT_TEST(test); @@ -82,6 +83,7 @@ public: CPPUNIT_TEST(testEmbeddingsOleObjectGrabBag); CPPUNIT_TEST(testGapWidthXLSX); CPPUNIT_TEST(testSmoothedLines); + CPPUNIT_TEST(testLabelStringODS); CPPUNIT_TEST_SUITE_END(); protected: @@ -782,6 +784,28 @@ void Chart2ExportTest::testSmoothedLines() assertXPath(pXmlDoc, "/c:chartSpace/c:chart/c:plotArea/c:lineChart/c:ser[1]/c:smooth", "val", "0"); } +void Chart2ExportTest::testLabelStringODS() +{ + load("/chart2/qa/extras/data/ods/", "labelString.ods"); + + uno::Reference< chart2::XChartDocument > xChartDoc = getChartDocFromSheet( 0, mxComponent ); + Reference< chart2::data::XDataSequence > xLabelSeq = + getLabelDataSequenceFromDoc(xChartDoc); + CPPUNIT_ASSERT(xLabelSeq.is()); + + OUString aLabelString = xLabelSeq->getSourceRangeRepresentation(); + CPPUNIT_ASSERT_EQUAL(OUString("\"LabelName\""), aLabelString); + + reload("calc8"); + + xChartDoc = getChartDocFromSheet( 0, mxComponent ); + xLabelSeq = getLabelDataSequenceFromDoc(xChartDoc); + CPPUNIT_ASSERT(xLabelSeq.is()); + + aLabelString = xLabelSeq->getSourceRangeRepresentation(); + CPPUNIT_ASSERT_EQUAL(OUString("\"LabelName\""), aLabelString); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Chart2ExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/chart2/qa/extras/charttest.hxx b/chart2/qa/extras/charttest.hxx index 73b5748ab511..471346cdd30a 100644 --- a/chart2/qa/extras/charttest.hxx +++ b/chart2/qa/extras/charttest.hxx @@ -35,6 +35,8 @@ #include #include #include +#include +#include #include #include #include @@ -213,6 +215,29 @@ Reference< chart2::XDataSeries > getDataSeriesFromDoc( uno::Reference< chart2::X return xSeries; } +Reference< chart2::data::XDataSequence > getLabelDataSequenceFromDoc( + Reference< chart2::XChartDocument > xChartDoc, + sal_Int32 nDataSeries = 0, sal_Int32 nChartType = 0, sal_Int32 nCooSys = 0 ) +{ + Reference< chart2::XDataSeries > xDataSeries = + getDataSeriesFromDoc( xChartDoc, nDataSeries, nChartType, nCooSys ); + CPPUNIT_ASSERT(xDataSeries.is()); + Reference< chart2::data::XDataSource > xDataSource( xDataSeries, uno::UNO_QUERY_THROW ); + Sequence< Reference< chart2::data::XLabeledDataSequence > > xDataSequences = + xDataSource->getDataSequences(); + for(sal_Int32 i = 0; i < xDataSequences.getLength(); ++i) + { + Reference< chart2::data::XDataSequence> xLabelSeq = xDataSequences[i]->getLabel(); + if(!xLabelSeq.is()) + continue; + + return xLabelSeq; + } + + CPPUNIT_FAIL("no Label sequence found"); + return Reference< chart2::data::XDataSequence > (); +} + uno::Sequence < OUString > getWriterChartColumnDescriptions( Reference< lang::XComponent > mxComponent ) { uno::Reference xDrawPageSupplier(mxComponent, uno::UNO_QUERY); diff --git a/chart2/qa/extras/data/ods/labelString.ods b/chart2/qa/extras/data/ods/labelString.ods new file mode 100644 index 0000000000000000000000000000000000000000..2b7e03c8ebd4a21bf61a8ddf91a6331fc4dc4879 GIT binary patch literal 17401 zcmb7r1y~))(l#Ukg1Zyk-GUPc?(XjH7Tn$4-Q6v?6WoJ41c%@b-yyr%WbfU*|MNE- zm^sr`(_K|v@=lMG=<7E~KtOMSfM(qN`25URgQXEu?D01)l@eIgS01r1DO(1@y3DWzX#n;lBp>!Xo9i6yOL4q*gTYC7A z

-v$F;Hp1(2W!F?1O`cSHFpWL zooLe+NQ^1UFLTPzaN0VkULP+XB(oe=cB_3lTx_8Evd6*r{cK7R7G;x#23D!VS;71-kle!Y+StRYa5$nxfj6L6pQYH&?W8)~S zLU*DxMXo!imHi_zNKpWj6>f+YJ-C5siV9;yV2vr|38z; zI!M=?Jk<%a>oQWnY^W!!`KX9!Y_ohXfupro_({QmO&~v?L*^tGHGh~osd0WZDm565 zkhB5rAQ|6oz}I#_ErHU|@^HK{PCm0Ri1G8WTY#f&VNXgaCQ#(7b5K&?eVwhM^lh>t zJ;<}#kMfgi^=H|LdtYR#hCxuPnJB1`4f4Q((UD?5D%SCy++L=%2|Fy{b<@(`**vtOjSSrTKDlfB=cI>~JN*g_V}EYer@Ly1gK zkOq7IQ;BPjm{Ei&Zq)`#Xg|hFtBO_$UFq>U7U+O%nwkGHY$FJXBrnlem{g=#25E1P zhKO#`!0p8vF6Byi=_<-2<3!U8D!{PLkfcC|F*DydVpB)!DbD`V=kkpf=3zz1DZ6IC z>g~p-w!#o1r<3VkrGT1+Dwwg-Ze@^CooVJm%d1&tk-~^AXKF3k2u@*r+W;bW@*+MR zS)uBA5>tP_j~|mv?ZIpOfER(BAe@RxCCSo-&efCe<2y2avG}8~`(zLZ%)h?KL<%;E z4e5Lz;>G5!8jqz`NeK%rYww6twV(R{zil3fLhzPI9`KggppGBpUwNR)kle+nl;p1P z=YZp&eSs3?I6z)|)G_DW79>*J_VewA<>D9-mj{inpQyQ%oAK<}yPR|~HKiyi!JvAI zyOhJ&R(c;rJnN>j_nPuu+^7yaz6^X)@|jR;jE2%9`O;vyi^FQ0+dcb9i|tX}?D1UH z=9DB?8jH0KTL-1NUi2G>`ddgJI_*B!=f~?+_xmIL1of*4K^*g?#wZC;7%a4|EYah< zLPceQJirnaXo0W0w^nI)e~c2uW;L6my}KDOrvLyVvY+v@nq)czrM%G1~rgcW`xe1&zt%db1wzcz^A&mzOXK7+>>Ao6G4& zukn}=z$1`_8Pw73>!jD5EZGbV#!(o5cYnN`1yIH0!>5fU z()n1Nsy91K^aQ_(Tj3J$&03i4@dkl(08krG<%frdlVrG7mz5ojaXsf636gB~M`%{- zfzLlY-JjGj2<%btCoZ&bt>n&=)GfZ#IrR^3^L9EYYlx>-7ul>b7)i!)zgfTC$;jaH zcmj-46w%LMCK8XA)G#mY>%pmiXqMi^@~2fQ)%wGo3=fS4i+6tL^oOVYI3&6PVHodq zdIB@t?~Jbw=W7f`Al}>b^o66E<}xPF^f`X$jbu!=8WGv3Xn)FfsxchHrpemnG4?)o zSxp4p3nU2tj)xc97i=Eygs8p|mQ}=Cyr*kuNaA+!{LYIoH?}Ps_hOtEb|i^mXIfU0 zNK_~r&H&(b(B#KXo7wY|GQg(qW%I?HwxR?bj+dP7j~X)EuI3q;2nz=N_e0B68$Mi4 z%i7Ufu5c8S?}lH0`n(ZKC(QrNNw=_^?Rv@fr1e^Zyl)_sVT|Lv6ATB7R;vS`W8w83 zfXbIzoX#;VTRtW%+0Uw*Wr`E^UV8GjLFiUvTk{tt^4V~47FikdYGuozj2lQrq zTUSXa&3*Dl95|V=6OB#gaF6P!h^~B+WCg9XfDd6+ysf>sF6&^w2ejeUxH&_9u?asG zD5Y9D2BO)xaU6yxGU&{VI%vh)d**Bh(Rg7@3JG*w88pl;fcf#5x^uZG5h&~8*B5@Q z!$ck`aTAUC7QywD$&W>K)B47#IKtcFbbBa)M!DLzczL}$;MxMaR3B74S@Of}RuD-# z%U*8GF2RfgVW+dmx!;Tho*pJ(u>(Y@)cQ9MAx>t~~VieyeU0Fp!ra*0v zu{hAyb-rhOy!1JSMDhw&KC<8rtC+|^RTYzJSEcC+ISjr8bv=YiMezeb`iR70jo*?@ zT|fI=Ki+NJyE94y%;olMh(=bs%4i~cZ>nGlBDGHZjM;t(x%FfxW2#K4YNPdfh5dFb zrf4OZ&7M4uYOAO%u|UlhWMyTg&1$_1uok7KSsR`9Cq-#EH$xfN*x4mHPWjp!yKTia zT$+yc!Q=YK%B;n=RAt;4tT*_+zKa*cKUrs6@^EoQlvg>t4>7%p0>hXM3 z13HprGLh39uV1fv9D=E-K5;ktzB|Gr+-pY`Uzq7$Z={lz^!te+D|P&|h`ibBknMG$ zw_|iIbYEoMs3rYe9%mFa9}jEBM%fNZ$z=0=!Q_ifOWTV!!!c>T3eC2TfvYxHs5jZ| z<%_2ny_1+ff1X|6GaH}bOU`ba0#jmZ(o-XNeX)o3r(;c|Z`Ru|U>CF@*OB6;nyt`m z2l$9Zi{>LQFl;n-heLp?z)=vRjNnU8JBZ%ao|M9CalYK|^Z{FS+zex0vg$slX#Zff z#?6tjpL1$3T_|0fm|g6R(%O$@8+tH^`p3{D5)YhPP9e`I${RNtR^3%w98Y^uH4j%^ z`r9-!d~g`ZxtJ}MSS(jsQY_n?E_Nqeu8-qZHrQ#6OieKXR{)-^pZrP(YMm@!H>j{cy9EpJIW*U;t&BvSqp7NHGF%9mbQnh8b=SPY<`BmaM@*+AZv@ z|40^eAscuMxbg+n;YEAX^}PF(KC_Yg!;aOPkt zKe7Pa2S~g{rM>;y(>Cf_Mh^une6K%yqJOw^5_1}SUogQnh90ZR z6n${bh{`VT@9#Qfuo=R4)!IJ>Z7A0Fbc`r)v|Jp*5v5v;UtE=t&9aoClP$sK&RkjfbS0P8nzwdWHua4oz-wL z-=8k3&6ai#F~+0$BJ18(uJ$=PT$1aNQGX0zYVJ4R*8`c|s8@W)&vtVnWTacPyZr%S z@qN?RZiKORcuSQgh2?ke-m!l=R;x3aS*SB5lV87;)AY^2+3X8bZF9X<)O6z)Hu=8R zIpbv80Y|UfPE0JB-r{m?aky#}PP$TsdgYv+ZBh#eu&K7A)+2+AcLU$N24usCyCTxS z7*8eDQ|(`~bQtX|v>V$!s(bmIL82vy7474&cHH;k3)hh3IIliD%FRrhDAtsd@yu?nN(ys^?yUc?k1UPsJ*nXm3cYQag82iXfcBI( zvA{3s@yhjPouIi2%;CMeyljd3NK^h>_3LWpcYu{n5(>yF+`+m{BNq4+_tFShk?Dk_ zEbzX*=iiM6---TAtvtFimqiE2CSSc|lQ+xn_EWO&hz~%4aywdpMLe%988wxTPtV&*VAg_dxZ&M1~Z9Wc|(fy_#h;2gbw`u3sRiIG31r|eGy zbP2ry{Z&>;a)w0Cw`gP?3vezzwx42GUu}XfUhcB`lKx$e4odWYnT{3QPrK-fohL$M zUSy4yh4*>0jiRG2>r0(vMV$n2NQYsqTr0i|567eHpFV-KH}kew2Qq`4`imzOB@4wI ztbDoy5*2K%sh*;vf4?2&{QsyI0{Z6KC;qI^;)Qd5lgh@+5I4jfy7vECqLkNO2nd8s zeuS9(zmk5;wRzCFYeZqflR3zc-wT(+dpt?xZ88Pm60}p$Qv;6{Z9}^{_!qVd(vFsp zq`+5y>4Ru)_uC9|wN23!WjCtljw~RzzHlXfQ5<(VPx?mK@D|yGD^R3YyI|Ij(r{l@ z>Q|cXMjyc8$3cW1!~t^g;kzrueQ(Ql(xcATYO`4(2dxz>@^gXH+*0DoAN3E}tjPSV zP|D>W@mrNR%tAvQk0OC>gx(c65TL?9=2wzcFAnTQ`GJ5U73#&55}CQdrBHLIsf$Bu zEP%KnewY`hj}X37zlPFqX6A5RlW#C>9cwDV3J_688_w0EBSG1{yOJcouaczk0T~gQ z$gTWfT|5sTnKcr>^L%VHnsLn!Lvaqu|5XVQynDj-`|pYtV3q0QgR;RSldcKh+K6aL z@dTxF1FB+s{+!1&Z$3Bp{l8%W0a0Cnn>=?mAIAD-bijD#bqF+8kG>igj_WBU@d;xQgrq3mtyW+Kd zm5_JSoE&OSoAd*}8{+$pRm9#^#H0D=W>LIeVKM_1gy866!0hfsg+ptVf2=glnf+gj z95|o}jr4UogV8@td_^>&mbubHcd30qLg_KxfH#nHPEXf!`$HuS+u=uv&*Z<#IN)@1 z&zH(m^~m5QZ+KaZ+75VKOx)^Fu|O{_QaijAh!>(ud7I4G) zE|Ch(68%`Y1`)ydV14Sw$U0@?B3cSgso$+Hhg#spP?VX0a6$HUdQ#GRG0E7ggJ|O_ z(WM6xWQOG67bo5EOlu}(v=y8)e+}7|MbOR1(Z{~AL-z2GP+u>GvHYh+>EFEi?)pc< zJ1txGm!Y*{TPaBb>v!BU|CPc0&_q407A7uW75pVrTuEWVFS07>JT1~c{0wZCV@$T$ zSofK9@@Oz=Ae| z*11i@w&#~Ir;)$^lLOx39KEsKpXECMGU85uCF1GEb$EX&AmVoH#&{1X1ZMT*9mfFGct{O#!%O4eGAJ$9hnG7P%4;KfP2mcB;fnsG2 z?_ZFf<#Wj99YW>wa6m|UacR;m;JNdDscm2N6TV*YJ35$~DdUif>IaGA4V0JH{DqJ- zpLQ~J+`HooJH*Al@9z4;bIgNKE&`nj5Poc#*btY)%QwlUFLt(8!Q2NawJSA|MAjcV z0)z#U>Lhu1b>zCB^2r~$Yb0Ef%8|)S@N0@-QymhGFUV0g59J_=#+5X7f;jb`33t>D zVWqPMN)}0!uN2s$2pS5sG|S5lFwS2v0-I%r-!zeOaE(B7=V|mBUx@ z=AJL&KOieDa3qLho5YhO`oAn7x`kDTToMm_NpR7R%?&k+)4o)F^B%6Py(9 zo1II}AC>;}3-FPw`xQx?JMdOW3I7NKp}B&m0*p97dRjk>nIIYfkG;5wD8K|^7-=m% z5ne8IoE$qIL33nu-7`Y~u*fop-&75!jfpD>O!Oo5X!pqZGjJvRy4|BZz$4mQYpV~d z#2;Y{zznDG>aUQd$M!n>fKQ`!@{#z%{`91PoMrOwG4ii8+XT|q>j#pC-UjsII97yA zTRNXFt!~<}L7rz{108nQf&#o{-H$5k50Pc+0rd3Its67wj<_EEGVH+G?c9TF2NqJL zwdDoR1`_6%;4A0R^8N$%e*5t8*Q z)qB8B_2us5odn;rw(74F!)k19BfBD=z%}KJ#)@&ji#f`DT@Kw>Z&WZv5~%;^P@{76 zl$YA-@m9(3HIK{|L5atB4O<821({}8>EbQ_b&oUG(-BmH=)Tux4k}28yrQ?v9rFCd z)MvZu^(bWUW85e?w$wMc@3vXdUad;nVz(dV_EnR>hMwI=)hUqMnX!j&`rLd6>K#1J zNKaqb+kKLUy^Ss}P99uwH-mt0#}Fab8_n$lZCx23{h*qb78Ak4P}z6Sa@hWKV`hkZ zKa~gJO~{nCyxCJ1l_$=I32{1GsLX$!KKeN)ni@^)O(d)TS9d9MUQVIU)qRgKE2l}1 zR6FvArb@;5H{T0ArqP~YFK3zpKcHc?vKxoCziCoIb@pK6K$q+N^cul|?0Oyep@l3k zB!N6FCq~Sygazs}F5_H=JnOszgG714Bd!3Pac3uW*Ry47cZ%#7gZq*qcbyRdp%+@D z_=5VTffkk`;Ewge!*5rc^MVNC4&*cbFf_WnM-J>Qh*HitsPp?6IN$7aGUw5IH{ak_ z)Bew(H;9rG(76}r>m||Or-xHo+x7EG^2b~bOG^tGx8mha{iki^Abe0dGvIwb=hr4r zfM0}Hl1h#+IaOFdeSwJHzoUF?BwkY2eF(_B?P}%L<8FMffbXqi)7jnsm~F;FbtvDU zpmHYaETXW8nSd>cs|$%gm~zvsN%obc7vc4e%Fxp4TcI9qW5@&rDU*&NR?+O{_v2Z+J& z1jcw1aeY9KBJRPlA7;Fop;5l%Lf*zN2E!-BScNm-BX6NLg{8%LRcsxL=?r&4f%r#?Lq#xfr*@-~bZz-l0eb(IAeM0p{<1m1$ zyQuS`YH(P4yfBurvp%JnG z6$-k$p#pvMa`v-cN|KYYRFW(mY!NWNM zWup0B^O!H5jwePgGCwy?fKLwNDV)1mCP-DCKdcnN3t3j!PqY|896@?&(3A*|t*R}R zZ;unF)S@%1KA)XaZeGi!$&quZ1|(pisAn;25EN1vdWL~c&Z&T9@Qq$;X_bK>r9-Ox zSV`e{lf;H&^Ky8@c~ztnhdOmamHN@!7#Kz7XjM58oxvjO{EaP!u_t=ADTD&6i zvgJissTifF!t$oV$lSPUQ;FSBer&Bz3tK+TrZJjA3}ls9ONJ;*mT^vOE%M)t3srU0 z)e2AWpMXNHPS;Pz6|1rKhqPRZ@S|sZy6twQG~Z50zlX4>QEjRj*dlf~0d{slZi^F> zMei7pXX#9}Lr2~IoC|D$@%q(7nDMOzViI2=Bt*>|)hDeu4aUc@fPNC0aRi)>!$qwg z@;qz%FQJV5jc9x3l*UxK#|SadIBim8%Kc^IMC}}G!^HvL=*7o)yhb_v>0YIvnWHT~ zEu@sq-fN?)O0h^*kc*L2b=s*S47#B`(VvVKh%w6V_j!tfF3-r(*Z6*x7j;JIg88-q zLcGX8RXL7%5o*(Z-yAub4F4()A{jVYV_G@urCUf#oxg6Bw&)pq8jDn!0TLp2$S-N!S@2Zx%5jvsc=bWK}$ z{pkH{Q9cDh%S(C`m%j~b9qpa>b$OTbn`_v>xxPigoZ=>$X0bg*e;A6DE1h>~S~>V( z4JthR)TpxP>L@5nn3JqR)GU-=p?`Y53`4O%lF--a4a3^}@fEG{#w!%noA|tMglVCu zAw(sV&z__D7H0^|Wc7kQ+z8b+q5?`%@u&+d8ExvG=Lf!+{85GPDd+^V>f@o`jjC>* zx3pIJnxe)P_ObG}%`z-mxgp8HMK-@K5Szg|QT-naOG6U5k;y_0n6R{2&&{u!B+p7i9AC4- z2Uzur`kYj)I>i<^kW-23-u?JIWGehHj*)d3(_CEs!=$O!#h z=2@PmKBqc=UYUi<(9t)q_@IyvVT+jmeLmJ1p128ErbI|C;#EQZbo_fLztnX5)2Oa; z!lQhb(d>TQu5<%t&?oGYFuTjAsq=45nIN zN~f>a3?S$l6WnS09y~Uz9A?&^X|vE#l>}Rn8Memy4l30fxzd+vMh$&ZpRt16!;~}+ zT|a!eeJBvRFzvb1*lIzZM>l7wmu2oS`B~Rb9<(F zanDXN?KtS(N|Cf9IvE@PEPW#0-hsB6Tq|n0opFAQ5UP07*!BxI>QNFA#xvGr2 zLSelkw4SXZSoFPEO&BwqG{{3%<2WB~If2S|X2FrOdUcRHQ4-n10>y1hkh@aWrAf1z zgYR0{E@#jjhgC@1!s>Z70n7o}By+TzsNxqkGfhkKZsrgu+*x7-{z8qX!kF!CSX52) zojLMxE0>J#LVegGBa=gbkaE1ym(jvC)Z;m&_fp;jQsWdXd^+9+^`CB(WjS5U2heQc z_fID-a1*prvrajt*eQIQn7RA&3vIt}gh(JPRA|$NdDML;EZsS}V%j&MC8)cIE(%oD zTA8~`ns4X>88fiF9u9_B&g)xPpSF)+(=J35tA6|GWW$eg4?j;BJBD#YNF#o4dZ#`c zA$5gf#7JNRUzs|Zen802pmc}p!YK}O*=v{MK%EeS-RLXV>89Rh`?NX8b2oBh@&m8r zdQ_{L)J`+Xs3qekX`+t7IcB2=$;7lH7{(!OU(Axy4V`P1 zAWIgdgzgfj*t=^e50~gB)(XuK*EGXUxEc1hX@gU z*Xd~xmDZ@z^Id1l#z)?NymlYB`(XqeFk`RAfPsL<0de}@WAw`g6k9tdGyNZ_`m(aB zwnxl;{Wpm5@pMb%-{RDXg{q6vQt?X!HeYtBW=;mSW>?a0?(P z%tTSl3o1%G#rJ%39_6(CKqOK&$Wq8%;ie^%aB5okqEnTvGjnfhuN-9JOK|5-uFoHP zQ%@-aCQx8U#>lfzA-aC#>93a)cNMe<)W{Iua8IX{ve? zVNzjA<_puXY@ zM9C(k_jk4mV3`<&>JxVfdj9C4xM}d7R#uD+BIvxLI*1{9ciX@NSEPaTiP20I^?t+* z%HLHzB89sDn5dJi*l77)X{4@OVqc3;^sh-Hw4{FD0tUQHw6IBgOcw-1WK9XLD! za`7jK9mQOh(|r6|ih?7oz{c1zQu1mDecBL6PB>l!VVG}jt|w_F-?JRDHaI>o_U%_i zj{i54H-gdIEy{-xJc}~yX;7O^2*Hx{|1)Z3QNV!Dh=>M z-u}|v$&lIb$d;}J$ZI)8(${;wY@N#C!4vfBUlFz#A`z%WSXt*uGH7WS#rtmd zf_A^wq1D`d8l9XfhM8$To+YmOOf;R~r+|=xa7}zM%3X6uMgsCCrw9ED5g~z$XOMFi zcAA8snl;R)Mcq{yX~$cp+U7=Gq--H|sJd=vB&>6)oUh3agi2-v7)Azomki{y60JQlc#?A`DI=_^!dBiv*| z8Z}{BW|EA~w*tcSK=Uzt%ZoEkoSucUyLK&UFe#kG^DxJ>aO(pJ(KU{6?B+U`muDP- zl6&Locaovg?A?}|Xe5l&ucf1r+q94s&80+O6j;@!=w$SGyiq5wh&Ef1rQBtju5{pf zTpJO&Ou^D;j<_|qT+S1Z8R+;Kg@R?OZ2;#QtFG_vIzGgjkR_reE!U%rh<(HZ|aroM8B7X>q|Ut^cTbNXxW4 z0(i_RZuLPaBG!;F^|PkaB=#yF_m0aUmZv{v!<}kf!rjLt^MxsKy;;*xd$G!5mE4GA zI6KFdh=os=s@L!asP7ESNg|5~#L+MO^v2TBQVFA(@V?y|2Lyf}q;fn;^QIE(@HHDF!DBXz=UeX9N>pm&m%$->uf}-B(Z}ac%PAhfFDcWcl%n_*C}8U)&i{&*FVL2`wuP~QzO5a#jh?|s z%!q{#Eu8NOhoAoF95)RJhz;rBXOoPM_x?&CG-t^OD{bL13evg7`x(=lFX zUZypm9yiL1I}BWG(AUlft4Tt%mm&UKnzb|QXro`Nb;>83L+d+5_}JV^AXNUg##(FT zv6|1SYn+kuv97cIRPX63L9A9P{jubJGrQCC&J*?6Gx|nFtplGK_h^pcUF1&f8IHVQ z#f$iAuZ<=_0Lg~WU&+SLO|}4u{nY@n1>&`|FfcZ>xB0QX)|Q^e*j(FC-E9>ZQM~X=b!w9oYQHb#%VMJ;HeTlxi zR0nzkK8YmGJ}7pG&OdieedXtPf0a5lK=94Ga$_aLyNJ1yze`3&?|Nlb^Z9IcWpUY3 zwSG0`O+T4vI4gB-MkP;IJK`EOpIPPgN)##`uXkW0H!Dh&n2y3mmrXCVeW^WqU?eJA zvN~e(5<N<0FQ;BFE*Og3 zjJ8$=GvI2|?lK=SS%jf4m>p8rrZVoEs!c!|P708^lX83_=qz9^b7x6~O_4&Z6ETY< zNcKoIJhDZ3q*YK?#p{5QiOaHhuX|;?pWnmG@%8J zp5urO$r7E|n}IWP^u`y3HV(q698{+cO5!au5vNAt%C1)mie~YWnWTN50 z>#&^GEikXXESZOm7eGYwZpnLc4uZFmMh-F$MO({ZcWfZ&_^7KYl zDzRsTDoTManIch4LZ>9RaUXaS#a0}RQ#Xm4$l~=;@uSv?H0bNAk#4m|XMbl&(z@FB znZ&&mmy5e{vq$7h3_|F0M{jOn83m?fzPhVa!nQ&n&qkVn%DR@1)4bh%kOxLic<_?e z)DVG_*~wGX7LFR%4SswrEUR_{o{uzX8d2D>(h=53iue|ll2u@`--(Py0e=9Z&-9f< zwaTQh!P)*DVNBdv*#>p{z zWA8w>>cB%eP9Fo4FUqAzqKl6lFoxrWS32KSl6zs?-oYqRB$dZSr)zaxHL6wIsi^yS zm0=a2Uwy_nypwKzcvKuNZ^psY_Lh!bvEUA^b9U=a-lZd*;F5%fsGuf5-tfvxxXUzO zFc**Cmo(>()0`MINElfPd$nt5>$-+ke}P+RD9h+wC|d87Aw|fy&B{?8IUSL)zbluo zB3p`#03y9umIe$JIf^-#TXb( zk0v|b?gG9}Km2T8h`wWsW*B*8JXmFOF$AoO4ssG-^;n-Sx4Ke6dHA@Hti^`Je)h(I z4#5Dz3vE=QE@o=&c+}b&qcovz=qlOZBNA1!qCF}lDumK!kP!P++Pp6)gr0>L!(JT$R#h6@^Zd8oJg}bel^nKdPlSPiE>&+LYQK1s^st?rC&SQyWFw z8;9OoE2#7dFNjtj>Y0T<>8qhC>iQ$&uQ^SKg~lhwA)g2C!b5uC3NGAgVT;{8Wodl2 z=<{&pqQBh%1G#^5Hey{_UFt_B_km1cYp-}eIKm>nX|I*hH-&5rUl{&ldKbU z=nMh>?Q^dM?~s+~ltGwr&5pS3{j}0ly2gQcxyhAnc`+Au!!)fW?7|+@j4UE|mYtH5vVJ9WR!pAqH_k^9SyNdmtp;05SpWj(|2d;C||3VzMbw)m0jB z;lM}Z!ro$C5!=WBLRHIXJr|wlS@`N5s7{-7gA9PbZXD~_c6pX-*{YXm#r@G}_0AmeqDL>(&M;pJmpth-aCGn9ndt2fw8K(Y&9|X12)}O`{-_Y@Ue;FG7B~*BJ#2(ERAX`>M7M=2>+ejDKXoH zP=GT~;?U8X&9(b%OXiezqX(GXC+Zani$n-3XVe0|@y`%anwW4y`d<*p4%F^RR6g^r zUOWUMnQ|wwM$tcQEbg1_RB@)LEMcn}rj3gr_sUP_#}Kf0IowQ!*F0%kSDegx1aQ=% z)iej2`EVeuJY~EIPa>G}cP%5A9~r9kRahXH192t8!NkaKWPo4ScU;Fyr2}raa+>e( z3h4ElVq=~ye!TNerLq^DE)NPxSUZ{{?%&HoTLrUQ$~mCvKSg{of$hTe#x6kG>I5)@ zf5*t+e>VZZD`I~jrqLfQeQ=TbPwtWYk5qu`>JjP^^b3fa%?2!>{R;GDX#?wUJWO^r z;tiBpI`3N_JiZHkN@zM8)l${B^DmT)1XDpPvP;UEO(>W_IXY{eM)E`G$c0yjUMMrM zTEbMZA1cp-vR7c}R-K_AF*Qm;9A?biL8;H3N3!GmEGOcjx4Wg*O?!O5a>BbhhcHDb z{9P_hnyl?}e$5P@uveBhT~_aOfun(7_p?aYq09i<`8&o9#XT}=T*9u|N3jHj!Tqlw zpiDhJc%NMD6~{RR zD9agd22_aRNKi~b>*VtG_xdnc>n*BrUfmJ)w*esYSg(aYn&}Q~=4SRAy@Q};`bbDd zBAoiBk{Cqzv|OQX%)ewWqi(_uI&Xz3fx)Gb`z=_cvhw?g6ebC^AVG@cV}-JU<#I#_n;Naw}$T!|_p2BWTYH+8*JpjKY^quCl=9a0*L_F*`HWDlJBKBv*z?m2m-ZqN z7TqAdWJf`OqfKqlTlYzPnPw~!i@LTp2^H+6z8E)Jb_NA(nz%6uNu+Ngehju5$P%ap zjTmH9Rcibs^RtqC;m=8rIEtgJplC{n_`g6Uw@)Uo!Qd&=-S^+BT=6pDE{4+EFG0!_j@tm zkjvq;g%ra_k>AX_y(VIZe*&$ATnF)?8|JSb5erTlNMW5N_)MMcbG_%;Mo=2aRp3wN z(LX!8w)p)#eCR|Q3(2N)l>_95lgyp13+k{$TrqLqR($Da|Qp3B03vPp2vn&C^#} zh>DQ8R~Zq^+7mpe*5BhhFg2?t05>4|-j`5f2jB+Ya$3js()*RAYnIHPUGirB>{9r0 zLqL~Hr$4$pbb~hq`ZT;*xglYAp$2YoG#nspp+6RA)QhHM#hdy8z0 zUCr`wA^8@?D;&cx>;?rriY!Lk+LIiTETT*Eh{>g()lwkW& zEcVD7XU0tqjC{d!vb_m-DNeQx4wa(`kNaFf!B;OQfGZg=LJ zB1M^4!B*bj^i3E35HrOqd($K(_(DZj!-}`ALDnEaT!*-Zz+xM)M!+cRn2B9EA&z`U z!rz{TNZEa_A24xP<@Wk9Tl)k-PM!q4`(_#!9vBF5ppSz=KK1%EBXp`$b*h(nsjqVe zcwB}x`aL6)P$QpmzW7414CA}*H$Xt6693B=A_IJ(IKSLSDq#r$n!jKuz|*@rd2z|t zcyO)v6iiqxi6DzH%FRa~Wj8w$(Ks>n3>(lsD4^Y)p7X zt7c`PDI**3)QE-(t&C$77uHBGxJ6D19TP~#RQBoDVfeDaw%J@s*qPL2L*u612&$P$ zY6h8Kjc-J&IzsU-a=y|Ig2X0@@ zDdSgLScWbH<>X_2%F@o-XWerXZg)GG2nvw?icVrdb$OiekMQ;rs+)buDomYaWDk+n zc-$YM%5?EruJ6$wBo8`N*L{Rhj3VU@=`RpHTwTDt<~`GjYuLOH?Ron>qEU|Lo}c7` z&_8kF6w%C(7$KuZ3UMr=v3B&+OWxI&=Xtgi>5+>ev}kD;(n zK6>PRBTleO5p@_o7jdHZ@FSk>wX{=t0peNEk6Z%y6%x?DziAFo)j?alI^Tz&#Azwgy~!7qO`QNZKj-#6<0C*|*tkze-m{AzN5u>2cN^Phyj zKYIKDiv2}-jtc-#|IDENlj?T}_T{nUuXcm~`$NkAr28Fv{QCrn$^Q=5{-pdT#Ono{ z{MGa+{u`tFFQoGC+WJNO2Uhv(Jo_J*{f=DzJD(Tq@>g5<2R?sCGXLQ8Q}ZvBKjFw1 zEb~`GqWtga{R^`Bzhw4fL+D>zP5*)EFI@BAC;5Uk{%TqOz~y(G^WXXWeKhm`z~>k4 z`R`o*J{nl6{}$BmIOxCg`TJ-D|AEghT=WkvKh^eoUHXEI{%URjEj^lTq h`V#$qwOo#WiG@<4AOHsp1cVIuaRKasG5YXw_J51g?^yr< literal 0 HcmV?d00001