From ec9fcce3c64cc8d00afbbc68ada8e00ddb3730de Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 19 Aug 2010 13:48:53 +0000 Subject: [PATCH 1/3] Added migration script for Oracle Calendar. Updates the guides for the 1.3.1 release and the NEWS file. Monotone-Parent: 618ad1eb6b0c707afbfd6673022c7840209747e1 Monotone-Revision: b59f331214320317bf10c70f2db10187fcd5f29d Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2010-08-19T13:48:53 --- Documentation/SOGo Installation Guide.odt | Bin 147210 -> 147256 bytes ...SOGo Mozilla Thunderbird Configuration.odt | Bin 21610 -> 21604 bytes Migration/Oracle/README | 28 + Migration/Oracle/oracleimport.pl | 887 ++++++++++++++++++ NEWS | 4 +- Tests/Integration/README | 4 +- UI/MainUI/Version | 10 + UI/WebServerResources/SOGoResizableTable.js | 9 +- UI/WebServerResources/UIxPreferences.js | 1 - 9 files changed, 938 insertions(+), 5 deletions(-) create mode 100644 Migration/Oracle/README create mode 100755 Migration/Oracle/oracleimport.pl diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 0271fffd74f5f0ddaa3aa55a07ad5eae9ceb0da9..14ffcc6e357c734b071062e9b460012bd2be4558 100644 GIT binary patch delta 37743 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 UATwS9auEvTA%e@^yeQy*08RtM2(V zz1Lc`yQgcarhBHQ!@1^s_WuKyZkz0&<$*`sm!A8&AIU#Mx+)1qWJ5vjq?8E>o30gLZ)ESy zNQ{ACCgl*p1k2BQO3Xss0wCE=MfYxG~Zo5V$0B#3MHO`c)lvY!jVH!K8=8Z zfvtjrf&F(P;o#u@lgKotB5($PE?#vzr%-1mKnfp_FG;5>q)wG28WJ8JzSZ|0 z|9NM*ZxcU`;xHv7PhXAzJ2@tT6FPOr1O32`ZmW)0r5NVEAej7!58nk62n z#$VWlvpkoME%P#nwYHjk%`@*UeX$eDyEY%|y56Xq<6ekO{5ZMAeUPJA;y}XLM2LOP zzIs*4rRsjG^FqMasyrY&TjOL2&VraS8_Cr^+u$ z0(kf7d3apXHjL+XSG>cDXz{^RWo+SLc^TZtJNpmZRp)DK4f8)_qVYRdr-pj=-%Pz zkWwETMT}1oXYpUxdwM~ae&R$$ie4E>C^Y%8odVZx3g znJlGGGIEJ5z9itV2n%j|IgRbsF=WiySwCJHJRhuSl^~Da$#oRni9QJ$Tl6YBtZN6R zg~!?Gng*Phk$)NK5xt z;(#KJ=c~-5L17Ko2cEXOhcgcT$A-iFZT3qbOtz#jcO8(E@p2Ye5))KOZt`c%I1b{& zp6iUUf<~8Pyp!!tTAINU@nfv*amsJax%yIlGagVi9@>h784vXfmmpLGk?QaaJdS%= z6gcA3C6{$O@=k>ETs!WwBP92CGv=A?>yH1xh>rnHL&a@0ce66=?XSvkD}isL3@#&d zspjq&I{+B@_ETJnEU^L4ENgiJYx7|T&&)+;>Xe>wsad6US4mc&RFY#=c#+9UIMPGW!*tyfp4s*=Kp0}z zt>gCipcaAG!GMx+>2o5-h0+2O9T4&1gDfG)A%U$;C9D%NpF9fVI`h^l`NgQzlFZ?APx}+Xiesk300Q&v}1d|3u5`QPUnma z=jcO!es^Kp^{FjMHL@qknh|~)=aU!yddb}e`b;I6cT#|DG@8@jIHcFnABy#;0;@c_ zr|MxJ%7De{QUebqA|b&3aq`zHj}U?V*b5LY(+(0gn6f-=4&puRM($)oQnOE|V7ek) zoBb$|{w!0u?_iZw&)uBtoupfEvvpm$-wuc-EF!weu=&wM%Y7&^8qYRk4*3G>%s5m99s=0|YFwXQ=8)CJx z`K%TCt3vlOOfii;sgNyZ&xw&n>hQImaZQ;6Nb0~UdkT9mk`yakafqW;Z#CkkjR>uazL-z0TGxIHubOgE7H7YTo`# zo{;Nl;(%x%NJ!lJGkF;H=Tkb79BD6|IaoUnl5>n)2*-GK&;$+a{0ewAImZMx<I29@q!#rbAY`=-#16djRtLkWzlG8Q6^(Y-kGz;l&%0RP;r+2U)v6OjI2%nFWIXb;NNnT`7QP~jitERI&H9UP=s(x3_q;d@ zXiBzsqxZXoc4_9E<3gs#X_=NNOk8VQ=g zk^;&KR^nsFs*(@Jn5Dk=*4(Rfo)3mmT+KbSCumLJz}HW$#?Pm(a%96YSw)gp;HPVw zX3hH{+C||h08e%?m}<6uP|+Xj2-T|Z-8rL^1GmMTV9*sy`-3Rbok~mJF@F={PnS4w z&(S8?wJZ9=oaAKlryJlQyS7?By)H0k)WP9MfHT*Gal9F|JAGVvr@EkWy0Na!j;{~z zS~E%E)R>vGPInnwGm+6W<1Y5GRxdDj16`lTr}4zzSVqn^tmIbW_;s=R{If};ps?Mo zL%scOH0R{cr%K2rPMTyv-j7FaEz@&HU!@n_PWQDIxK1Lc4Q_y0y!j4!=!0FBpwTS< zo5b0-s>L<}kTRO=V^^D6#^14dc7^L62XEL9seLoaeuh zdO!MNq|K0gztnA{S=BXlx)S5ul~kPD)n*hmdM&m)I+)ZN)T?dX?0e`%oOWm_Qd zmDuC-#nmr)cX%y-OFMTSf@UxBs*{4JKNshy8Q}|oNk1;|H0X)DmJ~t0DJ_aycPWID zRW)K-q7}-crI>K_x>`YzC0Tb&A<5>GWo>Kuf`&p?psMIH5J0p!@ z66~X?2d>P5XV9RAK0UMx`P_KtEZIfUW~Nz2+JxXDY3t8kQD4`UalN@u;4jO+4~8}^ zsXO{CkbSBoIh0{%_gJ*bpKQHs@7Y8n2u4HVvi{%*hGl_|hzLsBrY~12**MLXoQ#y+ zDG_0EY4la#guwZkK}2}ksG!Ekm;poZ`ULXx$QP)n$yDIbcb6P@(Y8VM&S);7$ zCL>v=abG=i3d_(FVnif_HL8lO_wzt@QW9p(rYUtJC!mXKLmob%xcu%%GK3kH(#$I# zcSQoWFV9J+$8n|hoo4h+OQTe?MSUkDmtT=%8X^s>I09YU<5_Kn`0~n9K?AcAx^q!& zlshw->4%!jV9WVC60SMf1dnM&7g$xZkt~SGC8br;;hQFJji=$zms@pJGQXGBt1P+D z6(K^LS>Rx7;Mz6I@m^d@42E#OcBPJ^;U0TaUW19_Q(nTlDB(UazPQU{tVnhEh8Ar| zmn|hIg0NzJ{h-ru&FoaA~$Z6w$m$ZS)9z!pD)T|V`780 zxcP_%o{QA9mtdTQi+YB!m_=lRJ@rO;LFer8wz4JRq0NV3vk=S{Tg~qWs?=yO747;2 z4WQQ2j2G-6ocK-O21%ugmP0npbp?5DnHjkbr!;Q1KJUp)@5Nq8CnHV%v%Hgc7BV6Q3XW%af{QAwrR;sl zhMieR;~1Sj*=W~Xoogdu&)$ZYO=At&PeAkYTbAy-Tsd&N-i&ngBHZ3hcd}vd;;kC5 zaT{5gAa3T>8SLtJ@lE-*wdG6824Ug;hT5q9B)I-xPp~ch^`jSgFa+m42LsovhaVOB z+9J~O<^r-Sv)_3XKxpxdn=K#PdgltM<3atQwrvC{6s^q(*H=Outb8GJm$T3o0zeQ| zWkEtoo=%@uhUCA62Ux<^o+1J?KxOl;dM>vmnW5Lj&u2n2q|TM{v{UHGz-#f*$IOH7 z;(MG~p+&XzF6MwMYu}j-{!i#^+%J+W3y1U+SQrn5~e!)uC$0*CQ z(Zx#hC(4QmwZ!#Bc91ohTaAHA$XoWP`l z0hDdCqEy1GRkCI3!|$GHAH;tda)*&GA)+TmiKq_PH(9VFN5U%W)I~3GD$4c+C=?X0 zO8F_G?=|JYKToQ4|M5gC+}Z|}qt{8xW?RPjI%@uAhY5u`e!x&(L?`8L3f6-7-`RnY z4zyH#zVy!pYvm|;o;%-HZ5`uXcMVB(Vp$SXi`T9rh6O{#A>urur*T9SF|jI}NT8E% znsF;Vmp?fXgwOn9W%o(j#bJt1!YOmWkf%FZ8aS0+;d{Y{asM93hL0yZF&dH2A0Uk= z3pWf+nk{)p0a&sVdztq&^y!Y;cZAuJ-llzbcZ>sDDWAFCCOE6>fE-uA%ZX+mxoHq&C%Sd)YHK(<_kOT*l(PPlzR3 z$fZ!kv`cjUJ*M&FXq1~-y!rjMZ!&MW0mbpBcu%RsfW%VIf3;r21JH->s;noEjtRwW zo{8~Z7RX4VYnPvABIF&k^+O0FM*L^YoW8Lv_&UIr*t`M2aPb+?9F_X&hIg9jWB#B z`a6K7ej^UHORm~9*$F>Rgq;6X3f5==uqdDxP ze#ngUs)_8hGTXE_V@b?(wKLoJUw9fHC5M_w5LfMz%J{!|a{Zrq{_{f4bu`~^vf!iX zP!k2xtkwP}&^!nJqrm!4CbS3sqtG09(0q6-UpB&e{Sx6-6ZIe86=pRV>Hjc=;=_*e zWscO9&rknXkue!nznW-}du=Ck)6&30+p<0NVJGvyh@Tl21|CBH|9{do`(cE&R$*og zfU{j{)-EajCzk&XC2~Gn8*43Xb*sYcAI3m>*h&9iY51Q|{-ps&v$h=8B=dYeJ!Eqj z&N2BDwd1|$so+Sr{ur`rGK~X%S#|p!oZB31?{(Z0ZW37>=q-N0{$or%&h=ltzwB#L zyv54jWi~6BO@PwPA&m$=Mj_-@)89E;4)p~r|7e$=2mgHYn9t!>b$conw)HOdHwbyR zN?~BtGx6b@zGrD~(2~lluy4^!-YJG3iJSRLDnR_NWV6W%)F4AzBJ}=HL zlaP_+01On`uhzSS(yt_b`SH{;rJ9y4{Gre^^4!aa-_L(v`YejvQ}tUbTWFJs)$1(r zb4K$mS*iYQAN~ezKCtM@j~BM{)S%b+Jl1BbfwIZ$OS8?h*`?c!ZjxPX`Ly_VP5&_d zJOI@W7M~E3$08NmI}@Jaw~cdx#MXt9c$iIvH_*j>!`Ln|*Gne&&Fj#jfBkC~*zeaX zqTt_es`*}iFIO8wQ>#9CY#=qk;Tb>Z^LZp4saJ)D6eOfD?)3~9A1I0uAz~Hpoy?(9SrAuO;sSb$ zoCxS)*}^{zehDVN)Mu9D9}kEPeHT~s)SK+gQ7(Py$vMsyDdQ&;5o>hflL;UYg8KH# zy%&szXX6*|Bu4_3PffgV%Xq?aDmUl<2?FenlEEX$k>vP>L>Z8kQmwzW+qe2rq^$AG zwREB-5Tm<3@-1#IwBJK78ZEVN43gW|)BqNs8=DV7fA5P;J~1OG>lLKn)**>`u(*zo z#1TMc1(TQeUaAUQrIC=MZJt*IpH>=U%i`^T@0vvW7wH>Os0Z9-7~&uB3d0Zy2N~gN?c=F-~Q~_5=*%E5!e!R*&RK=DU?6+QI}FW zJCjn%y!>ap{>RAEkWxDOX8@Thno<+jOVOE}pA}J=7ymJgtD-WKYjC)J`)`B@8~9ug z>)znfuXwqX(7kk#r`?U{~ehq$8RLv(7 z6t^Uf+)R#1`rk#&07RBo#goCmP7VxkGg_h~5dx6ddK4v6O;`j0A z2+lKIg^kd55#y??{KOQ|%j!#~MuB{9Uf0&t>0$X|lIkf0U@{>^127RHCEmvO>l<%H zi>)+!zBm+c`gYttVq@`Sui{Ekzf4GQ$jb7jdxA-EYtTRzKGs8vuglkjOM~ZMBOTLG z6yxRCG6)v{FOz-Q|WpLTlilC`*2&iE~90#G+Lk(uFMCAWh-sMdc)^8O`Q5$;K?k z=(jc28QA8_=OV?o(hO}7^aP#%YcD};y3;D_(S`*e`0)1i5F#WD?=VPWN2`1)k09|x z`sjNEPEdYd!$#8In9%&iAS8M)T&whJkWd#F>6rT$jVdLiBe5(m4BW{_>R>W99v@-9 zUPU-0G*Br8j^`v)_k1HtfFVtfBm`ox6(LQbXAJiq1I1b$q4diq<#q=A-*GN*-lY#L z|HC1m7kwxw2@EyPz~#aRJabCvOtf$1>sTFU0DYoU5bN%fppWRs{K6XjRV$5*u@tIw zADVEHW1vWkOrHlWl)db?JcinUq?mQNg`_6k1vL!zJ5%28=sm-Yty* zpoI$V+~+!cYP$m(KV265gs@Con{#&S+FAjhoUkC!qc}DO_BWCob3PkI`c6jU^76Hn zFAU~z`kb7A1dT^Xh6qdqv8gB2bJ`Z{f(=A_NlrCz|0R`j_g_``E}}t`Qj8;U9|et( z<;h1ie--MCqqOxXoq6y+8erLjZ;J)&OlLuX;T?#A!@NJ=MGIc})&&{_w8Zgp)KO?s z6GBjs_8!D6fXh?uKj6923!cf4Lv;_bI1izgH8wPZ_mD`NlPn9tx|1&RJ6?PLqT}aG zWCZ_v-b?K1-vIOS5{$cc%M)vGF^WU z#6GX@{yUrJJj9q5?XzJy%;VBJ%=@ia`G#peum6&}=b7GDrORFN_22eRF+~Nb<4jFH z0!2whgWQz@*!FmfPu+0i|J2l)$rg8EX^iO(_r+@zA4 zLebVSs%L<>h-Z;ypqXioTM#8?OH0=~^qti7Z&i1#Ar?--91T9;4f=FrJUm$FmL{;I z#g}1~igE3(_YS@yS|1P4#Flv3ra#n|$_nC-EETtLH2Ew{f`clU=FRm0c9V$rTMa^` zXDDzS&J=3`l-_v67R`Cl5Ks*QW`av^OQj!aP>-Ei0lVxsw=3*{4oHsCd1raKxA*35 ziVZBnx=r3i`zxUPWj(>^3IBvQS)c$1@7+T2X!fl8Rxo;tk@TBf%L&5z%+e%cxB3j6 z&&R(~Y=L1d$5%{BmKApQ7y|i%cv|>wWGwIpNsk_0t>^J^j_39l)^`gJkqcB@#(aWj z?x=_mFGc4bC+c8T@}0zyNc5>Gr5NI~qTNttN*xSl?HGXOgrT{H%qnrcOe~aWP|ToU z+O7_xDePYXfSdPqg4QXYw17p^^FSpsO|1W4xTH3o0c!^cA<3y4Tm^*qBPN&AGGf18H4Q1a_n{cI=Xpt5U z#Axm?MX!AM7B&#}XrTF>bk`lg-lB?#hRo zKTt(f*cCOScH;DVJ78f}bu%{km7Oc(^-RX<}8d%$(z+236>tyftkh#U`Mtqu_3pskGAKxK1em1Pz z`0-u1iG@2mB3?WzhDGxTc{MJ|buK9W*e5;;X-Xj%W*>%rHtL*N_?U-ugvaJ>fCY}} zU37Wx-(cMiTgJz`H<==$mdO}{((FfC{CsCCmrg+qS=~}}X5e2y#(zy(er1vZfr&BJ zLl`R2?c9o>L*>^cciB_!)d{WAO{I1S--U_DBJLqobO>HaZ^-wAtF6g;^YHa5d%9Bn z3ZB3$PBr(~Q@C@`#_(0&TEP+h-@9MxsgncPUaCcNw!}QAvs4tl42lLU&~`WnZ}O{7iJB8= zUqeM$|42oOMH&a-XTJU0tJ;j1*XWNW$1=Xv-^iQ0q-oZ>%-4I#HqRA`blMaKQ16my zxbD8PCUYeFhFOcM@_u(D76sbZ_-wNq)I&XlobW}h$x={6pEuzef28;EJb(gh4b+JI zUp_V#2&$@pnZtK+zOe2HwT?}{jx-F$^T8cxlcU2pD+bO9s~A@tkP4i1R%Vnxd;I%jB%xLHoc=_HIH+A7T>QBl zB~{qu1|BP-#h_^MP|yAENRI-172jdU!TDFOdGaj}71dv>YsoMK$oc2eHvCPp2ddgG7r`dW4Bn z2liPpTCc!wQlUiG^_gH?X)|-pL{b~Ejd;30t~n(NiFz@i;nWMdoQOK!FC&Ptl0FmN zEnf7oe^F5aW*Xj;x7NBtqHUQ^lPhK^t4}Ye$c9o)Ye4nK<&z*jjqVUh4D4Y-28y-i z5+QWv&q!mJ`Lty|9xZs1w?8h2m|K11cw<=5k<2$}n?`+!_^gFu2@^9oo``akGUIV+ z`SA2;`q*jaEe3g0EWs}O|IS>qAtaP5VAVT^%0E0MO^BXjiZvJ|7lm*YQaf&3Ie}nO zdREdz4Pb`YvBz?=5j>^^K?6-2S@Rdez)X3nNS&Jy!EI|{@2>P0nSEP2LQ5MHJyKU_ z{d)Suk3(5B#}~q zw|RKYP=Tp>{vyYWTl*2!8<>IUU|~iErLaUkt`3kJwdwWNg6b@k>ALy}u=;WK#*ZJ= zb|LUwz_D=xXJ#T>S-0imP!`p}TpN|+U{cjZ@NfG&wsC04Vk|zwlA3XhS1Ek{B-v-q zFgn7FTFESsO?@S{Y-foXNZxLhPX4M+i8MPI-Y3_?(!uutxwmQpv)dt*K{J7cJKjGZ zVE`PLQx%z~4|^Z3mS(;(DzdwL-VHTy5HM7Dv=o$Q(w-%TzYm|gFGxQHgX6xyR73=C zdo+^uWCv&+|8~m=oonvk8m%E`?Bx0){S6E@TxfNZ63kZ$PaDDZ7J=^8M5FZAC{1W{ zY$f_m1a}a7w{74RP%WdyPn)U}YlQ0%b`NkY@|Ip=tmC{&#+X$2wSnN#hru!Bdcwk@ z)#@q9>dJNIUnV+)u)lEdqd=^tw2+F#W^Ieyj6HpEcSxad8S(;|VJd#@?BfYy;{bJ4 zV)tJYQ>D%b<#w4Cs>QwGs(3n?3G6?SmcR$)Bwh3`q6J>D0ype`JcMs#r(_g|C;)Vs z$7ks0)++w)_x!*?uu;9ARiEL;)J9JeG~A+VR)Zolsd^7!t-Xa5`ZAY%Rreo6sI`(9 zL0*pOxM39$KmBfmZd{2~Lel_KAwToo5b#g>w8?&?M_F$?w5C@4tDfoo&kczll!zsm`WUAqcXko3IeB>R?XDr$ekfLe;L8jU5s52)ZJM%oJm zd)>@pA4Pyh7`RQwAYDEFPK-qbCe1;b_6EjVe9SEVO$ic{>DH7z)fd`$Z&oB!1$-W3 zXg1v`f*`qp$0H9@#8wRdK=jewC3GsqI6B@e%VW#c6!{u0d{) zK=|fJVqAj_!oC@cYEyug37#jzAv7TByJ$(AW=QF2;io_SK*WUoPneO z;)W6mBdk|c{2s!rk;%Ui;Q(bD8S@ftG{LixqZOrN12bt0a!(8~2);ikHdG8Z3idBJ z`1duOG*>AXu#kJi9prOx>r6}{xSx5SL?3xeC}KE4Pn&nXqD04Rl<+%|-Lu|Xfmq~+ z;S>(-P0pNs1Yh<~MFDVvm6D^cl|2Vp^dURbf8_KKFk$QP2|D38i0PewZ*_yqir$mg zM)^=}9)+q?a_=5!!a2vNYwS|+ZNs~`y-Y_)1~5z3>vuFWr@$9uU_f!gRC(9=C%y#m zj`h%m&|T;scy_y-Xw zf-^^}J=fl06f}f?bJ0bpQ`*Q;FjFfbGMMh8b;grraHhn>1JT9M@!2r?ZEF2GUgJbt ziyzU)5g()D2)-q>Ac-j-F=~xPJ-OJu&#wFL(vC=0;*#|4AyRMlY)enTwO~9FF^F-= z?XJRowTrjh$Ol?}A|wjuGV*L_$FIrQk?1hz+7gH_<9#_LnwCFUDv8t#izxqvjN>d! z)QU6Gkmv@-O?0GNz)?}j{ng?MOoiD6<6BUegvKTOmKaPHpQ}*J-8Y}A25;QxjfYI{ zs>QF-X5(1>$H$;=)?K91cb0YJ(ym@oG5T5Zuuu!$NFTsoY^^7i3Rm(^eUWOe)k}TQ zkxPv3c0RbB_UD)3pl;%NkMp|!ZW60mF#zQ;~mMKy#R5c#C5|M>5z&J zwaD@dXQ!FWou4xapU$Wd_f&?ji;yE^(iHYi*9A}m-&+Y>Kp|36mD8r9BN-%A{DjBe zX9LzTB_)8OS0?yWBxeq}A#Yk6oEq3KY^UgFy%$+c48FiT2e)N$kGW&pjW$mIR ziPDHaJ5cz;;kc3uI~L=w-5(rhpo+=aHSHXO<{Ex4Cu4W+4!;FD-?5XX$gTvn8wyi2 zDx;FPetkKVcMB;5~)R#cNLLen+;P1y$ws)kUAM*dQx6uK1^a1 z6@&G8v&gX-l7{4{hb#Y{&HHN^M|?j(P5IP>f|AB<%cJW>4sPVjfiI^G-ANkW`POchBKV8ZUzmJfOC_!WL zN;^y-J^$lnlE~z9O=(B~)@Rs5VjlYs>6`%6XAzEc^{eRX^~Od?a>pYf<3fEW{3J^? zH-Qi&gKRrJ%UpR2G4nb>qz!5vQo&LnS*{^KX3wNKtk;TJr)3mc*;tlP<+Ec(fmGdy zfNxNth;$L2MI!hK-t-A!e|1UhD?2h6@d6nTLGBdVK;+ee9jOHq5>(6P-l}Z|=dh`2 zKzi(NE++fU>S@v$FVxN*6i((^myx?3BWKM@^w+^l&jZgc8xG_p7xN*aDBf zbp5@D`Wad#pa@}3x=TQ@hmi7+aAA~dM%}yO>4%dtjl#2v>vT7oK)+#`pD+%mD9_og zVk#~S^@k{iU`A7Y2Tmpp%G;DF3_<`PB}z4el7ta#PbD7O=P=y-=3I0`!5$^Hgg8TU z-mAbG|DnO}Y!6A)qD4MMs{;G6bGUe`u!nWN-FeAMpYyzKQPJxRLGY-x0Y=Ycq4p4!w{X=tvgj?*`N%}o5=jx{z0aPZD z^-BIb1dCHN%zI?T^!9So1E-F%do>HtYE{G#GY2AeuEk+G4eJwE{S2@8Svx5LQ45-C zkcc6#51h#gWkiMcW|QjiU}OjMXwqM9BNOH6APNmi_i_3JN$L%*ZS!5_4i$?xi$ODJu zT7bw!?3Y(Ht9j%o`5EoWf_A};Ydwp)mV7E*oavC^gJKRM&W;W#-*+;>p=5pZstZzd z-Nmm&t3h&7-ewZsoN6IQ-?2LG<%kWq0ozh9D$$kohH|}#28<^IGCyoA|86O<5-b9#P@RoAX9HCy_|TA8XPnzXy6`>W#@Y(&p${3VJ-| z>;I?_HtZlsG|nsUe2XfuqSV{XCfC;S3h*yIb0Zr$bKHyqPZt5Uj4|6jA!@!aJ7tTu zVvwUB6tT14*yqxUHIMBh6~hsv`^qTo$hLTPNo;`8ZKN=&ZyKnr6XzF2j9}%e;SUb> zKv5r0Tq#$pIm*s^m(!MMs~yY;Z~!WK;e1W8_otLs74vbmQKCCkkGt*8RMpCA@BuB` zU`%mK$bVy~jQD{N+x5GXDIp@KFq8DR8${=E$0G4VeP4^YJpa45@Tg-_o%hsdR(UA_ z6o(@3OQG>YWC>(KDJ6{NrZ1olm5P?kJ8Fvjr-CXLXb;CtG4RFPzY9-XdaA{?qvUhs z)bBJVG`A}pXNiAs5}|!rRJms^{x+`ANHxZnM}Zj`i2P+tNLk?`IwZFB%LHIfp&i+d4`3n z{2s_2-jMu4U=(E;L-~p8be6%Lfc}8dc^}jxT~KW>sJ}H|w_(fKzF{TQxcXhlT0hQ1 z`=`GD4_FxB^K&0z-*(n^t$lL zYv6>6P&WN;IbD{3-~6|wW?0C>v8?YgH2l$LelXacJ%_Sg(%-6Sr>Ac_!aJi)IO4iF zYk$D*Ovo$QY>YZ!uKC?%%h2o4GFwk3CW|ZF(BqQ>mMYo=(uurLq1jLSd{il;0RK^k zhMHgeIPlZi!s2}aP+{cvWJ>Uz_szVc!$K1Mi)^%GVCn}LG)ig%<64R3iob8 z6~K;!AN7}VLpMJJYkYU5*x9=!@Gd1cRnZ7kX#)3#kEp~fYBP>g!%08q#^uf9`eM&o z3d$~^=`oDL8Y>A8h*G=hxQ7M4LFQFgz5W4W-0iGa$-1|G>Y#m=lQWB7WAu*%1Gmyf z;q({G>R5hDdvCHc4_v>}!tJQ4^pDviINBF35~pyhQ=YxjF)2#ums&Ur_d-*3>dVk7^K{ZtlKzCR|4T6tD!dy}u>Vav0$Hi87C`&3;OJPTKS2$da z3yCZ%&c;BvwzE)>)Kq!GO>AU*ef%zKk*)E)yM>Yo(OBw;A!8Io{fOlN@~vi z9bnv}67ahiqw`XIX-(69{(;hVpC}}gN|p}g!d60}gL2E4zBNSMUpFby#46=s`da1m zW+%|Jvl}`x0tPc~!pMSmwyT}`Yo$M_nT2MjcP%={Itw%?_gb8~Nyh3lXFUVx3Hn^a zJ`egZJ|-T8UgB=TPCoUbFQLTUzV{R1cI9}{+8GhzD|hh-D+Tm_?{tAhWF+}=Su#HQ zIEXT?ng@)4ml7Qm*rJ)TK4%Ca8z)dV^5dRI-w!7Q9-#!d0Rvj#p%6W>t1g}D_6u1P zUXOGinHQ!TLlMTCi5se}u&;nH9L7WN+T*0erb>)$_-6VegKxc0KxwvtDPDkDEW>P! z4be|<0>oe7knHB?xEzeRp_pMHvUo{*)CSdI;T^-8W#RH>Jlkul*2`<7)7Cu${Cb}) zXUMiN$H`p0{WU8Yg8HP@P{rF=7AGT;GR9%}EwU91j1We|& z5x$)rUY8u~l~M?R=>DYq1UT8B?SU^IFLgRS1mI{mC7J1U`pRm1^M!PUT2@y)-1Gxs z=Ew586ROv0v;8FI^Ovk9f=A*_w#InHL&Y7O8awFVgn4q5v2(raPy$~@O^SPNtyt>(*BSzQKU4KI)jpB%bt}%NabK2XuA03Ol-TZHl z(eam#hdLxXejr7T4JS^z0W|(>;u}7wOmRn~m_ZTm4GY;*S7gt+#Iz zh&C?9{vk)tGk4V1k^t72V4uCw(^gskV_Sj4l3EzV@FXf;iqg=}Oq!UtG0d!9zhDdh z>f8*DdG{_Lk(e$pFa;8!DWoaySI$_)5A>34s z60+ck^(d_J--m0|kB2?5zv1Iz5?1@3m+7=Qt~~<*!YqaId}*!yB#oqDvq^HRqEW}4 z{vTdvzujZLA@1Y9u1S5e*hR`!$c8Y)C|2GEM|T1k?|B>?RBTPGgpz zc)t)}Cr9yU=(=D&nms}u+B_tPa z$95nAc&Sqyp1bg=@>dY!w@E^7M+2e;3zTF~3@-Zhw4GF9h_bvtHI&t5l=!@a!miWt zx)7gf`p1Ursq=yT^&0Z#*&?BD5d6vKF-|ZgHDBRd;NcWkg5`EYby68)dT_3cKjm;7 zV6LppI5wb;pu#h>Dr`W+M3 zQ4ME*ze$FsZ5)DF!BXvvi>h!byM zmztvFdfyd2Z}k_afV^m3VZfq2|3^*NjAwDRw1?_u!J*RbJYMSUgE*?X;Rgqj+kS5! zDdd~|Vp@H|g=1%qE-cL%&#W58!opX7N=alGvDYS))8^1`wTU3=BwrSh!r;-bg6e+s z+|W)gJe6d-=W02Zw|jU#onN?dBjeiu`d{v#)x84+3rAwR@zeS;NurZw4N64g5`?}E zwilh3$rQoh#3PR1?xr=!ZS;(WZsC5KOIr>|(dXq5H+xFtMNhHE*S!-dWn_plHdIDB z^PM>`gT;0OW(8kZG=fpYFfx{7jPtb4+2u301rSw=u+>zJQd&5}$9+YI4#3uculf8Jr@W&Ee`)z8X~@_uu)fdda-y__)k=3*dmL;wX>L4cvM zGm-^sF`ObjAO&vQ0EVi8J6#U-U6;<|l*@Nn*?ZelnoL!Rik?|d6thqa$imf`_xf6P z^SgI)N?B_HX?T>G=F=R5l~T3JIb^0VAnsT-7eI?eGUrRqndB!^<#A^oLQ1Hjy|CfkTzrRgzqIT zwZFooQFeN*n)-7usMyGnr5KCd0Q?uPkXAi&5#tGk*t&!z|!jq5$k#P z2dX5I*7)FGnG^9iv?$3oVUFI&DSDlq!Mu@x2Nn$M;qN?vU!Oe0?PWSL*>SH9t;3YM?UE6g&tym1 z(ZtU+O3jPR>KAC7+~|}pM@HHv=r&qJa&(xC5WyEJev+?)Z;A%$Atb&|?6_t;#Wq-l zb@)`ilPUMWtF#AmFZY(qC^cIOEH}cJ0gIX=v$}!rkCrm2`?BQijne^zeWKq*58}j1 z@Q-pd*!kwz4Vu~y__m+iBhvZ~zC?Fcy}`@(Wel3YZ^qOrK8_p>zSuARn1^lF?KHPk z`%H?K8!-T=a*X$xZ!s+t?u<$m)-B4=a{A~B$Ns(nQNi1VuC3c0uZ9|y6!DL)m)P9E#?$P25~NHLnxNK?usLrkg+|bL=7#(j zNXhd@fvk!03nFChs-Y+s8>gu$bcvLjW{JIdO5!YR^^{4R1%X&cocH#KVZ)p9$+J9w zWAaS)FAD|iGFF4cW#=z|U0%tv@0o#de1yKSwDuW+8i{|SK>OfY>gP{a z%chBn`jNT^?7_E<5b&1!CN}_zwZa}|2rC$Pq(x2xZ0$UaFYa?Tg90AZ0p!@0(!U7{ zF1kE%Sf~d^z}>F)2^|?)edySen4rj6kO57g> zsAeb*H_#MV7)B3-QOZ1c0FMHDfM$P;GUwttC9-@r0C`MpEyShy(1)MkBRaA|qzEBq zrJRX1E?(<+jI~%TA{gwSJG6nph+w1PIDsZKSd!F~h%761NMRoN!LTC0WHd5-Lao7> zs2@>!0*4${p&bGzm(U_Fj|)VuBVTwc^t|MiAK;dbjoSgVBODHLxUmrq#l?RRAixMg z;;`O(BY=&UxI{gb*Pj-Zb|c?+^=%r#P%{$332+J|swwcntgHChcr?D~E(`S_aCF+g zI|MB4I94=~P-08c!9vfjp>tG*R3;Ibj2Az`E9xGh?xQ$Da~=hQIU=sy4w|tT6i@Mor`~18&%I6jbXFIO)y@SM%O;OeXKj}63-DacRatYCn~h? zEhcj-#NL#jHpZ`yun9;Ep%YM!;pLN;nY*{2%JC zp*FT%YQM%0zzm@EMp@cI|9RqZH5VHx{`NNv%ZoGS^{Bvwq1}FWANzkOk`x8UAkX&P zOj$+h>P!*Eii=@aGh>?wBc@N7EAs~4?X0B+qO@cc4p5)cI8OWH&p^#H4 zMH0dOH6Ivf4}9~&*hgdFp}+OLFEi~sshr%?^GX}|?C3Q#&^11=f3ZfATICpL2(}v{&68## zh?z(>z&(zhOsl&EPs{xyg%=MgstT?d@i=i3qN+z0FGW?BJ#`7(h%Rnj2rWd-e9CT0 z2@MF>K*g8H@uOLCa1l*Wl|jzPjkr@HD8Qi+Jn)7*rik^yE98HL;KC2cUDikEXr7-S z8kg74HAwp=#T{$lNQOq5c-&)oFac>nrIroQ6GpLBdkZ@@@ENbf6PGy`@`axw6E#DY z1P1w&Qi6&mNeJ=py(uGIhzGFZRgm5zx*o{x4;4;FKp)pL1O?G^;~S>4Km(~o?`j8c z-=kh%nKwu2UWk9X#8~ONzqqY_xW!Fyd2#t5N_FBoe7+)H7b!U6+y@1|IRsInmY7~F zET6Xm{FtvQL(4_}8s9_$>FCJyj-rm*{3HL_>fzY&XKFY9e@I_cYV~k@UgWs~DI6V* zr$9T%e)5#4Ka?>TV4CiXng5}=><8SO zdgGWEAFY2j8w(F~;DM3V&InefoxVY-1qecxg;n7VpJPSgF$qp5)Ntk|Hkfz9NbEAn z=)QwmBQY&y6wOaD_`-)R_@}Dt=z>QTbmYtZ0$tx$5z>C8u78*K>(N6evFtJ@{_<* zysPM_iEI?oN(5WT;t)uI0izkDN>&KoL#8_Uw_r<*X3Kd+vsvpb;cics z+`4}g?S&hq_K90y>$?Zy#w5?LxyNo0amgK59cYJ%!l&GJl&xJesK!f<2e+?EJs-`3 zw;qkU`jqtd}fTOY&(Yxs{UKI!Uga(nhYF z(#8hbO1(7Zz4Mi-pGH{`eyFOv!M=-ys+9`bYs*w8jD%7PRp+Jg!U{@#)5|xzQlZFHk+1a^=v>5#|M9J z6DEQn0R)fB#NJFqZ13gQ>-0IGb&X`7oq2GvY?EvMGQofJQNaXeve+d7&hs0DHp8C)Q;&KiBPz5~p`9xa zCLxwztH}cuZS0U51P>x2M^+o)Ha!ezmI_mpDJ`Lq5XcS1@SfnAB~H9hPG&B*sqoybtrQh14p5_=UQ;NA5T3TAP-$e+eYWZ{n~}*jiw%`R zFNJFjZRDuPA8lG0Ye{L+&O6G+(V-OAa)SK%G5HEwy9d8G&)8NvF_eGs!$eKBm!u9w z8ENyWL->9PjknA17+!W`>{O*0#s&3o+nus+8?}^1*+pZ&ch~o~+8vM2Zk9TZX~`tg z_9p!&qhAaAHaZL+;S9F4l z<_6@>6whE+14C6aw*yhk6jPxgDI*I3Y}HSg@67H%eqyuivQ@Ec*+BsBshiH7CgVz= zL`Z8wnn#L4LMNJTS{5P96%0(=Gzm6JI+&yRr>iNwA>ppBt^Yi9@x#p>Fs$oD*`A#N z?q1%Em$&?ryj6c+yxeiQVVlnCB=D;N3|~#-_1meBb=%oELzS-NmSUyE7hIFoXVlAK z4wF@0@E$LqTaEX6LuF9orRd=~*)y-#Gb#t3m-Q1>CcT>}vM_yN&Yoh<&k+-@ z`x!~;H8OvzIWfG0P!{J^4D?9&VktS%+FvL=mE@x+ot|O^YzF~cPD-mi7pk3-$U=Tf zYH9BT_bCX)5^6!Wz}?WB-c5R$km{SNy)Rf^_r^$etEZ4$oSfS%O zh}NkxuXMk4vfe_fmL5k2lL$ z?sIyLH#}qIapZE(7!umK>D=LyPYU8CT`vry>VAYye)XS#Ra@Ri(^7r+f1F}@3nJY1npK9C4Yy#NrPp{=^3PJ zz1C=V8X#kLUA*GMd-3{A$L+o6n+)mn${X134QW|JYeE@#}EPN)LC#^>PxP5Xme=n0aLjvH>4nlvz z_D6PqWLH|9W6yJLjc~YwFeaKR#X(0KCLOu|onh{5C&m;9nzZ~8KBm;dZ6CxwOkC9BU>;pVVqo~yz@h;#LC_PBpEGX-?5 z@>;)cc9_(x+h6T*_S{JrnJ4E)!y3Lh#ABHr=il}bql8|}=fzb_iypKExwA{>sP*hV z060elfmotn-+_5ZeUv_-1z7ey^et=Kc;kVmJ!^Q?*N9t7iJpF{+Z?_c@zS8w3(gMZ zLvdkHvVwK(9IL4DVhDg8KD2+Xz2mpXPYWqoHN9INJ%8;sA?od)19meB9nX89c65ZOxOI6H z*cRh8IQq6jt+n^$xvS)fTHCGXVATW)gu|HS^h((>eey;mL^gj!X=AjTDzVjQ+c!YP!{16U!OhsCujPpCZ%ln=1e4~YS=nJ9CR=ZKJ)!L0(k%Xlu zj9S+7MdUV`tMP<$wV!aVdhIEZ_>_}1pK`KJk;yLS;%jsesl)pYX4bu4&ydK*z8EsI zoEpH-EL^Z7HP3%)S;$8Zv|lE`z(px(mrYmKABD!IkQ$un7RFIGuLa+Hg)6qrfxpR)E*dDKaH9H)6ko2J!@>!ys5Oa z{{n5a9TlOM#_TRM{P5l`sTM=25Tdb!G@2BO78pwb0v&&7hc)=d_a=j(R&Ts1)>T_2 z(C(hHN~ElJuJzLBifX(b)*BI7HJT-mReeua<@w`nKL~-iZu&nkwu37Fy`ZE7X-xrC z$+LuKhrZ$^1Kn^)tpyYOtn)_KYVfc{74ZY@ZsNkQo6}-#Pl~0IB2wW^|3_w&Q-J14 z%ukD|T7!Q-DX zy%)NQ_Y=n{Wfhy+7HLGWXOE?odIR0>z2}dNa!NszE~WbfTg)1HpC~N^u%(d3zmZ%d zJ0!u5ok5XBlE?<;=rHUaOkqpu47NOTf|*D>$wPk@?OmCa-K9>%$^L|*7_gS{eLzG% zw3D4eSH5$6@K(Ff`V-eoz)5~WObUoXSOQf6`(=WW*(FKiPk3_w@%z(%yjG#upVf`d zs=S?c0VIgcjo3?z)S40CaUiva9e4xJw2hEI&mM6k48nr$lOBadviEy-NY~vtl}a~nd!MmyC&5f?l1zEoJz!Dy;Q>CRLr`gmo^022CRU{R z^kFqx50(R8aOqE#t(K>+poTQ{WSUAvu_u3fj4IeK&N{{{ZK*Pey!}YU;_Wd^5B^*_ zfKnenIl|^{k|M|J@VKHKzj@)OYey9nCD#8w%2eGwQ1N`g*%*49fJJ~F4+_v!kI5`s zX6=Mig@1lFXM#aDHln1}=d&gj@vuLw8=qFZD>%D#43ml|?jD@?RAK>O)W#CXg$jSI z^2%#m)qN+1x#ql_b}e>!FsPK#wNjQOZPLFnLBYj@!@AXox^andA+nv4<|mj$=S?S ze)FEq)tJNw3U{{0`|pWDo7&xEG>U(F7H4W2c|YV-iM@RIm3lKVB-YWYh|~@+>#*xz zNOgycRXH7cBUZ(-S=H}8ehxx5uF9RO>f#&uMZ&Ql%28k)3eB+}(93A&XlwuPSsxUO z68Yh02QAp9KcGPUhMFMqKeaP0=YT*LRobvy-$RUIiL*0}j|L1O9DoS_#W{bi5^7HI zU;iBSS3GUEnhlOK{MS!-vFfKWABT_dO#xtTF79|Qm=A8>+XNimW927wn-zx!QFA^X zd$t>*o`WrI-ywhh=wZ4BzdRlQh(Er&D?0p~cm0#+FdXr)C}kW+2biX~o%9^r#EK2f zuaq<<9d1flF`UbD*ShD!Z!&-So1*Bu5}_SH**kaO*uk*qNVu<;-UzS!ooR+SVmk1j zqJu58WIYp2S&I&+bT~bWdz=;>?K7O!J5kFoKdsHjLzKa_`OR&@<`!W}%Acs>;G!*K zTx7i};eLE?GshAeV!9g+_u*03(r zZRJb98-hMn~oHS#eR#*QWG!n;C}MFa5GJ8zBTz7Z%&?bxTKE$ z*UWEcrMwlTzGCa?LtmSD6K!g^A^zc0KNiDrxb1{t=D>5P_Q!wJ(+0jb8B=u+&Z+6u z(Ig0E=7fPsd7H<|nudrNF@iR~@1U9-gYa`BbP#VuH}lK&TD zw#uK8{MdM;ZTWu`mQPWZr(u;3=?%HzfVfE%->%|18gQvSj?y{VC~xZsujl!QPAbUef<8 zq{AwIX1Cgx9Hz(w-L6Iv&r_~Wkxkulb{HPc>ySoeSDUVkW2f8b=i8ydt@!m`&P z_BurB_jD`KrQtQPkSmt@!_w!#&SZ$eKS8jlzj0+I5- ztEMW^r3@jLg=M7gXy@Q9R+VQ#_&pUrq>fOWt$#V1vYtoXV1gr2lpdLk2*2?EbZh*- zd=m9yZ=PWhn8dIcP?Hj%j0q;blNdjd?zsj(NbG;7)oKbzxiVMd4Iu(DW=IQIsdV(Zzt7NOXn?YCWaCQVeq85al|DcT85^FtjfK(8H-n zeYP=4^gw(!^jZJxKwyP9fo>4_>YhKSTAmqH8+xM}1Wq+V-s;B$jK*6!3lFi*=0_*2V5Q-jB>cO*l@Rpvtdv|5KlP`Q1n3ZeZ`^1HJb%v?!IMhOI z9eIsB3j>K?l4UxK-h`>%^UGJ{4@Eym%e+cUiC|bM#w`rV*0)EbCvrt+x*{Wg|$Q0?ZCu zsl^blljr8}fv-NX?{amN6c7n7xdglnKM6g&DQ{xITD}^@WvKNq7KWvHbnU(E;;(-d zyrdK%RY*EHlo5!Y_CaDJV(}PgU`#P=(ZdQLoA{2LfAj2*+eRG=dx>Qs2NB8X#C1l- z11yZI0s?KTu)i!(e#A!R!ewC<_Yt<`2H7EP3Br(JUvizudise3G+Z05F+eIq|B`lY zn%=|>=Z|I4<9>mfog`tRy>n}1yLNvN`n*xNm@f|(pn_}_p)|$=8_9tUJ}|0cBvG#} zqq_9GCPd5vt}Z{k=PKM`k$t8P;*Mn}^yW9RoDWr2F{tW9j<$uI`YrcVTNhEuIu=)? zE*v8WPEj!_^d77^yzvLO07hiJOU-o8h;=c)*onxr@<>LYS;CvL3-91cc?@jzQ0QuOBT)PO zx4&`7fB)_8ZxSUb#dY9SEUbStoD%SW)?w_5%Z}EyoJczg#5fs9FQ&YWMT?P;TzMo3 zAsvkd`KEH4V{`BF%nnRXXWEZa+r6$(p~js&`oHD(01Fkb-d z?>>LfCZX-vAqp&95j}s7D?)-{AUdcFzal+=7{)$3QheRBF`AeOffC><4414am4naD{QV7iYHZ0-<{&NW^jA%pFD+iET~S>I3K znV#q5k@aZu$@jF8ZCMVR8t9O~(-II-pf`5rnnT|M0l>78*F%5CWHIhMqSew7l>H7w zi%fYuqtWH9ewX%^Tbri*C?`Y&-@$CxSJGh_%>;08=avc$wb(R6z$z~Z%e@9h@Ss4J z%jLOFfh9AWipx4qMf%y2UbcA2k6pd3Yd31Ufzxy+n8vB+xAcB_5yK@WyB zOBViml8wJ!dQ;ayiA|h{cRR-Pfq%LD_Cm9K8{y||L4ftzRKuv?LWo1dzek{RR~@@o zEpZk1%a5oG&ft;bO_;G9GJLw8-TnEhqTTq0>2UUW%P)WQz}LF=qYxyP#1C%l&xRj| z1LLQ8x9FTfnV+qmsmE7{DBu!>V$yz$0x)=0%olK1v~fzk_gGB`Y!D5nd10GQr!Xas zj~Xbet9x>AULB#-mXM_^1iWuSFKhn&aG7RQ&^?roq8c)LED;XdKI=(N*EzLIGDs~?LNlsB}sjP6MV@?|%2 zp_HJ`gcrn2STZyDWwFD@rryx&Zz^-1{lmw)-hppni^zwJpX+Z3-&jZ-J~#B%8(q6p zkUxr<1$}x_b`jwvdo(6W5lB$bzuet?)cJ;k5^sM#;BBrVXWWE!=>yLj2$COHe+G;5 zh`&*lQwCKm*dCEdo|lrRfa=gupdnNC!Lwi;C>BIz0^3r$9iap2sIJ%at{$|07M!*K z+L6(aZ_%A7`0Bw%GS^zRm?;gAxov}=*P@P`4MW#laUF9|x` zd5@@=ej>_73!dM}h&Y?EP?sJC0v3PDyf*?JRy_Y0Qve<+%2-%A*6z0fI)jYxDXexB8xv98m3)JKuQaX&&hs^F<&3K@sjf zcR_jax0VD`_`4`aFYd1smK96>cqT6-VijC|5xTki;D?i?rB+@{bGZ>N6}AtAh;qLMfsnRP>qLHu@4@ z65HnWl{{pbHFXgWLYGwL2ca*M?-xCW$(%XMU?Xhh^HIVQWg^;vbYFj1y7s}NquIXIi+05Jb2PgdIpI|329W#KlamJ}1j1Hmo1HE{dsvv&&eE-E(oLwA7Bf66oKya1u{OaO@*#t}1`hAv2!o5GT0 zb%kU%2cRnec=T*5qAq^{0a9q;8Pe-@%xOJ1GcOK~GenXfzplpLZ@RWBE^b>$im!ES zGD8YB8a4Q5*DxXJwaN)L?|~zqYRXGR6KOw_7NexzZJInw%=ZV@)2K09-!R$Sz^iRT zk6$W@QwI`5RWvFP#@RIf((}D3a95>JxC~_VrN%%ip5VaKA*O$G)3}KcUu97fz=CMG z9pZ;i!bmcGyT_s{ZoOG*q_!xDTzkL5bOyjg5cO=Ir;}gd9U3?8H@1ReZjTS%p2xWp zG9jMSOnxbeZ!&)dnGNkbEP!}<{ugfUY8O~b?JpoIY*0sa?L0~-m@>yX0{UVDpVkfP z;$$qEilKhG3~>2{QYk6!AoHAXewZDT;<2GjE(_`hnQ$VPE^sRGSm7|4 zqBvn7eKN{U(&@x5yNLs8*?|eb_;d%A(TxENY1xPc6-lxWuh_OIiwMQAF+gLCTg0{r zT4>1JfP#N#YW@phB@nihW{i-w31|!}>e~0-6b-%#fk^o&{9=f5pH#K(6uL^_fG^W! zys4|tWPr*R{lX$B$;6Q*A+t0FrwjJM5C-;0WiN1pb;B4<0-h|9n#C95FnIo~I9 zDJ39*{@5j$z&_GN5aJeK#umIJ7%6Qu%8QKiX5xP@D^ppHV?97j&ogG>T&w5eROL$f zQeUp@Amn<{+u#5GAN(<1jAiIyBG7ljlPZcQXjnZV!}8Y+`yTB&8u%ld@;^R-kq9TS ztcl*Cri9*Hd*IR;afOA9UYP`+kr%^1(yy5Fw#mHM0Vzd+5_906G{q@@Ww8ZwK@F>F z8IONeRD-G)BGarYNu|0(`&#u%4$Vx##1eCDjshIpe8B6~H-Ad&LtRn|Ty(ycogcaT zX=kT|^CBzkmT*?&Q1N*wWAHnM*&*7EpnVoniYny?$_+xYu-!=(A-`@Ku4umOb0v_T z=UgqkQtVtUIY5Q>XVZH-k=wZn%06Y-Ub27OH^F6CB4dUuS+I&3bUYXG{$34Dm7G9iE0ho z*ABrJM2z=Jsy$V{ z-yjm^=WI>A5;lI0r0Zr=&~kPNTnQN+>v8~_5BP0?kQ7_E8e76@3kQS$jpfY~Q9KXL zP&`a|)B9I&>D$iniYir@&uD|((VBl6)ia7dxAO4k`EgpYt*qXO7kohjzUIh28Bxkg zu0$Bsc>z`~%!9Tr@KNP@L?ymO>4Fj@eHuz2yCOG2TqZ?URzYV7vNU-!XqzVQGDTpm zrclTe`q2xO8W*9@dkJWPV+7;?1~@?+qT$m|(n52?3p`+>+5Cc~_94y=$U}c%@2M~t zZg%{BB$lus6FOV?k)pd_@6Z1nXov5qk`5*Mp9c>>gnyQ4SK0cXl;X-@yyHVvXdBhO z@yl{I#?%Wlt^kkF#MZ<}Hrk-7}Jxx)sAiTC(|kd4&T&Z=lkji2LB*i$(EB>k3nT@za* zzy1FKP)i30{UvBj?`i-5c(DTjP)h>@6aWAS2mmp=1Gj+=0vZ7WGP?tpo(}>nf9k+0|h~kHdJ9Q=&jC~Y@@#bOj%g5LDV)E_FKYWAM>(Gby0rK}d80U7DpCXu9 zxO1G{v&M(XK8^1Y$inPC20NJDf9L)^N?3`n6Ep;K?nT|zZE3ER< zFfpDcgO>XvgbGqg2WFs@T+eZCX6&~FeP{(gq+t$I3EXc5_d(q|TkJPs$;0GB4$=>&-3mqS#KM*(f53KObdp;qmV||v zP6n|wj&{acXQrdH4{`?0N3caZaHGJ%TF&+VE)7BS?xUiA*&=r*ZT1GnFb%O%XNNG$ z&JFPcj2>Yg`am&=+%|BSS7@Jx#OfM@lr8!pb|`>pTmebK+{Yel9Ufs|IJosAJSYhG zBS=v87YT-axFkXEe^3m3q*7qka`~~%h6VvjW4iP{On!!&eFQElr=OBM+yNC^Sc?kr zBfyq`msK;|W~k3iyW`OBL4-YJj6B8YqOFy!DRvb~u6CtB#abl=G6%j#QE(md`cP-0 zmV*iW7~<8KxCZNIj!NxBYH$XQWH4!TA1D2S46A#_T{Duv)PmUWIro{JWe(-GQ8 z0P--2QafK&)F6xlND?Vh8j>d?h!iyDV1*@(l8oqyf1d0DoY38v%|3&e4Ka}_%RW$q z(uYZ&?s1a3MvS5?{DLWUy(FjKA`ox(V1qxwn11llKF(7TAAeU&ALcl5wLjw!i;~U| zO0y(5ZJdCCSYYNIIdakV<#-fLd>GLZqga8G6fYup)F3Td6=;h#inwHI#i~q9t&qZ` zRh=;7f3~M&3uBs^+7SqFKx$KJ2n|^FyRevnq1Gk)*w6P2;Q=?}gcna8OW?d(3U#uB z5F2Mq2EnQDty|hmRdEx{&(dIeXqO~8P2_S({UbvPO;Ri~7gba`cA;+NGIAkRmNg9u zFH%>(6z)J6)9QoJL9YRn?6YkRWPqK}8nEonemmz*?|;WydA+c77$(X%8zNd+2XHG^((ge#Ey&Wq>(P8n^X zf5sou6^r9x6cTpXl}4_6Vgh7Ryu3|WOOUOA|9O*Q^$JRN0b=a-QjDRPyaa_a;td?K z21+hSB-l02<4E>bb1X&RFq6cu*M%P-2qbr`RRuO(rdhUHjbbtx8Q>%S@X2#Ntx#}M zsg$AOFm0ILcypabc&;bw1P!BN8b)!Ye>k%&NDSwxUya{4CBFwaYbBO0ZkHf1maK~V zcqvUHaFXO>$<0Hg-&?TlLN%W5TO1|ynMaF~MiR=Qe$Q$3d!sq5Ml4?cAbO%KWE&99 z^zQDq!f2^)s|z!e%PWwOfksp@%#IXvbRMOL&^Zsfd(3!Avz)BpHEp4Bs$jLFe|IRF z5RrW&J#eUu6Gfc(n#6QvH_@u-ta2kahS8feK+(>JFt)rmST&C$$~UC=TID;Eu+B2k z+}VVR{eMoH={ zk3`Y2<`NgOOFTfPcB^_}x#AHQHHXD|iDq@*(%or#7XY-su_WsZA5)kuvB(n$R22hv zT*~SZ@42N+5$}$;P!&$PCI^*|9*`Gl*Md&IS{9^_v6Q>~EwUUtiqV?qe;ErLW@4Q8 zgoUnJMjXO&uVsazvV!(Gv38-t@+Cc^j|TG2}%7l7HpM>z^s|`p1&1 z&K##qR)(T5u)cEWKV{IOf7%)uGcKXEX3EkU71AeK(cRmx z2Q0;!-oyQb*X}30C-xJb%1=CjH(0ori`g$?$IjGUE-z@u?xK?&UnrZb^u2K=KS+vfeOY6Aef1XE6p}l+k@x|1k zE48xzconO28)oNfQ`BDisac!~{p__m>Gkv4`*Hnsu)DUnSY4JS;{23gR#2kL{V+g$ zJa?7>rV<9VHg>{h+N0!cs9Bm_JGaaB&1;0DobNg%!hR(-bLlOnFP67;>G9-tW+MAr zjqESAc|kUnhy}l)e`>2XV*+DU0Y=(?8Z(>pTJ8Lri^oONq;6u>1P)Z9y@CdL6H?wp zytYd&x4SCBv)vv(d1RK0!q~Kp_f`esS0n)g+v>FAU9j|TWvy4qP^tau>~yAg^V<>5 z{S*g4s!Cm;zXV^&eYG~n?^+dz=gwQRQ#9A%uO=*}Z0!{ie~-dYcj~>koC6-4mvWlX zx~own8v`~rYF+y$9U~uxxy;dxyYBmxcZ2pRHNATlNPfv+Dni#|ORz)WX!v>@yH4_i zD$y&k)Fl_!NG#0@-q+3vn+wj1yQehY-$2&+I^68jUIz>cG0*hai|y&~jAvjQ;ojjtQaPw(?h!NJG0(iS*SW@t9&Y$9bW?BKE@hva z@wem8f9oHMI=dc*{eB-skQyd?j!Sc6fq_{ynBwB9Y@lZsCHY~n_OM1?k~Ghf$(E$- zUKm0ff&ysSWjT67a>tl)k3GStVx54pWDq0H)sFQoibF{haE}!yWe+hh(bMxw8jwR6 zkjDz;fV2j|M=I~boAcp4)>guUAF0A>Vk-<|e^mkcX;1Mo%#dAmMhIUGTNS^6Y}NfU z84?-glefUBHevNAZ}~}AoeiM%CkFNBVQlK2Hz?cs8OAGqOQEN-uj#*rDUWc5wcmx^ zj)z@4-{&3oIP5>*iQEMkrao;K&J8Yq&{ezTeg|#ueSw1qz{IM^qYuExx~4H-4r(>w ze@yN7uW%j4p(^J%*YjUt7V?}^UMb#cR|?+2DpriQ16GU$KgPP2A10x1a;&A7N#r*` zuCuC$6u#FpC4(N!Iipp7XD?4R6vW_#Dw+m@*x#bmW_3Y1o_*ZhA4Two|Nm481lemi z@*Kt6PLrRjQM#Nk`KgD`he{Ty(t+nnA2GQAwl&s08pIFPJ21s)^4$jiz z;%*H6DM#|P^#KREHY>akaKUF<=&>?nHi>?m41JBpUijw08&CP~#Mf0@o0 zf`6fod3S*_gdnDV2-#+~G({E|6*!Zwq5TrGMIi_&e!o zPKvF3k(0z| z=eDEZo*bICJP67x)82t&F&V;Y!IuIcgJLJ0^Mc>DlQJOssv~zv1fE_de{oy|3|N!u zt_lPML@AgVFymm~(=rtF$}GEfSyn#UtP-b~)K=QxuYFrn?XT-PW~W#y7u z6+N7gel$*(%SCTG#mQ3HnFS|oGsNdqpNcJ~P$jo11p{OBeiO!6eFVq!dc_bER@}KL ztY^QAMX>?@uXuISok-s{e;}#tR{!dK!c1j^N<;=~J^z)f^^>ab@2V)N;!GPN@&>-E zS`8eft=5X_)^}-TniT;QBbrCkNwZYM&$_+8Ey1tk zbfQjt9lx|?%xQ%Y^m8hphl#&W**mrFotSnB-{gdt`>Y}BbK-v;rtDhBdzz>f79y3o zDTpPvD|Mu-xz&%7G>;nSsHq%1RgN;3bEcZ2&(wbr@#X&jP)i30r3nJxRu2FGQE>nO zP)h>@6aWAS001((1_M3i$T$tRF&_e`0s%3X+93in2r)QKG&NH^FPHHl0v4AmA_5T$ zFf&v!IXW^mIx{qvM!vuKRM=eY^8A^IP*Uv%WR^+j~Bl80p<$ z=3-`GV7LJUXoJt^HU@?Z4A(B6ubefqIT#pj`2w|{oB3yMOfZ=xe=jw)Z|?^=M?Fss zyD;*Co&E0u>!(my`ry+?P6XGC?AA7Epl=z(z>7GzH|f;(bSR^*(zTCUUb&_{-6ErZ z{&T&J{38&%&hPg++P6mR?cR?}ZQ$kJFkNuEKOg@AJ+(xfVUQyd$&`S}rL2IZfU0sy zIfl2D^koqSw+L+Le|^-&*8t{^{9+Fy{~!L3z^%~^Vv)MAHI?)icrN^3LkcA&5`jl) z+(UssZABPT5aEhzhal+PbNuSn*ii#lOX$D<2l;SCZj#E0L`>B>ule1@6!4+AE+L%B z1k`kV&?xhnlAW=AsX!REEz*RCdbwYu_zZF8_fvq0zX10Ye}3z7E}&-X*tw{v5Qt`_+5kL9kxs3WUC(VPzeLl zA!&U9L46iMImzxH5AtQ*Vl3R>u2Pwj7TY-Hwet=Ce`LgFs`pO_6l^a?>n|CNNN9Me zPI^gfzq7e^x%Gg%{-mn+g>DzD%boLEs=WsIpHJB?)x|8yk9h za^$TGazYxm#5qa+QrYaI5;-8M^D~uvR^|In0~HmQibGPVyXrEbZejptv|5 zgu5H>e)JpqEROG`k55vI}F|ra~a-mNEYrjpl`3&Hcrz3pi|Ot z5mfTHslxuI;Bmg5C2yZ4E^H-Pvi<=F{48o?erVTX0^@6)DSZ`KkR}>UP-$4O`|U)Y zXm-0eri6IV&8ZDvn?#{m6?p=KNfiK4Reiuxf4V8bqcq4iEyy(1fd8-tTU>P5Q4z(b z1zzo+X`q^H@5UVwaK)+iQB;Ct5Ust#d9%wqZ>gbIQ0(pw06!qScA|D@n-}wi36d=Q zJXL35ugfB4;pv$r*1;n63WVB;GENIQq==(79u?_;-ExT-s5r8yXj71W@YKo}1dNe% zf60BcN?hSG1^K;oD9<4t3TI`jbm`5j`7E)M)`99L7 z%B5*|n3!C+?xHm9rN)aFvB;JA>_d_33ubq+Viq28IfVR*&=Zjkrcp!ctc`zMYF%9g zP*mUdUzSEd1f<)gk&;|k5Ku~D0VSnVaA}ri2}vobr8|@qBqbDKC6^Qg=|;L^3IF*0 zf1UCBdoyq5-t*46bMAXH=g#?@bKdEVX+LRDW>8PbVu$p2(g|S!U*jWMm>8@n)3p1n z{LUu}$LkWOBzV1+L`f`H))nb#BoWkpmwfLUUT8iKqRCVQoiGhbD+-5rID}KZh83pz zEGwi&F*Y!wu~_O5(wTLA78mYLXGmo>*9+B(6}yd4t>UXJJe&GHoIdImD_QzN%s9 zYTHeZxSaM3a)OJZYD-?*ThW$sawxA)(Q)fu zy2t|St+;-M2J7^tdq-FeBl2*F`k#t@!s5jAQHFQY7rbhHG$k;HLj@oAy}w$_^_?K9 z=+bt)!xK!v-wF(TUwzGafWGZ`iqOZP^OcHy6aowp$u5klXUJZ(6LA;p}tIt&e#5=nz zuZS;cmK@yF+x3qmQZsam-a3pRm?2x{Qg@zXVWlnHcJ!*8CEHD-azcIYU6%2ik&}s` zv~H5P?hHt)R=i+)pKE*vELc?1!r@t>YeJ zyiVN|L>*e?oPOzcSv_rL;$QHNzYkD0BsrDFt6><4S7Y8(=kKA}SHdk;vxc+I#9_gf z!>p&IJQ>?o3A`q-$(dh|_H`yQg*hdVa-%O9jfsiW*5JK?35YZXIw#l8>+4xxEd8O; zI!83v29yIC_W%K{I&ua^&g}#O<;cFcD$S`e zfCL7ThLM5I$tE7}3!~FLrB&z=Bc+ zSqIZj3tDmUrN-qQt*6W0S9d~i7Yibx6EL*Vrf#jsJ>^HpQk^s0 zPJ1U$+)9$@P6}Zr-^#oC_Fc#=Bmd7Dp19nYan!Nsd8M2DTi=+FJbkG$^@kk>xX!Aj zc3xhm$h4v46r1VB>e~xXZ_o?jhxIpQaj%JTR8CnSRBVo|A6ml%h*4qJ&#OFQ7H6C7 zmoc@XJ+0Q>*Wuc;u5c5i%d+v${?X``h9b-&W*E zaQNhZ5#90lghyJKLL1IENV(O#j<)@3?6WnR0&7DK$x1gik$VYGH>9PP6^B=HA;z;{ zxjJtn($CF44W9{X=cs_7rzV|AW>}5|ww_y7JvZGXj-xE=3)=?dznU0TJ+nWrIr}hS zOdee6L`U_NIQp2MUC6jqtC)_aQ$Mob+=-w46{WOo4%V^7jU0T1WnfqWNl-7GO zV!0E!D1R_!AEzfa*yk16*}qfI@&sQ1^;legD?jhW#qj6HDK-#ry;U3N1>$~MxWptA z3p6k>VMG2^|MHie(tRcTfVOYI$SYAmF*ttLF2e98aVc0!E0H4T5W*E3qJFn4e6vKE z^&FKjSock)`s%6M?Qt?mrS&hp?JAlYzUYR?iW%pxmty!Cuy%Vy++mlc%qyg1scdn* z3}v%J{=6L7v8hb`LU*BPEkYUp4ZjgbxtQaXD$lTxKd|HVR)A4EJK+yH&iuL8o9coi zG)uW14;*+}7iUeJO0yfkl8u~r;`bsUVUl~HqsDugthelDq7((xG*TZ$qtB+?#1bj= zJhLBbn2#7&J>hY_Y9FhBt`k^MAgx_eHqHi2jJbdg<6Aa@m#Ny{uMy?1zWc1?o#&waGO{#_;|#!pJ{ zxCRQG^<4Md9TwPo3Eyn#+0ql`GAX>+Q>UL(q+YuNJ>>T%4IFLb1GXTEzS;L%1JzAV z(2p83!pIwYrj7CnGW{o@LpooU;SEzp2Hlj^k-@Lr2Zwh+AVkS)(N|5o+GdQ$yb7zV zD5j;>J*SWzy> z;j!MlcXYn3a|iFhbzoEsR`E5+h^C%0N$TBFqL%yg5jCL_>$&y2d(0>Qc1s?#J z5n67G62t+YOow}B=7ElDCuk7RPeS)Aoapi*kz(D0)qOHBCzYe# zs%NA`Q*~FSg3V>0NYyRr)MVwLw;4cd*1fVd>&xV+>anYHSS6LI;SGo(3jqONsM1B} zv15YkpUiZd%=tzpkXWT}hFRTN4Q(1c7oI<%P1C?{KM>IV0rTE)dV9FzL`Rt{Xf z{UhylE2n2?Q$`!6im-aQa~R8bjIK=XvbAy7(ARVn_Ll1D)w!NDcved;OMQRZx;lQ_ z=rF^R9(PhRl0Kr`iC-*kdw2(;J?XXb-tRCS*|7T^B5T)L6&NFQQt#9cE*5`|psO-y zerK%bxYK)K5lcN2@~$V*-y?m3nkn5od)of0-UOn4qBsA+d*=q%pR#XF-5X{=DiCmY z=R#~<@qCopakK!5CZlh0qJFOTrhF+1QzBl7KjNmq*zFfZpxF5p^yM0N%Pt9?oI)Mn z9=kB@hDj-nDQcbhsMGgzPA}&nK9}h_Rq~=xOlrwKb-EJ8qB#T-zQu*wS%q*OZ!fMV zFNvs5oOwQmel<(--NC@>;Kpianw@rP`S2xJ?1sq0jcQSj;uyBbWk)>=keD!R&o_&AYXyHq~Iojnpx{JWWE!2&q^I--TSXe+?tr46*LgynmV z1|j?N)HjA^D#3lPmCbu2okgA!g5SdXFp|#|q77+fg;I;^?#qLQ zQd^RpHc2?Qn%qb>f&$(~OADMhyogUI5%@xafdJXP=h?J$jKUf(N#}!UoCbc?&Mh+B zHhLFLYLo?9HmKyn!9F7-lC6s1eLtigX8kmX49=ntaHGU&B>h(S5@VE4l2Zw@_(|=! z8mGpgR!jLl^uuh2h8RON-;-x=zvDd)<=4%4sMD~hdQIKieU4vLc@{JA z<}-B=#Ysvc95Jy_PCo;-m)Mbn?uS`WT_8FFHG@(G3oQs$h4(X}yvc`q)beazUDiDo z7RQ6hJb)QGY9BJ5&^5?z^Wet$U+Fgc(L()$_Z|;xkKNgHKU!ex7Yd?cef`CYAS{z(3NkU;*R z!W6$@VWR(t+9DZbfV6tQ75fbkN8`(Jhb{yP8N$b~R+SO!S<&->ev0n%fcAc_>m51q@o1^@s6 diff --git a/Documentation/SOGo Mozilla Thunderbird Configuration.odt b/Documentation/SOGo Mozilla Thunderbird Configuration.odt index 5b1f09394868192ea2fcdd179d745e349327a963..903ecc50c7c92bcb0624098752613e41dc619696 100644 GIT binary patch delta 16283 zcmZv@V|1q7vMwAu>Daby+qP{x>F9~=C$?={9oy`(QkDaUKnDSV0Rg%4Miodxl7aYF2}A}ZPVz;Excrw6DE42vq)pcU zw6XtNkOt-a?-pX5Eq;Q z^r2ZA`~m`iH@jsC8xd&u$SQbh8L~}xVaY|sf_oPHOViN-F+w5Sssy6{G;Ua%Ht3g9 zm-qIsZk`glQ(vUQg9vDZOjmeeNKg+x69ETB`kkUv9+6H;UPbs|jRk$1 zFmm0PT769E#SROEI}}q(a674W2T)Eoj#oR6$=lih_>1JXcaOv2a|%cR(>$Q$<=RKa z#Ve$*na-!T#G*a>MyuJwthEGQdP5z)LnO)HPWJ>=Y0Cmm^&C-DvB5Yv9rur{dw;lVY0C#qff39 zor((BbM?2(H-XFqQ@9jRC4J~qNI|ZA_D9DG_=Z(Nji0`ij4eHru+ecdUfO&>4Fyy0 zp7usQx(|2kP*SLLHACcU@Rdmo;P>1O%Rh0v*|RJ%PYM?x1*_qppJ4{+Ch3t}*(xC4 zFQ>qaHzHKA4wcnU;d4#rAk`!0 zT^5bWhfADug?4%^#G#3G$Grckg!vP{6ijo5fiba{;C}Nh&PCsvn4;0xd2Fz5+wl;v zEh%E>y(ZGf*;-L@q^ZWhX5cpxCNgR~b1r5KUYpk#3~fpBia5@_sCK_yhbhpq7sLvZ zx-#`QvjQ)FYXVmH;LG_sqpf-G9be5FT4{St2iS|%Rt2*LyAH}0M6Hqq8 zgg*l+cQ93<{A6A={Ni4|OJvQH^oan7G&jP|a1T`s@+~XRSV2W*48216aTok|UbU>A zoGZMfD6-hAEiL?<=0n*jVXcng(S~(%8iwn-4_X?!eCs0XB>o?C7u|OlvF;#fhJRQDIYlGxMOzGI8VqoZ>Y5J zUU5BPvw%TM6+w$iaX7PFNDvQ;*x;R!F(!UTsOw6+0!k@>kW)XqKpv}JC#xm)!30pmPHx1m-9l5 z18iZ+HH~l&N^>V@{~ZszZ+G~{Bj+7D=o~_DU3f3Vm(-c8bG#Q|ORn(EC7ksOv4rQt zUFO~#+$PVjtK?@_5WA9)!6N^baF$g*qfI<#;_=B6#mp_#B0iw21n0`(F5>y?II6iQ z6IRt0n9*{576_-0g9V8om-S;dFCnms5>|AAEd88C4B{ljhh%EczF*PB%G{r=&5R`g{4Gf>4j+cgtGTg-JSu;MG&bXW5nj{Iu@xswSxcvF|G?uW(^tqu;WtyZMj#gJv(>di6q#ia>><+}>vAli8a4%% z+mmY-?o&_zT3mQ_S#(Ds<9BF)z79bequv9*WgAe&7C>k9nC7}8ln=#o$D~54?_HTE zKhoJle|)4#u^gfN>{IZ}@f=w+MV{2bl_NY8IdP(VIDLw0jwhJ3e>m)Qa}B3FnhZ{I$Enmw`+DyN`subwMtxckgy>?z;mXpdn4vCs8$Desb`!NMC37 zE&{6!5XRNiDsdA(`Z#z!V(jkf;HP%yIU3IX|&B=?{pcm4N9r%yuwaP z5J;$9yx$u16#(|)8nAL+m()i}>b^0o{e3uQZY(O*8viqfen_iw_KgZ~t z&e>Z;;5sPSC~;<^Rh=2xNYIWIHLsZh>hX;#04V3h*d*=osQ$K2*P{Mv+;)eqUPc>8l)d=_7gp+g+Y<^U zxcR7?%0{2o>TRa^gpNqk1;g?Z$?eV&&DBECAVR`%R;Y;14LzW4eTJ8#WpPOYm{21l zc=FP*v?X&SL#%UvKRnK@KJ62vBAu%~eJ_walWX1otkT#*7r(5Jk>s8D%JP$F=h#*B zQ+Ah4&%a=T_A-DyP-yj=m(w=hwU4GG=(>JP;ERBaDJUF-Ood4Pkrt`*>fs4UkBf%= zb>0~Z4^ma5Yz;O|cBhT(-d&Lc&?#6Xix7r&XuXpJyRE-~kGz(z!Xt+0AVa%F;y|olBFAL zNsMUGovr6uwb9A~M^?ob6O+hKgi8U5@VOp0Tvm;?t1F}~x}m)Eob)&XaLtfj1&a-H zL{nSE^J@66bq||qUp|kAX1Gf<;E>ky70C>7MFh_uq{0&;I@eS;e1NO&=ue!z3Ep%- z#bY8XoyZDtzvRT}Lv_{M`K-VK0jr=G-PWdr4k~d&QAS}5|GknmV&l1yEnl+R#i^Yf zu@b{XyaOj8f6SYLeo=4+$YpbD>(@Wy4nl?X!QggaF!mzpxKyn|2wW}=^QPZdkeRWS z=_D5p^QB4_R5FJwDbF@w_)7~Gl8bCV=`_-|PnYVBw5|mix^=zNXX;*BzN94RaV7ZC zAq`#}x6r{o_tJfSK6N?zb)1$X%dwA~>_EU{#31gGwkLST$?7HpNVq(1>_n6FX{;Lc zcr5awdQ7F--;F_;h2*@-qm!K5!JbGoM=HN@_wt|al?7ja%r|NJbDs~F31Gqa@N^V> z+YBUydJ>R_KCZN37+_U`Xs=BI^FvPx6=*t4vnuk_u-OrC3>VzzYIran675(JrZV#~igdo*Or4GsY@eE`~+s zMs)r3nyR37Lp+cwLN!8;sbL3`LKI}*PTlI1b=}Dq3K3o~jep>ml070XW&dFuvI%pl zkZ2!8H0}sDPsdLHO?ucy2SHD8)8dRc!pRc>UGY*9T3+A};B68bRJX+*af6lK>402o zX?ePgc$(dL?n`>ttvI9VmR%1HSc5S46U>Qp&X*>vqa;Ti{97_M=XeJdR9ls0Z#nR_W zB-Y>BxUaSzt>DEKg|=ok~n`Qw1C<0 zZ_>0J9O%G8tl#HMhMH$4L=}@a?filHNT%i@j@=i7GmSHZ^Q+y5j|X>H1kdb}2&ixh z-B<$$tRZ?+#wr$CBTl>V2A$f|?z_ z5fGU!YC2E$#6FJ-^kvMJ!Z0WQ7JZSuRxeB$U3xud1bFr=0Z zm4c&2HOXbkW{MJq$Ac7i_mZUtA8@+&p$csb@cc!~+PIPdFWm+;6=!I<9262{neX#` zpX5JlZbwFNq5ClIbZf53oupRp(MGel5%)iISFl*+txU#vT}}UE@8Uk>C6hf3sM)pM zvu6;=9}_20|B?u>1%k<0b!ow;Q8>g|KbllH!RYo~BW8?@K;Yj8X^?-~XZhRY-;hRs(gd-HZT-nP^L&eZS{8 z*;a5OoHg*GVRzD4Pdz*e!mAwrlbK=Z_yCC70^e|C0cDB+zmC1AE%p!+D(g5!uxTdEX1#i6LUcVE>aXnq+h|$gs$v6GT$8X^ z`ZiLWgNrBBc!|;i?nzE1+*QhI7$agI7*R;-0E|*DkD{#u9=WUT+qyZ%FjpPBNj?kK zp~WqIMonvN(st&qbfvgwvSc6}v^## z-zVQY>evWUNa+UP%9U$2*?tA?-r-LWho9UCW44mMet_3cXwar~T$I3U?;q?CRD8P0 zMzO^TWpj|3mYI&YPQ-V{dkIhLtHMY2T*YVP^-fc|~&jKEZHfFVsNC{v zs8l7{z;=>lf@IlO0V)a{^ldD}moo4RUl7b>A1FwG35Cdcjyq=!)FmJX{Qv?8aB0ui zY)>xV&sd-0sEHV>55Sj)S#VXDn3gfep;o?@BzMja%?JBHp>fiy-Z4`#gXlkk< zus{vP>T0-MVBC}`vf6+UC`gRSc%%O~vy*Sr-)S3l2Q~8zttq^1QhC+$~?>C!$`F`JbKXxgqHBJsAh;P00@c(+I5s~HSFmulm0=)konoAu- zKvqGThO4P05^5&TmYLSt`1ubWjr{ZAcK#CK^B z9n-oB$%vvX^2vQl0X*0ho0erv)y&N*N59*p|)t)Uz78XjxNtKZ5jipU((!5oMl3T7w z>?tVlx+X8ejAk#w3bS_V-Ikj_0Z*8`8%9n5T8kiig|(sv4Aob1`MCCp!j)T@Wb}$f zP<;`cuDrwF(=SetKD)4eR3`CJU{_wj@6>nj(NuZ_3m~((prLX3fQk%RYf-Lk-uuhg zJ$90xLF1FZg+V=fM0+`3Ic>F=Ht9sx$YELv0%!f8s-S`$g~GhQXNFNVl^c5+NVE4y zsHkVDfg%Mq=@~y7rppj~vq@(tkDCK`eApULUg=>q31KzWURZw8#68i1hV+UGwt-(r zZA@KvG-1qOek;h_0l0tWlihuF7*ICQDbvHYA{LvKx~&S#K)1-Wok+4lU-NK$IiQjW zxo{l*oExr+Ei-t+9m@zMcGw~xAg>E7F}Vs6ts4SInqKA9!-a&6%DnZ<`G{WYhDnku zdXmeE&?_N>zg|%I2$hyrVr=f5DHCkH%#-UELmBtU@y=SY02oo}z(%H|Rr#~bCuzn6 z$p#StsXLH-#2VO8rkYVckb?zU14ez%wOBL==7fsaC%#le4&%}#E}=n|aM(6>`rO-o zG+)qHG3%8BZA~ES8@e_QdWV0KPrG+{f^nef2;%WkVy`;6z?dMn?esZe9P<_gv0IJN zk8R!Ca1l|f0VJp9Hu0esWE%bmk=X34~eLx zIKq{&v8O?h!N4@*Yv)Z7o~5e&t^mK|j*84>qBBJv1ud&%M!Z^?ktU~zM}`0|2eKEt zF2;L;D&9I?Sf-m0i^+FRVmvB#1LQ0UmO>m2i%55A+z8f$lUpcDMSBGyr!Q z8ksD!Wl2H%t?a zQ14`?Oynv|_2Yr)5D*FKnF`_j?goWqe+L)qN}3a@ST#PSRqow+dR&bGHTY_H%pgB} z0I{l%D;U!Fcpvc8I9iB|bj&QY_17xjJ z3j>h9oQK%Thm1EPI^sefbsqnREPD4M4Y_=gj0%>Gw4^Za2I_16DnuwXbsSjqUkkB-`9_|JdSI}p6 z%mNkPqsfFCG^ch6&uM2=ckWRf3(fub$H+91=mH@@v)YqEVP)jLEqN~u;u?;o7M~o^ z`_H9_X5O=3nHiEN6*pt5-E;e2#-pBWE8g8ggDyhmLWmzm-mFYlyh(~tf(o}0U;tSSAz>@&jrdtY9Z& z_val($9E{lD1<}TSqZB*%{$j=oxJUd|J-n@K2AQeq~7v`Vdoi=MPcfncIij^XVy#9 zkZGG@AWP#+xg|-{#H;cLy|$>&88O>Uc@%Zp!|z#x2gT;?0roamx{_ER0Q(*ms&fb; zU?#!WIF@n6?2oITDJ#7@YEqe_e+h02Xk*>ue(>V?OWH5{U_Lah(31IQK%#*g#$S%K zRQ-iTEO60@x|W68&q0z z>FX614Lvr$q%foqr_@561^5I?s|fR`y2+c{Is9$vJjfcC>~wMRIqWD>D%pMcBf+WC z531zW$R=xwyF=*`P_3t2PR>&uh>N$PVU57-_#2==+yd0sq( zmq4qf^{Kz@ED3*F`Q6v2Ei}XFwlccpf2!xf4U1}?k*+*pn_)#c8`%`27ahKt#>?Ed z^E8Lum%)2szha3{Uqt07rt*8Wz%^046`v|h9FbQ^GPwe!?pOGf8o~1x zmAPcf*HOH-iP;I%7!VbrOT^@yi6pIxC#yN-k+t=A@yH{YT4mEC+2>cX>GALG{66j9 ztDRIs3z@LjPI}&e%5x|m3~`PZL^Qo#Ts7=!IOfILg^b($waUL*JrjNQ#!Csc3{nDz zCk1APy}au6Uv&=2Q}9)1{snvklnL^#nUh(b3p-W9A4Dz#!hm+4Z8a?NPrc0C6;$=p zeqNs3)9nw>(5CDn`(l>~f&N}}gHtOBgYex}TI9LhHp^C~wL+&Dz3Fk@aSFn)f~#d; z7ankaPKFic;(Nj(7|z*_=nBMMb?mJzoKE@15rgmSk?v+kOg+gT@-`o7CZq;yViC<^ z`x);(-lLgu)c}YzhrtmJFu8m5$5ykU~JI+pHzsDG`lpm2RSo&EQvOkWpzmkA``<@a-r_} zH>8-iM~S0ZwY5rpTcnE4@`sO`sp=~|IY{HcC9PJpH-PVi=%2yUy6FW9X`!nkm}c+5 z{+)T%^YOtNT>0D2XdiH&WScWS)a_Wc>U+9+rIVl41cnW5cEMoQ3lX1ACpegHXSeO{ z?j=CwG&oc7PF;}!f0x_|5U&EMP(Z>2B2o9NJ?KURsJ}-z6>KZAY3W@vw;OMdn4P6s zfTdw@9smw~v(=y+k5Z_W8*C)(Ir#-Er=azEvi&PbN#=7w&(A&v72N(a zO6>EMpY^dlcC*hU`c`(C3km%R<9$i_2&Kv>-2ZB+S-$LfP52OV@dJ&>24nx{!P2cn zmdpk4oP|#R3 zI0a3AC)(IAGvHx?RDVXtUrU6v*cl8UqKn7;p49yu*6QOi4pBnXrm`sxQGPDmk4u@u zy-8Xb(kN}`>=~45!#k~EKYf6|&Rhn`)FK=BNv@k>)0B_F)Me{Ttl#=dr-QD)nE5K< z2lywLvmtdM(MZ-`ZbG1U_EtoJfI?MKlWHxt;*6GuwDOg~tM=EDJoebkWSFgn%-H?@ zg1O7z6MI{LFV>KsFZL>*Kr+TEBI#Tot<*L>+A8M{H~1W};Q~3n@1H?hUi%~h9SRvm z!1+usKf#Hwpc3__N{x6ie#VA{Pn1?09l*@=^mfZ#@D+r7JBcTp8)*|6;Spx?ltw}p z!F{U5()N{3`XbGx@Sg|OG72z7z2KB!0c%vyB%x2$x19fV*pkl3r>KzJKYX#>LMof+ z;c2_zp|oNEmrskPZ)jrK?yxSwd6bUC_=tBeEBLq8DbR5{3aX+_WtFT4c@Bd|1+c-` z4|!`SkHuBngC!SeeZ<+}6xie~mC_e3tDM2*sI3=0XE$TOp=h|}E6^HI)?vA+=T6Nj zCc|*53SzEZ77589zTbZE-MkhYDpPb*BfIFr!E7y2-Q`Y9T_8HR5=aN_L{&<6l4_!N z*^St0DK)0pSs9nyQP*0V@vvq=fIVJ?YNZ|2q`EkGAs$tWL=-g6j9(rz@(Ju@lo6ln zhim-$jKz`3v#brsJ3*#c(70Br1lElk^@50w=o~`2l!VFUaNY|Pp&piwziZTH9hlF`2F|L$23%pKLF8s&;Z|p1;brFHW#t0Gvy~BXv5*ow zSh$<;npvB;nwYs;xH6bIc{sWYkg~9Haj*jC*=GOk?G>@p0KB!>@eLp9U=}10NuyvE zWJIwSB#013D^$o{SXe|Kc8VqOdMT%wi`y4uB3a4Fd1F{B_IuaKX6Hn@u5D?T&f4t243F2PaCLGn+$vu1^iqBS-rHvLWZXg~~ zJX%up770yl>2w2BzLSGz`*)QBfzWw(2`gTQf z7T^AFo|VHfzpX-|eF^;yyli(OFzSrDT@`*0G4IA(aNW z^LkPOj+fercPSxZAe%{Ih#esFa1qZ%o{E=VI}~ZFd2Nk%s5X8QZPVgMq%9{%jZFRF z;?5ct0Bq2Co!cg?*v}^47uCiXRJtbaC8d2JR0sYo=D(C#)=7>um05rCeVq7YrJmGl z@1U<~l3j`G{)yrKaYDI@ir_jmqh|td6(0AuS8*NH(+vM<*Xpr20&SeqV`=9U!ZDHf zk2;;oUI1Ddf~>!Ll*E%C+Qc^+*CC@DehUE;4dB2^Z16?2JF=`+pQIH5U80}^RyGNO zC4w3aoPbg9<8iqwEJH2Ce`W^KocOT^?IgEYp$1>I?c-<9pt&J-tRh z6ySTBzU8v7R~`-)^;D3DGg?g)WrbAbFVV$u1o@0?o1juAJaC2#%WS!K+{hXO3zB6- zjSPsmYP-PKVnL>&xJ@R_;Tt0bry88VB9?mJzL#xJBpp)S*$dv7k%ogY9qMgeEZ+Hg z^U;n)y8W#Kk)=6zCL8@EsD|7du;tUM4e+)*Bx@#%%xc!#!^gn}MZ$*@*mYDsJP`M4 zIFgnqThFR2_7pB5oyfNbf3t8ysG-u+_Z#a4Y8VTW;-yYZs$UZJ4~q^2=}I8>Jq_Pa zq4#RBD+-NTw@Y?Uv~Y7k6UUJLmGgP#{L%sW?c#=lC)&FisbAq9^1HQXpu-Hc5-{fo zV4&2qDtR6e{tAp3(tGWzDKzNZbWq?sIM&{^ld%}D;Bws@JW%L0-T+8=!@~{#R1b2y z?D=iuFChjeNtGay(GULW$c#^;Qu_B$ok25OWI(pD<=vZD8A*S}E59jvh|39DW8Cbe zfWuq5z+v!*;?E;uP7})1V*?vJ20(lc+4uP$C?dbc3E&&k>*`|*&k(^v`%h3*Z|HfZMGT& z<4w)pOIO=|6h%Lpll_12L)#_gJUI47TODu74)wB_Y6phF#Fm(k!O(fOg*a(kPgfgu z>ejF2AZT)p4Fyw`GwT$+M5Yf^t}bEDKpTH~l`x}&WnQN3=1oKrkj5S|{&-cP<0 zoa}cg*_lX&wt?J);0V`PF~4cKtfmWLUZ=>}ISF5VfLz`OY0j z0IcihqOw8OYH{rIVgPvYzPh7FmVosKKaHOzT!ngSr;jR8Z}C>ch|l!w`$U@d4V#k2L#;^HgI667dM0 zIHDs%O8F1zks)513?KKI`f~W-W}QD5VZ3>tp_OrV-}>QO_;+xFJ4!JHeNA7{tw{LA zKoaL*N@LX(j>`ND7}F5%;S|T6TynZ*F?bLg6=DP$Tj4cUxI8o8w&W=ml7XMzM%c@3 zBZApTWY*ErLI57JfVT(u5ACa6|Gu1kLN>->;t0?$pu@2(ik9--3od>euiL|~-`?f4 zjL*_m&FB4LCkEtYE?j6wYu5YzyOovuaw?KN393r=xL7&PoqgiFoXaJC>NNekj?BCUO?EeE#ce38T&A5J zI?vU&+)YCt0ds7DHDHTI zc`JM??|==+`>x`&W*@`c=V>L2w}*y zu-&L`&7_MPBPkEV)>mb^=I~$6B(ITTN3Kf1Il$#Tx(GY5E&V~Vv;3{EZQD=(oHv>1 z8pltEB%iKG{K{~-sjs$&1msVei3NH(uk9cEa;DJlscG-Np6DI2F<4MtHhJHjKOcHd zZgh{{&FU~7M+oC=)A~(ow^eq?>?poh+=}dfa2#fS^x9x~sj=I;^aQVTarm15N?F9A z%?DT+5R`CUYBXreTNs-T=F}8Sw)q@saau%k6uWt`-+y2h_B+;i!7pF}P02@pt`n`= zE$D)O9A26J+-HPtn{ust#09jU6L;d6R@p6Sbal8s;1S-JQujPk6d3S)$DAHi*DP}q z?| z3AN`sH@AVIrePl{$PpqU#hBDVQS_>lW$qG0AXL(z><>9vJ7!eTc?8BKW$#oxi)7QD zNbuvjjm!hFuZ`dH7PS*tJqc_C%L}EzCJXyu(>c*1{ z?4oERWx`ySj%^tTCYlw(`aIOCU!Dv$a_|}y+brOfddvlP99EH3+L3~pi<@sh1a>PH ze}eWN_Zg_m=r=gXmq0n1tyFAH_W)#fPk@E>c}O&c=xKI9Y#urVJ+HABCR5PnW6>%L zhG^8(X+Eqtgmw~D2?9B@@p4J{d^0#hNTpP}E^}VEQNs+g^j8Yy_P{ZvkkFgy^)7C> zbIoN7oCNh{tkj239{9Q82cx<4$RfMHTR^J2y^FLTRQ-It=#}!b z%+N^d7XI#3ViXzyvu=FaYe`{~B8Yd%@Ul!Cvl{7VOyNt7KGj`z4NGLm6*#-jJxay# zKsA2uAV{2hkPeQo3|gUke*g$SR0A7MnWA6~sQIg?L+cDaeQ&IWaQOT&-0<(7+gTcr zm!TjU$1;CP$LVSZE6>hogvs?H$F}fEjr1PIDiIg|Jrtk3Wb>o zRHCB+)^jJya7+a6>do=jgAH(sIa^&?V@f`wKLQ-_3Gd>?h7qEfZ0cFHDFKvWEnAz1 z1vv+3G-htv3D#QDN4}gA->^h(U^pN8VK%A2^^DUNR!6eTcf*USjCo$xF6L^zyTry% zR)b1E5Y!IuRMn*M7{E6;>N%zVIRkrNiJ-%2%|)NpAt{u@co+T{P7&PLKikOzP=B#j zgMH-tFyp6Cf-~$V|CjIG{)KaL=l#O%oHf=qc>3T~r0EXya#evh)W)C?Jej^L`#{Sp zFs(;ucBP82m67(dhHH^|B7BG7Lt}uz&L{ua{Gbq6olJ2L1z<}S>^eS**5vPn;BYKy zyZFP?Qz{f=FuKvi^{%!p5O4O4@!0)mQf;ppPKS7Mdi>yly~YA(dP(bxAtK<;gkez6 zvOEidgmUGYRn1Dvn8md5=~+kDJ(Kc%T^hB86WVDseWoH%MRaonH`mHFnD}ChrQPrk zMODE;^4=~f5&%i^yEeUC;n4IuMT+J7Y-8I}p_j^Pa2mwpC&i@p4OnDzMfLi{p_0pk zW`RUx5WWxNTuL8+)Faesja3Fe=g~^0SFAI$hse)r=YZa**p z7E^0ke-*5xpI0w22`4SX!^xbv)rp_5XHuu|o7ilVuW?pj^1m4tA&qTGpx+(HTfNeGK~@0n*&OGR%Hnb@AEm3d@3XwJ4pqXDbsm zz%76M0hqsurG`1rE%BvPrkD7&Jz-bF8jDn1E!*%xAP&Wk$;KC;F<`N6mPS_W{ft%O z|6@x4{bQd#yJYZf` z+-S}tc~>}1sJoAmGO+ zHnwvvTJeE8+F^z zYjV*Vl@vCuO^Mt|<&oIi4m6RbN7+1|**VhiaH15)p zyI2L=XRGNspgt32)SV@X<7FGp+JSAFiGoTz+iTMYLPfSfKY8J5!)CMdb@i#yNdOUk z9%D>h85ww%1RRM*L>Ac*=5|FIO1d}m1qukH?b%ro-!RW~IW&D_xE3Kj?HHL4Mb#B# zhOWn+-Ea;5!MLqyr5kI>`OD)xes(mV+zbld^4o%wnD~I7OXDT~w2_$>1sVfAp<2yA zhAGC*-#kmfzxVm_T=5R7z{*hn4gf1yAL_FD_rP~qez7c6!=;yYWz#hc(#=99W1ZeDh~6{(~(hwCjxi$>t5L4VI; zwcmJkeU`E1H;9Usb{r(q7_vI}YwaNT7+F?J(|Uj|pJMAvFe_s`iAQkqej_-O?6 zo@tv+RVy-rwoqa-&GH9so+{gUN4T%}$=QE7XqCxC6(qFD4@!$kZt*!bpDGL5dn>Ke zchZec=Id|0BH)1K{iwG>1Jv;vD8a5>>1h3;?HTx!JHK#PmqJ?Q<}6N={aDFT6GWg% zC?pQ4=}u}fJLi~;=3macj6ypo*3~nA8eea*V`kyvlHVMYs)AXAn(o`9hr(28wQDm_ zd}B&_l5j+P)xE3!ZWgv4V6OjEIwB9(bCcwkbY}&%y_?O!o-r=&2RO#)D&+Y>^(V8W z==%q#+<}<7yOKNGRae6uFah4Y@B;i;OXiE~ydYPkySJ}=n8xg9=%HGb-c3S+t?hd5 zYk5e)_4b?E&_*@xrkv=4RdlWj`Bx#9QF&cuKfy^D7?}T}Is)&cX&})jt+}{?#4_vvFBikxS>ZQqXP*9BLaOaW zs%y9Ve7l^PjvsL#pWF~OvbeE@6mPL@a@*2IyWWk-h~`=6;pQYK;kS6$LBH+odJMLu zQ%aRIgQx!DIhn{WQ>Uj-9lhTD;;H)iT4Y$C4s6dZ6`aJ$C#s?~_|(K8?W1kNTm1D; zN;p-vHs|XSkZTd)cbHYR_WQ-eEa0A3E%7U*BWV8ZnBLbu!SgU_auhz|sCuoZ$G`vj zRpeX`ZXJTm>3+0^%;#6>Z5CFmY_E@p!48I7$BE#yeBOmDOQRA$a}0lHtCH5EEz8Dk z;2c(GMBS>Oh9Du8U(di13>X~i34KOR$c`$r1o}V;V2zzN{LuZuTyJ0XmjG0Q(pxO7 zf5VIFcoAwkXbtiDqeeg|g)cSN@*8u)b8v03Z85c9ZyDk-7*{9LP1WP12595E>QR&D zPZyUO?U`~g#XOoQb*jo-X~N4X)a>99q-{wv=4pZFm7}pAQg5$RrrabdTeoe(8VHGR z_Hm7;fPzS|&fL|^hhi}^vfj8Czowp@N4fM@D2=a;gx={q!Vr*M;dzaRy-46+em{7o zcSEbl)c(N9!+l5&e`Gq#3jS{e3kS%-L>kWc3?)8FZWHuX0^}jkiyyE|Gl>!fU2wlx zGQ9bYlu#%H{Gnyr*sWZ#<#vaol<=u#r*VRg0OAb>c#0(bO8nO>a2XTTz>&pAOrm*r zZF5t|_Gkv^rSAt}q>bMaoADd)AJS2W!k!SeShC4eFQ}514zvC2bXI8l&kWF0+`5M?yDW;bPR{=uK(7zHV1Q-TMo{E?GK{$d^f2z{sN)PRk@D8R@qn=A4PUdaH7HLBz znVUgQ#VG#fmdH567m9Jh* z_p7EZ4Pi5Q!b;)9(&2)6e{6_`@1MsI$2wV8&!#kQk_M}5BpTqA5Eln17KV@X{wN->wrRI zL3(B6JziyC!|8P+r(auJRB3*P&Tlpxwgt_Byxd1Z&xZX-3!N&_T25+O_arcfjrR#F z)D*2Wn@=N1GA@_-C4Wvxmu!V!xz1jK=_&nYAt)LyUxXEyfBxC8!l^?((;CzXfx6)E zbqr=HwV3LV-6z9N8`8!|4#z@s7=Tf}lr!|k9Jy`RqRw$_H)K3Mw(DQ;kpKq01;$RX zGp;b+BFB-`kNT9P7%$oFTP{;6Fe6CC4Lik6lZa+V_rr>Xl561+x@et?Z*Xu%FcuNv z5!4j(gC7{p$O|$Gg_fZots<;kP!>j+O=;Q7zXuf$pV|#d_f+KiSL@OqDglBbHzn4U zXVD(4Z_X%|G-B>~x1O5m2%ZM5Pi^pxyKxSZl!qSzyFHlV0bRidKz?;_J?ESYC^sE#VNl6YI0s{mD=AXmuQ6L^k2I4%WbyaMI@_YQinpnsh@FfLF=;0YKjs45T- zoDuYh>k?sb!P6nzn&$=a-SDN#O8OgZASgsnk0ALC#;9)$4{IO z3L1UXzFV6#pfg|$+#{gvbMzr+O_trg0Wv8M+&EMp3Cc-v?;9|$De5KCYg)A--Cmyl zOcW!*TGYhPvs&37e?D|+WLzKUF!R>w>zG&H+(q1;0&H~{)Z^O*>Z<^H95TJS3U{v| z-{LU7^_gj}9A-T|Bx+JPEV^lifg1Gi*S)t?C>V;Pv;dI~WRlqISTDo_mG+ z#>|40ho|>-Dfgj1d6VegwD-TdRtU+{!=R?fDdJUByhRmIq)-lMQ2)mDW~`ex0f??y z7=H0Z0HP>l>r}w>s%I|PD@jyyE4!p*L$+HY(8wOU(shv7;Ta4 zbTSNrlma|baFO$Uw`UQb%V^adDrKNOn9JtlMy@(;(5E<&9jIintXIj&dUXco5x{Hl z`)$>_5M|N)bxihN4pBoTO9#!SU2kXHuJn`Gkj_%k_``If7b>?r1o3#bViLMbEcSKwvWZ+Dw4-Q)r-!)CoqbrB9?bBPgoa3DGSH zvlkMh`J1eZsWe?AkB_CTb!&D%^5c`&zoC2Ps3m>?2u~Oy2A5TAu53E#DLx;N=^OZK!lt{`fna#LL78%~p0pDyL zW>A*zzkZE$eRk~`L`Wq<`8|zt?ApHAhYT#!<3*9Zff8S2G72`_+&7G5u$Hlbr2L?a zmt-Fzn-Y0h&G%?D_zs)>UwYn;o#6`u*hE0{FOdn(Q zdwqK3e?qIIeqZO}`0Ecz$F*dV0{EQ6k={KL3eNN9vt$jgcNqcK(um%dRs_wT%akmf zs}>=i>7B1lv4XdnWL{+$FJVZMHm+;{$*qo7p6z&fDf+?v9vTvlYs29M2eX$^(_8++ z{8ownY0?*%(@RAWU`D7NiCGV9%$;9Y{Ud=qY`h7c@ZgFdro+Y1hK#l71TfJXWNlD* z*Hjne&^~rfg_tgyZyf8Kte!H&qfcA zb`R(V5C4@V@-UxS^xYDeJ9&FV{d{FT$|4n}N8a?>Y>3TTbj`>V&9Q2dQg zGPMUaPvGBP=v^Pkp(vz3FR&$&UXsIPoo!Dt)u5QdA%!pP`f!?XAg{=GcQ||A!Lt+vhNX`7xf!XfsGINg9qh9zpgnk` zkCpG!js^#Gz_;MHiTHv2YR_*WDCbKY>|^GAMxQu4$`BX01UM9ZRA5K?O<3Z42#y2tya zAYCvc(ou^W=eVke#gdsYWG3sqG>XkZp{)c&@)*aT$8T-0T_^zwLEZZG--^6C+JcodR_;sh`tSIOEMylEdbAKX<}d&i9vTKB1Wv9 zp6H{wHk?Nhy3r*XN|gHh%GKt)jxHA^N@How;9Uxx*ON3`(m_4V=RxCo7KHF;7yXV$Lw@uGRt)Yi8uq@0YwuyD0!Z=m$UacV7I7->a|W~cp&AIj zpDc+(m&b`O<8A86BMwF|TLclzLCtAMyc30rPss@6on8w? zDwSzjf(3F-pLV?n_liOk37~mtM3?JyA2z!v$!z@;G-4?HeZcggPU`o9RrVt%Kk8nt zp|$!F8bE0TYOSRoKaHAnA9bA4adEc4-Z_jf?S!i3W3y}u+tU};y1x0tH0Yf7>Ntcf z>Tq+?$bkqo5=RW4qmPk38*~yhBIPRfOY5c+q__?^rLTbc#0+><+{x#Y*`rGZQv@eK zl(v**w&EV$6*=y}#k#0f`eINSjNP3nshd=cbm0#N%k52$hhZxqRmzXr zO|^uc1e#@M9HFlt<)18krym3mjWA256&fZ60%D^(gP^c$d_ZTyAM;vcz(~#uYD|bW z0lt)p>DTpgMARJ@ziMY|&(@+GJ<>*lzYh3JnBfB~C=MVIbc1#*j%)PZNa>Wd)Czy` ztj<%=&ePBEc0nzcTzChST=C9*Wq@f~61SGl-l%^?HC32y zGFlV~HzX0-G;$URuG#%8rSdPrEF*}T1{g$D1+e)?vG&*!Vv{)9J{M-BZ8}QU@)BGG zSuUKp#f}KQu*A=?sP%_BT;jBRq=_I;;ndk@X0EWc$Rdn*ED%yfHY}fb06n zMUhQOyv$WBi%EXKydULH@ode7XHnxtZ1aJ4_45W=y>&xuPq&0S&a?=JijJ(w+|I;l zL2VtR*fzAm44b@M;o9ErHH;W;x1DohPb3g5QLzQMacBrkJEVpm=L{cA_?YNnD^9qk z$g&kmr597=cM2$O9ln{MxoG6S0V1&WO~aC4w>1o~;n(uz_#_aW6z3o&*at${9m=;Ba&l;`xK{w1{#6E8EY={iAtB>H9@ z85>UJYfZ}EK51eGiz_;|b%fP^tSNOo$3G6ah)8>Y0w#kT&;^(A zJ!>DT+(M@+7tf=h8QEg>Ii+=fiSh=yAcE)gz2k`ypNpt{-NC)L^!#bP>0hx|!C@vZ z8gmGCyX3;{Msv~FzAeQD0V}1HT-8E?CM|GH@M73gkeRZPX>;o7 z??RW!p{@s;Uzn=4aK#Ml`w7E!*kZCFk|fIweNh1hcJAqD$lBh%a7vxS=Sl3ZR~R@q zY^9fp{IT`;c<5mYaFx3%NOywiZjOzw!P@7Rb0T)f4{m!H_PAeV0Kk%WX{m3ux6gI} z-^PJX;jhk2wa(9a_&!g=(qR;?JfS5W=LP5Lc)iu%2n%F6-)f^DQDwU=uJ>~*P#E~N z*T#G-iVC)%$=+nG_AwZ{1>qDI@q{e`?|&;~@2{NMA7Fa|i=g4RWyBb9(e8Pv8ph(v z*vkG=&53vzc$!rh1C|-pz>E5pD}Gbm?Pv>ka<(V@mPwSnLO}S*pUlcf*p8F-%d=&s z&@Md)8nhaL50$FUOGixl1IDaFLdI{wcV^3&oCU%>7Uj5rf#Hb5HaHI-`1kzMe@i z*B@fzMJDEy1gI~|oHJ=q4M!}t_Xhmg6tiFO9lt_LC(Qp9sn9I>olfS}lPhveHlS9c z>SARgn&@Ee8?}tAz-bSfXBI&8vbT>}CCI^x(-KQw>(ehDx9b6X3z3jdW3A`mJ!2?# zBq5k9JPUZq1$X|z9H^Qcs7ZJ z@|wF0fAphxuVBhl0UR6J*Zv#9n6B|#Al@JA6HmK+)20s76ppK3D5FgvqQ%L;?MP4U zqQrd#E#zM06k4(!=SwdOiWDBYtx1EiY7k#kmuGGB z4^(l@lzH{3D0iW2`rJIr0i0{PFeYkyVIi85d13zvOvf%=myBXxN6-=zj8|3!NF4LD z)fUq{D;;+_oidEG8_W`{-7elZu=jFGUZPjl5%OB63fY#JAMKE_GBptqqQ2MM3>U&D z5D?hQYbb5?F%;FC-RriEin8P_Uux8zrRbZopUro>8^5vsopLWHZ}u@dS2*$FTyXok zcego6BK`;RKE};{@3Hew-YRd!M{zgY$TK08NmhU}`=q^BA~Mr6yf^*zWN*X-Gb*@l zp7==JFJ+lOeFOQT`xYTu_=hok;j>QD8UV^=PU_C?YrE{W!msE`pnR!sle%{J}jpXL~J29^G7Uisb5?Zs@iS!!dEzUOi-%{+X29fb-O%Z{8*&4A?G z8Pj|ex^FV!CYivZhK&lyiG*g!#y6HlZV1MmXQ;`26R_CVUb+N-uBmR0nV-V^Jzq!r zpRX%9en_i+f!`f+GLsp?{`XI3A5-UNoXJWH%wm2XuV=516Wor>LhK;ELSsEFC%_yl z+Lh3kTyX$>;$m{59}z{+6O1qsBH&uvS^R*C-GU8QIgP2j!co4b*+PQ7%c=WavS{5l zF8Ul)*@O>OvZE>n4cT*A=)uB-LP|JDV^&ZsoTwB{SV-??&_2BnC0vhU5{0>ah|BwI zQ=)-YqzOcTi7Nn7Sq&^u2@$IHAaKsU)QU#7SqRpPnLddMa{NWtjOthL8bH&PE+6>z zE0{?NH#(@D`gnNrWVdpXZM(yW#i2^oh9}=Xk8mA}j=3oNgw^QX0cqSeJY;N{!EWQF z4L6++lfCv5!tQTM$)?nzVTE*$ZK6C{-D}xWD`FKnL|fkdyX>#@;Ah!LTDbX1V29JLf>?nrLs+AFGa%|xoWb7 z7`Ev6~Sk!Tgt>WXJ`KdgdS8GzJi3I8wzzPgb- z!^qk#5mCC3sC|@Mg+RTOHguo#OGg~KyeD!#gKy40EtB$j%WK6l>r#yt}*w@?(%ePG>Oaieb>&{n< zU&MjQ@4k6E&o*#N89=iQW0^{c0H{&V{ReZYZt3!#SUb)PC=BYoec zu_m>qRNF@PLL2$nUUn?;IT>dyG*+8pw?cVY*QB)>--;TI%aB;CmK2i=iiEi^KJ&{~ z@Jr{t4wY@EJC%q~b=n-usAxrPhkR3iJY#7F-bm(9^&C^>XWk{!>tRDyLqf@AdX2P0 zCSJUkSulKLngKZUx3K!rVCNNwx;Gh$;~l?5gL2LUKd$Kj&cdkg?YP@i@YW?2@&1K5 zWr#yI0*sH2pbUX9C=xJ&fKI8QP%ScW#DG@U z2FMe~lrJLV#7MO1vUAc}i|C|B&3`Ylu`C zdGA)dMVw^uS1uYV9Q188#1{z=oKT3UZg;U}oNdj07c*>AD@_y=+|8GUTNIoSjO!dv z(G+M%NI@}Mqe|0aE`B>GfpNhLci065IYJ*Clhq0;Ou%8$~3(HpzAUWLvA=>TN9A0ifVZ^ z*djP;QWI36k1oZjgsKx$KFg-UfQ3%f8bsYQXubQ{tM@pyooLPl0G-u61td2lD&NRVB{*5m}bV;y=)ABmV|0#{U&Q zb9|U+Z;dB`RUwfWD{=qWtqXvxUB&mnmV4>AM&20p>8F4PzBupy%!&v#6^8Bi`s8`N z1Ps{z5_TUH*LxPH`t zvN^|2HSsqm1ClZhz$er0PQWj9>goLx;09n<81*?~!ivH@XGD2|Z*`L*gTj1aCopc; z;&LsylJ9qLj+MVHsHKy=b?6uzOy!`FLaeq>v^9J<^Fbtrd zegAnQ2oz5R4K?b-sO1a=HwT;m7|uJi!& ztZA%8xx;790Jfbzss8yr7=Cc)?s5O2g8N(@Yyx2i#7S*8DL%HQjs*!2-huRCXVyOT%} z2YluwyN=s12kQVEN>JKh;nU!=+*voRz29EV!cDxWY2z8k3vWoL^&rs~q|2e~Zpf|-+N+e>@VAA}`~6?l0mXZg-DF`WUjm_rlknRJ-pc6VkA1+zFZ`n!CkJ98 z>gk7JXaUZw5gqDQiZ(=1q~->UR}_=AjF6BVPp5AnGhKt}E^X8QCx$kHV3 zC|aM;lW}*Q_iXzQ3Vm*2!wE(ZpvKAI z6RvAwT`rOM?jl6gsCD<|5(xb~y^EN|eO>Li5ru>QOmMqy2^MNU*XNjeX}4pxF4z#v z!f7?v_WjW)QJ9X*0MN$6bbC1FdzQV6kMo&L5;O+avv}!FlXxFy*vAlqdrQbePtHhr zzdvF17{d5+l-4M-7ND^4hFmOImE@V;g@}>rlw!=WMdpeY{tM@4cW*7A%{9y`pWz3$SJd9(arIc}<)KgPhTMunb z8W{~0*G}SKsFK$IfZ5JxX|_I-7|&e+k@Z|FhH?qZu4Tx!nI@}@L{YqBME|iAG)|!9 zjFJmego}CN3czlbsjp!~V&sJU3~{zO9>Y7vPnRfw^Rh8^?<4yY2QDtFSZz#A@lKW) zXe;3^!)325d6-I?L@>LlF5WCTWp!ivKU#*U$@mP>M_f8hF) zZ)kRurQO1iV7A^R6kYxkS~Ac?Q`dXkb5LS%c|uJ7RvlDGWI$@>wN*Z-;3pRXWk7?w z&-qqk-Lk9T+z>?8s~GG3Z>2`5k&8q>O)EN+Ry-L;xdHdErKRcl5&!L{y~@}(C#qsp zKDv*(MZlG7t8i-FmOSV7m7>!o@|x7|Ka%5#DV#=_4W|4H@9*pvDg$-Z+@tX_Sa-fG z`Zv`-?9A;-ir5aO=o9BdB{A4ZphX1{rL8H~5nwtd4;sx#{Ss|cumaR$2=|6QKNRK=os8v>vWuRlYH-?NYb#JCKp0a7N*GGyua zdS|}Ms&{Zy2P?8V6>@!*e3MP?LAsR3b}crgs_yfiXy`X;G0`Azw;z00DQ&(X-XXtl zI*tlBKPsO)%&Vsv|AK;LCT?eBC%_N^rS|xW5zt_#ZTlv;GWCM$yPiR*vob)kN^5gu>AQ;1vrTsGKO z|6%5`v|9-sjsclS&N(99yzIf0L0=tVmx%vd+!9OwCjJ(qXkdmeQIXoYJxNu=ovh~W zKw?&3PXPyhj{o~}j*qeZS1ju%S~8CXMU`H<15@e9Rc8v3Ax*lK`dr)aaRT1D zrtABg$tTCgq&mLhbCKiH9)rhXq+bkxH5oz$yOwMCdJR9AxLNKMD*hk4C%fHY zkO7oPHh!JG=6obF_B7gzE7lGOK-eO{1-B_RDInj|$A9p~h!KeNP zMGCgs(z}RffC5q4U$!L9%lt0&z!%~DfIx@G_7W!Pw-z@33d+)XfV&Id!h1#s>bOH> zeatZB^VC++iL5aF8QVv-dZ5=;BWHzQ831Wq^I!PLHzI z4xXtRRV%%uw1yC!3po?}*-*u=C#dw^y>&ZYloAv&!}78L8+&{YcA~eYdSFLk;5*3L zXcDi#P)EXih{a8Mu7U!mQLiC0&k)bFou)pfpqP#B73RL2;&sh$$rGTpSi?-`nce>L zP{mbbO0ekox1oXijt(6NcxHEb*6fZP78&wSPxDwN(KlyoiPRzRkH@fN9VsM>C8Nk| z%|-lKpuFl%{E0=TPL`p!-;WvH%bTDkeRK?wD4`30*i3DzYFtlI0eMzPy&4Mn_!1o0 z(U3b8_+}sx>X#rDw=dx0r~%T980ujOH=APdM|jfs%>Lx*4N_H_!fTp0tPhCB0rzk6oP@W6mX}p5N~qO0^xtpy-ezZxxJ`Zo z7zatEjs!Fp^iL&u?T3G#8 zUr|oKWxkF?&!@Q1s7}-yoKgj>WqA)^sDcH_-LNYY@741wU({40I0aejZ>R|X7;rvL zV6dd=r6WvG=nDBQq(Q*=mDKbWQRC~{3zdUc`*U6rI`2ws0G~F8bCAWg_LT zIKbDu_$VQVL-tcin|>~=e2+?iu>6zNy?FXk8fPmy6m_OHHel|uVc_Iy&Dibxg2m_d zf+by;KN@QWiF~DvN_L3}bB1Tk87f<}Ghc@1X*5{fZ52SqUoV@G`L&$!%bRcZ**9CM zu|O+Al9#1n;sLG3PIGv0{-EX5_YPFLo!k|{nV^vr=L|J*K{YZF=Oo#BYVl6<&nn}= z51G`{QgSNVGLZ%TeCBAsej>l3r=Q+;5mOr758`4nZwN(>6R}*vCzl zxp8}^9T4-|SQ8mJ=nrumqj?B9PHqc~p3v z@P5akZ_64;SfKcxc2ePijnQnRhWn|Al1OM!1t_;B()LeT%~|?^=5^2~~$y1-0kHfC;{RaNx+w67k1?^nbBY~|K9?m+O7KtPzx|930*FH?vztHGt= zleq*8lnq$K#tzP^zyaJ~qebLqWMfrhW#MCI<74FlqOuo*aq$A%*zv*Gcz~bmRKO4R z(tmkHr5v;XElo9a`4)*+2I0UB1hN z49d{$ZZ)K9OU~ZwV~Cx&=1Hz2HMlYeM)112c$OJ@Srijlnj2n3cYZXgUnyVUf}iBF zmCwGrfA%&u#0cV}ehQ@Y=}8e1MAk>{zNT-c$m3mL+;ku_eZPVu)4ym+?n=VdoM8KO z+5T(?G?JwUln}_Qu)=y8ihlu40NjbNb+VM?X_6X97u0@1bQM86 z9#so~H^lZl%Z(&yq@TJ&sN1%p9WjXS4iwRVG3$6mUchOC>c$l8n8g#5{2RI<5NtEo zTvDRPJH_x_@9+&G8@=3^AY0^lLBa34l`5kvER0xEnCn#`p{XU-dU(Qv0rH_MS+paB z+iuDfgC~W5EM^)j1par(iY-_e-ICn(Dpph1Au8rFzIdIZkZ!(@Axqa%$HFhb zIlxKGJ?%rWU!V@z=g?i5;rVAO#$uF-o-cRyRB9`F0w;)bH80fI!~{P*%amn6E5#x9 zFb#!e3`^2Br&hCc1WICG*v5erW~4TXq|7>W32hIA7o_l~V}x{Unq&F%0QzLe)RrvO zun>P*6_4Y-!#^wDBT?(Jo13L{2=xlU>)kv$)h;%@Av#(p9#>MVLBRHaAJK<({8+;c z*5W)slT7v~!t2k3sMMoXdPbp}Mp%mLU&E_PQxyuKHw%ZDme5(gwdV(_74RfYQQ!_5 z|AS8OU7}~PNGIj+bsKn$z7(d$6E$i@EUG&gpG558t8?5Rq#VU{HiniHNakSxn4(?D z1oG2gNDv6H%D=kdk%Axc8xk9&kJ0>;Q4d^AVQDYm0+C7&G zL^d~4gZQSEy)l;pxe4|<4dbMM29W9O-lvisHxUit>?5VRcvq%3Cy><*im>UrC;R<- zR_YqV9C8Po7AawQBv>LH&k7A`hdZoZncvblhZJZPJy?{zh`0=l^We{678l*pQ}o>p zZ~(20DN2(>kMJ!uoVmCZTKGf%EGx+>7-{wHi`c3H6O{W#?yzY;E(>CSf9(=4lg`e8 zgQVNU4_d+P%h;?rYh&&9F6X~M9sOr&S^Rb-6|%Q+VslxiNf}7NAUj@? zr(@AM_EOW%RIIe^@aCG9K>h&fn4CMFvM_y(>yHZWh=RKuRPuZcDEbz`89r8P_PLyq zC$-J61M3jN*BJ9QK%p~ylVFT4bm^&yWM{>(q2x!b0%Tt7V`ia96xh!*Ia=X?{Yl`6 z(!(D?41IZ7)rAT;ZxG$A!@ZV=K{L}2p-yy@vy3om^Ag8@_h?1M^7s^B3pg92{Wg=M z>Mlr$Z3r0GF;ag8{16tJn$*q_B^eF53~>^iDw?%Av0=@dsaYnT^pQAi|gC*!}d9SQ7^TI&lBNRN@~6liuEgUS2?= z&p1TIJLO#DG!PJ~G4JiDygmm7IQj`K5v87E%v!4twH{s7PLPN~;Hv*E=QZHn_J9-@MUAEtd; z@QcJs4lt>e{ND4 zER=|FiQ$^pjx@r0C4Y4JQ%2)oe+|VbTd4SR*co3o?iX}g5%T-tf{MXWd+)#) zrzEPkL=43^$5~%BmF;rNg?(l=Bh_lhNR#aC0FIRpRC3bDgA>*VR=41OcG`3*3QK+G zzxi_k6e5{wPj8kah^N$v({nC~K8IUm&~t(#(d^)5qM&W~{=5fOPVDpu-WqwaTuD6V z*xiBgpG?SsZLhJ0y*sPv)VwKmYDv^?Rh0>-(EXxyIkud-d_#K?wn2ATo-lf%4?j|C zhdaYWZh5?3%U<+sjy<{_xZ$jhxDSBOQ8={+l-0`k37vYiL(BT^piZ#E($;|;kHqF& zwv$#i8@{w7>-_?Mly+oh2FH(}R2{>@T{{U>JC{NA#7)-}1unmh)%;wj{Q|hOcSP5X zmo5*9XV};cQy8)SzlY00@5Qw5_$QIPfU9cgqj?cr+ou5TOcDw-^UDe?}AYMUwP{wwQGdDXo3vzlpgg!_pJ_p0KL6ia_h&DEO3 z%1a6Bz8?j<&)iU@ZkOnyX)B7b;8K6`%O?lm|B0Ce96 znie*oh;n;97JCJF>QH@ulrdd@f94pcelg1yQXl6OQ#> z#9JijXek0O{d0`C4jQ_q?VU9ts>I+*O7<2R;@^r@^#H*H6jiI1YCH}Sv$T&l_m{*8 z$ZX zE;ES*V0wBKa(I(*ZMa^NI#tGrKqYLIFKfkQtTZ0Q(p2Wj~VF zy2IoE;^;Q)R$5R?`E?(08Sm}|9H*gH+@>7Y<>tfb*ha;Wl*GG>5~yzJc(Y~fUWSy& ze%tG)yR}S=h9N4;LitX9Qra<;fkT;Tom4BiAWzBZ!#^q_609_1bfIxjxAT zF9eTA{?c_SQT1{oWPb34$yk{NUJ`|wtB$smIrzn3X?Cv-EPHji&(P8 zgcvL=C?4m|zj*m3OHn+BL+_<6hc~;AueP!>BdeVqwX%s7$53|ulJw(rV=flPm0aR+@PnB-`ZfzC=+joz8Z%6MEaxIpItFM-8kb;NGx}j|DbkV{1 zX*Fw+MpIS1dSJUHdzV_*>$i!7jd@Rjwaj7)(q}KykNW?iXK z!UIN1JkMP3*;d7|6_!2a+8j075)cJ z>fbynQ?&d) z*m|-{Rpr&CQiG~cqu%1Q)&yyTLA;UA%~+kY6YLAzPOeXFRT?yEzck4zci~1C@6M=_ zM7aRYZkrk^Ri&VX5S_;rasObIP{Jz-jt8?1F*mRt zP9NH-Z9Y{J3Q3mG1n?#zJ?ei&I$mOJ5WnD(??+sq#oRR&m^^~V$(y#8^#?U`|33PM z9z9Zu(~@wt)F2lq`9#J{Z_`pTbQZR)vsg^KIC@&(x)htS5-sMyZYQ~anh{yz9CFA^ z^$5cY0m?}mlanw?+H_*kd*=` ztke$#scYAOcGxn7o*YgO%7pGPHQ0K2M28i;XLS7|YRT6peGJR$^Cix2z8fG1(nSNP zsLt`)&n-T@UeDlleXjDhBggA(e^Q6P>Ri1hfXT;(>}iW4ccT5agt3Sv+9#a@>=4uF zmP?}fNOT&3RTgX=7Q_c3+i03wv+=l&&Q8}FSCWbGcN$j6ljkuX{_oMI)|yz_=Ix(2 z)59BW(&*0?=Timc_RpW3$PvmVS~Cw2b8nc>7RLK{((Jw+fhB(ne;&?a1iA3e))dCn z02KDQ|EM>7`I_B}FBNnuF&eI!$-Ihrne6gE_l1KZgD?a*Uiulc-VAiEW&lTclA>)! z2Y0zX^p#5kRB%BjoQK0v zB%I&7P^yNQw803EMv6b7*8~?{e86U-0d}^%&^3I8xD}FGO=4QFEOISd%vC$LrxsEQ zBb?S!4Tre7TP$CwkJqQ9H0QgE;3`U!8RkU(3jYE6`&$f9#QOyo0`>a*<8LhsDdUV& zcgZ@Gy1O8$VCNi<54_%t+p=RY)Z||3gT!WOZlID_sfCS_Z=Xk-T<{53n$THk04l7= z`Lh*bQjIRa?AOA$qM@UJ+MzBUZW`>;1V{G$w%|WPsU6ve8a7-4Xp<8S5JjMQqILo| zAaBR}#D8#?acfIbs-$YEy_R3L;*4z1$9kRR6|6-!RG(DrC^E(ljiU;WCm`t$^oUB* zk5>MgS=m5!8O;w#6&*r9A!$;!04#R|`D~WAd{6)2awbRcLa-R%uC!tCFDPpr^wa%7 zDGm*zy$dQ|vi#71b?cjUg|B6>n7MLmOw_+IiTS0YtB#bh$co7rA8|Mepf2hjS{!xk z37TAj!j%b$%quimOij@H6fn~eO=PcupltKU2j8e0Wg8Z1)*{f z=n7{zl4Bx2Zq9tNamK53VDfNPKpO60cQJ@L0DqIb)Mim-I}XlX zB{g(gz{h5NKI_s99p@PJmuz+PhX&2}`RYtasNb)8;S#YNNL9C)VIfOwQ?|oL*P*Dj zY|{@We{B=PGwi-Ow{UfET|>`98xY5(Fl?c9&Zt&oStcPTD>Dh*xNj?;*&wm{6mJ{; zVHTI{c>h91{h!3n09L&=s(eVXcAus`n7UzfD~Ap=N~+p38-BSmk8c>@O)v{n z@L2M+-V0Q83WmxhvlnkJI6(eFWtm!x=uWael|uTS+k!@ATUR2A6RL8ZGW5l&irTNq z2jt%=WMyixvOtGGKUM{qL;1^Wlrou&bg=Cd-tv&N8Q#p=dU9Fn#KW+0W063HZyqrz zA~|?Fdbp?x0%%{-CfG$hPO2+Hkj2Ae^uIN1_WW3Zfi82`AiJ7v3KFVNr?BZ9Y3a); zWnp4TZ&*?J#W(oK%o!iBB>>aaYXzV5E|A1DjF37(Z^T6j)&ul(MdbXH#Wt>65kv{{ z=YU}}5Dd;}vjFo)PaSQK$VxAIGZK6b4Y@cg#_57xMYT^dw7r2m$nktqrgAQxzRIb1 z7Dms1ImGQ+*ypIWNS#GEpLJQ0Ol zdUQCxw4~1K-JyL}ka_!>S3bYws7|_HLDoSkD4$>H<8MG;0s#E7TqE6SEk5Jq_Fqli z>72$W6sB|_Y3$~mAlfL{@+z#q?Kgfs<79T+x&Gxp`<4vG)i=7)$$B2X?PT3)aky_< zq|(K79m)HT5Xyo|@yVODPEmj*N}#RjZOL48Z6{y`yX|+iftpRzK}Z~SD}ktpC{z|C z&~;W9t~eYl^#PDBIpmZXn{7w0XVW?Y@+6bPnum;K2&b*K&lZ3Q(a}8~S8IlR7^Xvf zbZb!Su4a!BTC>vFr$_Sg1i3A7SpRnGRrjt^WKf|=HxjwzOSk(sEkW8nVLjsSTsK1= zMkRobqCIBVDD~IX#Jx?If96e2_+E&({m2HGI;+T811Dg(IG7CS&_l;^J`O1+=7DSf ze(cU?g<1ayU+vYhhi{%!P!I~VJ21E6qz{#P#`^`!;HhgGg&qK!G%^5h^G2dEspS2Y zF}@BLM5<~>z?$PB@6=CI$xjjjzDkT{kWLyU;*J?+%5v*5ojrF%`fLHW6Xe!Ik;LKgVm^6oUn*NgY*m&M1_7T01%j=YXk;RQ!D!NKoGv)kxTY z{SuEh5_kc#$dpKta!VOKxvsNE=QWZ@4%U6(Rucq9)fm!io*#zcmii!?xs5RX4DlDL z0XHuMo*fOILCVP+6;_@XH8zY+6nn`-T{zS>TnRwG5Q$i9eL2caSXdrB4ML#C_V!{8^i{T{=QI)<4;JRm|GCNGR1NnUZP+Jx_BJ|+1O~bWTt^kN-&I`#ZN~jWziIR z`%=KwkGRw{4#8KH->OR2scO3hqozI(K__GI?!sk~nqk`djJS=Ez?t;fsr6Ok{b;}HFcXhhJ9Q$Oi3b`;St|7Q`Is}AYK!DLjXYY;t@gNqO34#w%d z+N9BwdUaCLI2Q@hlL1Ag7jp@{Ku8BRh9Ur5NUd0(uU0NeuX`?)@xqR&{fnJFx}30c zL#rj5MSfL)Apg1Gh0y@&M7>(5j=hrF2^r*i{WEZef~JOH;jITw(qTWhF$ME#8*Ju) zFy75(&d6QX7MwMF>DVFLSCH&qr4L{{RrL$nm6=mn!aO&7*dv=%2|E!uxU6Kty=b?& zw8u8-!QY6MAAbGS?adhOlNgSb8-6)OIOVB3R!DQ{M{{R4m!`WoC%AUJj$5xx{8xA* z;fMk&0c$C?l^R8IztqG18anW9n)~^#`&-iL3+z90<9Gw_9|lMekQovXkpEJS|M%qB zpz^aA^xx9UhvI+f!`YO?|LyTnQvTPOQTp+(gQ@&qA$?`Z{|?~+`;=+^w*js4Uk!GZ z{}QDKsBj_vhtBsu3_#$33Ip+fdj5aRzyBfofq=LHkyPii&^$0r}7Qk4*mm*dZ`L75o1^|Nkx;IR7UD1SApItV;d=a{lkf m`-h$Qf9x;tLlytu7spq_1C#v;H2R4R{HcZlb*K2BwEquqKKf_? diff --git a/Migration/Oracle/README b/Migration/Oracle/README new file mode 100644 index 000000000..b57ed4a36 --- /dev/null +++ b/Migration/Oracle/README @@ -0,0 +1,28 @@ +Depending on your location, the timezone will have to be adjusted +in the oracleimport script. Search for "$timezone" and adjust it together +with the DTSTART/DTEND values. + +Also, if you do not want the script to send invitation requests / updates +for virtually every PUT operation, you MUST add the SCHEDULE-AGENT parameter +(with a value of NONE or CLIENT) to the ORGANIZER of the events you're about +to import. See http://tools.ietf.org/html/draft-desruisseaux-caldav-sched-08#section-10.1 +for all details. + +Then, you need to export the data from Oracle Calendar. To do this, use +the following tools based on the type of data you want to export. + +- Calendars - + +% uniical -export -host -n -start // -end // -u -f + +- Tasks - + +% unicpoutu -host -n -start -end -u + +- Rights - + +% uniaccessrights -ls -grantor -host -n -p XXXX -grantee "S=*" -designate + +Please look at http://download.oracle.com/docs/cd/B25553_01/calendar.1012/b25486/utilities.htm for +details on those tools. + diff --git a/Migration/Oracle/oracleimport.pl b/Migration/Oracle/oracleimport.pl new file mode 100755 index 000000000..e6945dd32 --- /dev/null +++ b/Migration/Oracle/oracleimport.pl @@ -0,0 +1,887 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Time::Local; +use Time::localtime; +use Getopt::Long qw(:config bundling); +use HTTP::Request; +use LWP::UserAgent; +use Math::BigInt; +use Digest::MD5 qw(md5_hex); +use MIME::QuotedPrint; +use MIME::Base64; +use Net::LDAP; +use Time::HiRes qw (gettimeofday tv_interval); + +use constant { + QUOTED_PRINTABLE => 'auto', + # 0 : never decode data + # 1 : always decode data + # auto : try to guess from the file headers + + OWNER => undef, + # undef : use event organizer as the owner + # : force owner to be username + + DUPLICATES => 'update', + # create : create a new entry if the UID already exists + # ignore : don't create the event if the UID already exists + # update : update the entry with the same UID (if deleted, stays deleted) + # replace : if the entry exists and was deleted, resurect it + RECURRENT => 0, + # smart : group new events with same UID as one recurrent event + + LDAP_HOST => 'ldap://ldap.foobar.edu', + LDAP_BIND_DN => 'uid=sogo,ou=applications,dc=foobar,dc=edu', + LDAP_BIND_PW => 'PASSWORD', + LDAP_BASE => 'ou=people,dc=foobar,dc=edu', + LDAP_USERNAME => 'uid', + LDAP_EMAIL => 'mail', + LDAP_EMAIL_FILTER => '(|(mail=%s)(mailAlternateAddress=%s))', + + FORCE_USERNAME => undef, + FORCE_CLOSE => 0, + DRYRUN => 0, + DEBUG => 1 +}; + +$| = 1; + +# Global variables +my $file; +my ($username, $email); +my $url; +my ($host, $port, $authusername, $password); +my $ua; +my $ldap; +my %duplicatedUID = (); +my $pwdhash; + +my $timezone = <<_EOF; + +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/New_York +X-LIC-LOCATION:America/New_York +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +_EOF + +sub usage +{ + my $msg = shift; + + print "$msg\n" if ($msg); + print "Usage: $0 \n"; + print " must have the form http[s]://[superuser]:[password]\@hostname\n"; + print " The full URL will be build using the username.\n"; + print " must be 'events', 'tasks' or 'rights' to specify the type of data\n"; + print " must have the form .\n"; + print "\n"; +} + +sub getEmailByUsername +{ + my ($ldap, $username) = @_; + + my $results = $ldap->search(base => LDAP_BASE, + filter => '('.LDAP_USERNAME.'='.$username.')', + attrs => [(LDAP_EMAIL)]); + if ($results->count != 1) { + print "Unexpected number of LDAP entries (",$results->count,") for $username\n"; + return 0; + } + my $entry = $results->entry(0); + + return $entry->get_value(LDAP_EMAIL); +} + +my %emailToUserName; + +sub getUsernameByEmail +{ + my ($ldap, $email) = @_; + + if (!defined($emailToUserName{$email})) { + my $results = $ldap->search(base => LDAP_BASE, + filter => sprintf(LDAP_EMAIL_FILTER, $email, $email), + attrs => [(LDAP_USERNAME)]); + if ($results->count != 1) { + print "Unexpected number of entries return for $email\n"; + return 0; + } + my $entry = $results->entry(0); + $emailToUserName{$email} = $entry->get_value(LDAP_USERNAME); + } + + return $emailToUserName{$email}; +} + +sub calendarUrl +{ + my $username = $_[0]; + my $uid = $_[1] || ""; + + return "$url/SOGo/dav/$username/Calendar/personal/$uid"; +} + +sub httpRequest +{ + my ($request, $uid) = @_; + + my $result = 1; + my $i; + for ($i = 0; $i < 30; $i++) { + my $response = $ua->request($request); + if ($response->is_success) { + print $request->method, " $uid:\t", $response->status_line, "\n"; + last; + } + else { + print STDERR "ERR ", $request->method, " $uid:\t", $response->status_line, "\n"; + if ($response->code == 500) { + print STDERR "INFO sleeping 2 secs\n"; + sleep(2); + } + else { + $result = 0; + last; + } + } + } + + if ($i == 30) { + print STDERR "ERR ", $request->method, " $uid:\tCan't reach server for the past 60 secs - exiting.\n"; + exit(-4); + } + + return $result; +} + +sub userCalendarExists +{ + my ($username) = @_; + my $result = 0; + + my $propfind = ''; + my $request = HTTP::Request->new(); + $request->method('PROPFIND'); + $request->uri(&calendarUrl($username)); + $request->header('Content-Type' => 'text/xml; charset=utf8'); + $request->header('Content-Length' => length($propfind)); + $request->header('Depth' => 0); + $request->header('Authorization' => "Basic $pwdhash"); + $request->content($propfind); + + $result = &httpRequest($request, $username); + + return $result; +} + +sub searchByUid +{ + my ($username, $uid) = @_; + my $result = 0; + + my $request = HTTP::Request->new(); + $request->method('GET'); + $request->uri(&calendarUrl($username, $uid)); + + $result = &httpRequest($request, $uid); + + return $result; +} + +sub deleteEvent() +{ + my ($username, $uid) = @_; + my $result = 0; + + return $result if (DRYRUN); + + my $request = HTTP::Request->new(); + $request->method('DELETE'); + $request->uri(&calendarUrl($username, $uid)); + + $result = &httpRequest($request, $uid); + + return $result; +} + +sub putEvent(\%) +{ + my (%vevent) = %{(shift)}; + my $count = shift; + + my $uid = $vevent{'uid'}; + + # decode data + $vevent{'data'} =~ s/\r//g; + $vevent{'data'} =~ s/([^=])\n /$1/g; + if (QUOTED_PRINTABLE eq '1' || + (QUOTED_PRINTABLE eq 'auto' && $vevent{'encoding'} && $vevent{'encoding'} =~ m/quoted-printable/)) { + $vevent{'data'} = decode_qp($vevent{'data'}); + } + + # for "notes", we need to add one day to the DTEND + my $oracleEventType; + if ($vevent{'data'} =~ /X-ORACLE-EVENTTYPE:(.*)/) { + $oracleEventType = $1; + } else { + $oracleEventType = "unknown"; + } + if ($oracleEventType eq 'DAILY NOTE') { +# if ($vevent{'data'} =~ /DTEND;VALUE=DATE:(\d{4})(\d{2})(\d{2})/) { +# my ($mday,$mon,$year) = ($3, $2, $1); +# my $seconds = timelocal(0, 0, 0, $mday, $mon - 1, $year - 1900); +# $seconds += 86400; +# # we specify "CORE::" because we expect an array instead of a +# # magical hash +# my @newLocalTime = CORE::localtime($seconds); +# $mday = $newLocalTime[3]; +# $mon = $newLocalTime[4] + 1; +# $year = $newLocalTime[5] + 1900; +# my $newEndDate = sprintf("%.4d%.2d%.2d", $year, $mon, $mday); +# my $dtEndPrefix = "DTEND;VALUE=DATE:"; +# my $dtEndIndex = index $vevent{'data'}, $dtEndPrefix; +# if ($dtEndIndex > -1) { +# my $partLength = $dtEndIndex + length($dtEndPrefix); +# $vevent{'data'} = sprintf("%s%s%s", +# substr($vevent{'data'}, 0, $partLength), +# $newEndDate, +# substr($vevent{'data'}, $partLength + 8)); +# } +# } + + # we set a timezone for dates in all day events to ensure that SOGo + # does not put them in UTC + $vevent{'data'} =~ s@BEGIN:VEVENT@${timezone}BEGIN:VEVENT@; + $vevent{'data'} =~ s@DTSTART;VALUE=DATE:@DTSTART;VALUE=DATE;TZID=/inverse.ca/20091015_1/America/New_York:@; + $vevent{'data'} =~ s@DTEND;VALUE=DATE:@DTEND;VALUE=DATE;TZID=/inverse.ca/20091015_1/America/New_York:@; + } + + # parse attendees + my $hasAttendees = 0; + while ($vevent{'data'} =~ m/ATTENDEE;(.+)$/gm) { + my @parameters = split(';', $1); + $vevent{'attendees'} = [] unless ($vevent{'attendees'}); + my %attendee = (); + foreach (@parameters) { + #print $_,"\n"; + if (m/^(\S+)=(.+)$/) { + print "\t$1 => $2\n"; + $attendee{$1} = $2; + if ($1 eq 'CN' && $2 =~ m/mailto:(\S+)$/) { + $attendee{'CN'} = $1; + $attendee{'username'} = &getUsernameByEmail($ldap, $1); + $hasAttendees = 1 if ($1 ne $email); # Attendee is not the owner + } + } + } + push(@{$vevent{'attendees'}}, \%attendee); + } + + # handle duplicated UID within file + if ($duplicatedUID{$uid}) { + $uid .= $duplicatedUID{$uid}; + $duplicatedUID{$vevent{'uid'}}++; + } + else { + $duplicatedUID{$uid} = 1; + } + + unless (DUPLICATES eq 'update') { + if (&searchByUid($username, $uid)) { + print STDERR "Event with UID '$uid' already exists\n"; + return 0 if (DUPLICATES eq 'ignore'); + + if (DUPLICATES eq 'replace') { + &deleteEvent($username, $uid); + } +# elsif ($hasAttendees) { +# print STDERR "UID collision (",$uid,") for an event with attendee(s); ignoring it\n"; +# return 0; +# } + else { + # Make sure UID is unique (DUPLICATES eq 'create') + my $i = ($duplicatedUID{$vevent{'uid'}})?$duplicatedUID{$vevent{'uid'}}:1; + for ($uid .= $i; + &searchByUid($username, $uid) == 1; + print STDERR "Event with UID '$uid' already exists\n", + $uid = $vevent{'uid'} . $i, + $i++) + {}; + $duplicatedUID{$vevent{'uid'}} = $i + 1; + } + } + } + + # If UID already exists, change it in the VEVENT + if ($uid ne $vevent{'uid'}) { + $vevent{'data'} =~ s/^UID:\S+$/UID:$uid/m; + } + + if ($vevent{'data'} =~ m/^SUMMARY:[;\s]*$/m) { + $vevent{'data'} =~ s#^(BEGIN:VEVENT)#$1\nSUMMARY: (untitled event)#m; + } + + if ($vevent{'recurrent'}) { + $vevent{'data'} =~ s#^(BEGIN:VEVENT)#$1\nRRULE:FREQ=DAILY;COUNT=1;INTERVAL=1#m; + } + + $vevent{'data'} = + "BEGIN:VCALENDAR\n" . + "VERSION:2.0\n" . + "PRODID:Oracle/Oracle Calendar Server 10.1.2.3.3\n" . + $vevent{'data'} . + "END:VCALENDAR"; + + if (DEBUG) { + foreach my $key (keys %vevent) { + if (ref($vevent{$key}) eq 'ARRAY') { + print "$key =>\n"; + foreach (@{$vevent{$key}}) { + my %hash = %{$_}; + print " =>"; + foreach (keys %hash) { + print "\t$_ => $hash{$_}\n"; + } + } + } + else { + print "$key = \n\t", $vevent{$key},"\n";# unless ($key eq 'data'); + } + } + } + print "PUT ",&calendarUrl($username, $uid),"\n"; + + return 0 if (DRYRUN); + + my $request = HTTP::Request->new(); + + $request->method('PUT'); + $request->uri(&calendarUrl($username, $uid)); + + $request->header('Authorization' => "Basic $pwdhash"); + + #$request->header('Accept-Charset' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.7'); + #$request->header('Accept-Language' => 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'); + #$request->header('Content-Type' => 'text/plain; charset=utf-8'); + $request->header('Content-Type' => 'text/calendar; charset=utf-8'); + $request->header('Content-Length' => length($vevent{'data'})); + $request->header('x-sogo-mode' => 'M'); + #$request->header('Connection' => 'TE'); + if (FORCE_CLOSE && ($count % FORCE_CLOSE) == 0) { + print "Force connection close (no keepalive)\n"; + $request->header('Connection' => 'close'); + } + #$request->header('TE' => 'trailers'); + #$request->header('Depth' => 1); + #$request->header('Accept-Charset' => 'utf-8'); + #$request->header('Accept' => 'text/plain'); + $request->content($vevent{'data'}); + + + return &httpRequest($request, $uid); +# my $i; +# for ($i = 0; $i < 30; $i++) { +# my $response = $ua->request($request); +# if ($response->is_success) { +# print "PUT $uid:\t", $response->status_line, "\n"; +# last; +# } +# else { +# print STDERR "ERR PUT $uid:\t", $response->status_line, "\n"; +# sleep(2); +# } +# } +# +# if ($i == 30) { +# print STDERR "ERR PUT $uid:\tCan't reach server for the past 60 secs - exiting.\n"; +# exit(-4); +# } +} + +sub parseEventsFile +{ + my $file = shift; + + my %vevent = (); + my %last_vevent = (); +# data +# uid +# encoding +# organizer +# username +# recurrent + + my $count = 0; + my $count_created = 0; + my $bytes_count = 0; + my $elapsed_time = [gettimeofday]; + + while (my $line = ) { + $line =~ s/\r$//; # remove dos linebreaks + if ($line =~ m/^BEGIN:VEVENT$/) { + $vevent{'data'} = $line; + } + elsif ($line =~ m/^END:VEVENT$/) { + $vevent{'data'} .= $line; + #if ($vevent{'organizer'} eq $email) { + $count++; + $bytes_count += length($vevent{'data'}); + + if (RECURRENT eq 'smart') { + if (%last_vevent) { + if ($last_vevent{'uid'} eq $vevent{'uid'}) { + $last_vevent{'data'} .= $vevent{'data'}; + $last_vevent{'recurrent'} = 1; + if ($last_vevent{'username'} ne $vevent{'username'}) { + print "ERR: Matching UID with different organizers!\n"; + } + } + else { + $count_created += &putEvent(\%last_vevent, $count); + %last_vevent = %vevent; + } + } + else { + %last_vevent = %vevent; + } + } +# elsif ($vevent{'rdate'}) { +# # Ignore event with RDATE attributes -- they are not currently +# # supported in SOGo (web) +# $vevent{'rdate'} = undef; +# print "Event with RDATE -- ignored\n"; +# } + else { + $count_created += &putEvent(\%vevent, $count); + } + #$last_data = $vevent{'data'}; + #last; + #} + #else { + #print $vevent{'uid'},": $email ($username) NOT organizer ",$vevent{'organizer'}," (",$vevent{'username'},"); verify event\n"; + #} + $vevent{'data'} = undef; + #last; + } + elsif ($vevent{'data'}) { + if ($line !~ m/^$/ + && $line !~ m/^RECURRENCE-ID/ + && $line !~ m/^RDATE:/) { + if ($line =~ m/UID:\s*(\S+)$/) { + $vevent{'uid'} = $1; + $vevent{'uid'} =~ s/[#&\/]/-/g; + $vevent{'uid'} =~ s/\.//g; + $line =~ s/^(UID:).*$/$1$vevent{'uid'}/; + } + elsif ($line =~ m/^ORGANIZER:(?:mailto:)?(\S+)$/) { + $vevent{'organizer'} = $1; + $vevent{'username'} = &getUsernameByEmail($ldap, $1); + } +# elsif ($line =~ m/^RDATE:/) { +# $vevent{'rdate'} = 1; +# } + $vevent{'data'} .= $line unless (); + } + else { + print "ignored: '$line'\n"; + } + } + elsif ($line =~ m/Content-Transfer-Encoding: (\S+)$/) { + $vevent{'encoding'} = $1; + } + } + + if (%last_vevent) { + $count_created += &putEvent(\%last_vevent, $count); + } + + printf "\nParsed %i events, %i new: %.1f KB in %.1f seconds\n", + $count, $count_created, ($bytes_count/1024), tv_interval($elapsed_time); + + return 1; +} + +sub gmtTime { + my $time = localtime(shift); + #my ($second,$minute,$hour,$dayofmonth,$month,$year,$weekday,$dayofyear,$isdst) = localtime($time); + + #$year += 1900; + #$month++; + #$hour -= $isdst; + + return sprintf("%04d%02d%02dT%02d%02d%02dZ", + $time->year+1900, + $time->mon+1, + $time->mday, + $time->hour-$time->isdst, + $time->min, + $time->isdst); +} + +sub putTask(\%) { + my (%task) = %{(shift)}; + my $count = shift; + my $bytes_count_ref = shift; + + return 0 unless ($task{'summary'}); + + my $now = &gmtTime(time); + my $uid = md5_hex(%task); + my $data = <<'VCAL'; +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//Inverse inc.//SOGo 0.9//EN +BEGIN:VTODO +UID:%s +SUMMARY:%s +LOCATION: +VCAL + + $data = sprintf($data, uc($uid), $task{'summary'}); + $data .= "PRIORITY:" . $task{'priority'} . "\n" if ($task{'priority'}); + $data .= "CREATED:$now\n"; + $data .= "DTSTAMP:$now\n"; + $data .= "LAST-MODIFIED:$now\n"; + $data .= "DTSTART:" . &gmtTime($task{'start'}) . "\n" if ($task{'start'}); + $data .= "DUE:" . &gmtTime($task{'end'}) . "\n" if ($task{'end'}); + if (defined($task{'completion'})) { + if (scalar($task{'completion'}) < 100) { + $data .= "STATUS:IN-PROCESS\n"; + } + else { + $data .= "STATUS:COMPLETED\n"; + } + $data .= "PERCENT-COMPLETE:" . $task{'completion'} . "\n"; + } + $data .= "DESCRIPTION:" . join("\\r\\n", @{$task{'description'}}) . "\n" if ($task{'description'}); + $data .= "END:VTODO\n"; + $data .= "END:VCALENDAR\n"; + + $$bytes_count_ref += length($data); + + print $data if (DEBUG); + print "PUT ",&calendarUrl($username, $uid),"\n"; + + return 0 if (DRYRUN); + + my $request = HTTP::Request->new(); + + $request->method('PUT'); + $request->uri(&calendarUrl($username, $uid)); + $request->header('Authorization' => "Basic $pwdhash"); + $request->header('Content-Type' => 'text/calendar; charset=utf-8'); + $request->header('Content-Length' => length($data)); + $request->header('x-sogo-mode' => 'M'); + if (FORCE_CLOSE && ($count % FORCE_CLOSE) == 0) { + print "Force connection close (no keepalive)\n"; + $request->header('Connection' => 'close'); + } + $request->content($data); + + return &httpRequest($request, $uid); +} + +sub parseTasksFile { +# S 9265740 +# D 9266220 +# T task august 13th +# R 1 +# L 100 +# M bar foo +# W bar foo +# C task august 13th 2008 +# C line 2 description +# C line 3 +# O + +# BEGIN:VCALENDAR +# VERSION:2.0 +# PRODID:-//Inverse inc.//SOGo 0.9//EN +# BEGIN:VTODO +# UID:26A-4979F880-1-B72F03D0 +# SUMMARY:this is a task +# LOCATION:there +# PRIORITY:1 +# STATUS:IN-PROCESS +# CREATED:20090123T170443Z +# DTSTAMP:20090123T170443Z +# LAST-MODIFIED:20090123T170443Z +# DTSTART:20090123T171500Z +# DUE:20090124T181500Z +# PERCENT-COMPLETE:40 +# DESCRIPTION:foo +# END:VTODO +# END:VCALENDAR + + #my $file = $_[0]; + my $count = 0; + my $count_created = 0; + my $bytes_count = 0; + my $elapsed_time = [gettimeofday]; + my %task = (); + # Start and due times are computed in minutes since since Jan 1 1991 + my $basetime = timelocal(0, 0, 0, 1, 0, 91); +# my $tm = localtime($basetime); +# printf("Base date: %04d/%02d/%02d %02d:%02d:%02d\n", +# $tm->year+1900, $tm->mon+1, $tm->mday, +# $tm->hour, $tm->min, $tm->sec); + +# open (my $tasksfile, $file) +# or die "Cannot open tasks file '$file'"; + +# while ($line = <$tasksfile>) { + while (my $line = ) { + #$line =~ s/\n$//; + chomp $line; + if ($line =~ m/^O/) { + if (%task) { + $count++; + $count_created += &putTask(\%task, $count, \$bytes_count); + %task = (); + } + } + elsif ($line =~ m/^T (.+)/) { + $task{'summary'} = $1; + } + elsif ($line =~ m/^S (\d+)/ && $1) { + $task{'start'} = $1*60 + $basetime; + } + elsif ($line =~ m/^D (\d+)/ && $1) { + # End time (number of minutes since Jan 1 1991) + $task{'end'} = $1*60 + $basetime; +# $tm = localtime($task{'end'}); +# printf("End date: %04d/%02d/%02d %02d:%02d:%02d\n", +# $tm->year+1900, $tm->mon+1, $tm->mday, +# $tm->hour, $tm->min, $tm->sec); + } + elsif ($line =~ m/^R (\w+)/) { + $task{'priority'} = $1; + } + elsif ($line =~ m/^L (\w+)/) { + $task{'completion'} = $1; + } + elsif ($line =~ m/^C (.+)/) { + $task{'description'} = () unless ($task{'description'}); + push(@{$task{'description'}}, $1); + } + } + + #close ($tasksfile); + close (CAL); + + printf "\nParsed %i tasks, %i new: %.1f KB in %.1f seconds\n", + $count, $count_created, ($bytes_count/1024), tv_interval($elapsed_time); + + return 1; +} + +sub parseRightsFile +{ + my $file = $_[0]; + + open (my $rightsfile, $file) + or die "Cannot open rights file '$file'"; + + my $line = <$rightsfile>; + $line =~ s/\n$//; +#line:---procuration, username, foo.bar@foo.edu + my $user; + if ($line =~ m@^\-\-\-procuration, ([^,]+),@) { + $user = $1; + print "rights for user's calendar: $user\n"; + } + else { + die "Could not parse procuration line: $line"; + } + + my $next = 0; # 0 = Grantee, 1 = Designate right + my $grantee; + my $rights; + + while ($line = <$rightsfile>) { + $line =~ s/\n$//; + if ($next == 0) { + if ($line =~ m@^Grantee:\ S=[^/]+/G=[^/]+/UID=([^/]+)/ID=[^/]+/NODE\-ID=[^/]+$@) { + $grantee = $1; + } + else { + die "Expected or mal-formed 'Grantee' line: $line"; + } + $next = 1; + } + elsif ($next == 1) { + if ($line =~ m@^Designate\ Right:\ (.*)$@) { + my $oracleRights = $1; + $rights = &convertOracleRights($oracleRights); + } + else { + die "Expected or mal-formed 'Designate Right' line: $line"; + } + &grantUserRights($grantee, $rights, $user); + $next = 0; + } + } + + close ($rightsfile); +} + +#line:Designate Right: CONFIDENTIALEVENT=NONE/CONFIDENTIALTASK=NONE/NORMALEVENT=MODIFY/NORMALTASK=MODIFY/PERSONALEVENT=VIEWTIME/PERSONALTASK=NONE/PUBLICEVENT=MODIFY/PUBLICTASK=MODIF +sub convertOracleRights() +{ + my $oracleRights = $_[0]; + my %keyMapping = ( 'CONFIDENTIAL' => 'Confidential', + 'NORMAL' => 'Public', + 'PUBLIC' => 'Public', + 'PERSONAL' => 'Private' ); + my %valueMapping = ( 'VIEW' => 'Viewer', # à confirmer + 'VIEWTIME' => 'DAndTViewer', + 'MODIFY' => 'Modifier', + 'REPLY' => 'Responder' ); + + my %rights = (); + + my @parsedRights = split('/', $oracleRights); + foreach my $parsedRight (@parsedRights) { + my ($key, $value) = split('=', $parsedRight); + if ($key =~ /(.*)EVENT$/ && $value ne 'NONE') { + $key = $1; + die "No mapping found for key '$key'" + unless defined $keyMapping{$key}; + die "No mapping found for value '$value'" + unless defined $valueMapping{$value}; + $rights{$keyMapping{$key}.$valueMapping{$value}} = 1; + } + } + + return [keys %rights]; +} + +sub grantUserRights() +{ + my ($grantee, $rights, $user) = @_; + + die "No grantee specified" + unless defined $grantee; + die "No rights specified" + unless defined $rights; + die "No user specified" + unless defined $user; + + my $xmlRights = ""; + + foreach my $right (@$rights) { + $xmlRights .= "<$right/>"; + } + my $content = ( '' . "\n" + . '' . $xmlRights . '' ); + + my $request = HTTP::Request->new(); + $request->method('POST'); + $request->uri(&calendarUrl($user)); + $request->header('Authorization' => "Basic $pwdhash"); + $request->header('Content-Type' => 'application/xml'); + $request->header('Content-Length' => length($content)); + $request->content($content); + + my $result = &httpRequest($request, $username); + + my $response = $ua->request($request); +} + +## +## MAIN +## + +if ($#ARGV < 3) { + &usage(); + exit(-1); +} + +$url = $ARGV[0]; +$username = $ARGV[1]; +my $type = $ARGV[2]; +$file = $ARGV[3]; + +if ($type ne 'events' && $type ne 'tasks' && $type ne 'rights') { + usage("The argument 'type' does not have a proper value: '$type'"); + exit(-1); +} + +# Prepare LDAP connection +$ldap = new Net::LDAP(LDAP_HOST) or die "Can't connect to LDAP server: $@.\n"; +my $msg = $ldap->bind(LDAP_BIND_DN, password => LDAP_BIND_PW); +if ($msg->is_error()) { + die "Can't bind to LDAP server: ".$msg->error()."\n"; +} + +# Verify file name format; extract username +#if ($file =~ m/^(?!.+?\W)?events\.(\d{8}|invite\d+)$/) { +#if ($file =~ m/^(?:.+\/)?(events|tasks|rights)\.(\d{8}|invite\d+|[a-z]+)(\.test\d?)?$/) { +# $username = $2; +$email = &getEmailByUsername($ldap, $username); +print "$username = $email\n"; + +if (FORCE_USERNAME) { + $username = FORCE_USERNAME; + print "Force username to $username\n"; +} + +# Open iCalendar file +open (CAL, $file) or die "Can't open file $file: $!\n"; + +# Prepare HTTP query +if ($url =~ m#^(https?://)(?:([^:]+):([^@]+)@)?([^/]+)#) { + ($authusername, $password, $host) = ($2, $3, $4); + $url = $1.$4; + if ($host =~ m/:(\d+)/) { + $port = $1; + } + elsif ($url =~ m/^https/) { + $port = '443'; + $host .= ":$port"; + } + else { + $port = '80'; + $host .= ":$port"; + } +# print "host = $host, auth = $authusername\n"; +} +else { + &usage("The URL doesn't have the proper format."); + exit(-3); +} + +$pwdhash = encode_base64($authusername . ':' . $password); + +$ua = LWP::UserAgent->new(); +$ua->agent('Mozilla/5.0'); +$ua->timeout(1800); + +# Verify is user personal calendar exists (or can be automatically created) +die "Can't access personal calendar of username $username\n" unless (&userCalendarExists($username)); + +my $parsers = { 'events' => \&parseEventsFile, + 'tasks' => \&parseTasksFile, + 'rights' => \&parseRightsFile }; +$parsers->{$type}($file); + +exit; diff --git a/NEWS b/NEWS index 0d7412b5b..389096e1a 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,12 @@ -1.3-201008xx (1.3.1) +1.3-20100819 (1.3.1) -------------------- - added migration scripts for Horde (email signatures and address books) +- added migration script for Oracle Calendar (events, tasks and access rights) - added Polish translation - added crypt support to SQL sources - updated Ukrainian translation - added the caldav-auto-schedule capability +- improved support for IE8 1.3-20100721 (1.3.0) -------------------- diff --git a/Tests/Integration/README b/Tests/Integration/README index 5cab950d4..ca98c90c0 100644 --- a/Tests/Integration/README +++ b/Tests/Integration/README @@ -6,7 +6,9 @@ setup 1) copy config.py.in to config.py (make sure to never EVER add it to monotone) 2) edit config.py to suit your environment -3) run the test scripts +3) make sure that you use a fresh database, with no prior information in it +4) make sure that SOGoCalendarDefaultRoles and SOGoContactsDefaultRoles are empty or undefined +5) run the test scripts runnable scripts ---------------- diff --git a/UI/MainUI/Version b/UI/MainUI/Version index 4010e5dd4..458cc5adb 100644 --- a/UI/MainUI/Version +++ b/UI/MainUI/Version @@ -1,3 +1,13 @@ # Version file +<<<<<<< variant A SUBMINOR_VERSION:=1 + +# v0.9.1 requires Main v0.9.59 +>>>>>>> variant B +SUBMINOR_VERSION:=1 +####### Ancestor +SUBMINOR_VERSION:=0 + +# v0.9.1 requires Main v0.9.59 +======= end diff --git a/UI/WebServerResources/SOGoResizableTable.js b/UI/WebServerResources/SOGoResizableTable.js index 86becd48a..9bde09c52 100644 --- a/UI/WebServerResources/SOGoResizableTable.js +++ b/UI/WebServerResources/SOGoResizableTable.js @@ -24,11 +24,12 @@ var SOGoResizableTableInterface = { } SOGoResizableTable._resize(this, $(cell), i, null, cell.getWidth()); } + this.computeColumnsWidths(); Event.observe(window, "resize", this.resize.bind(this)); }, resize: function(e) { - // Only resize the columns after a certain delay, otherwise it slow + // Only resize the columns after a certain delay, otherwise it slows // down the interface. if (this.delayedResize) window.clearTimeout(this.delayedResize); this.delayedResize = this._resize.bind(this).delay(0.2); @@ -62,7 +63,7 @@ var SOGoResizableTableInterface = { this.ratios = relativeWidths; }, - saveColumnsState: function() { + computeColumnsWidths: function() { this.ratios = new Hash(); var tableWidth = 100/this.getWidth(); var cells = $(this).down('tr').childElements(); @@ -71,6 +72,10 @@ var SOGoResizableTableInterface = { if (cell.hasClassName('resizable')) this.ratios.set(cell.id, Math.round(cell.getWidth()*tableWidth)); } + }, + + saveColumnsState: function() { + this.computeColumnsWidths(); if (!$(document.body).hasClassName("popup")) { var url = ApplicationBaseURL + "saveColumnsState"; var data = this.ratios; diff --git a/UI/WebServerResources/UIxPreferences.js b/UI/WebServerResources/UIxPreferences.js index 77fed756f..51bca2fc0 100644 --- a/UI/WebServerResources/UIxPreferences.js +++ b/UI/WebServerResources/UIxPreferences.js @@ -251,7 +251,6 @@ function _editFilter(filterId) { } function onFilterAdd(event) { - log("onFilterAdd"); _editFilter("new"); event.stop(); } From 5611b5f32e0fa01eb85f982b165795d5edc3b698 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Thu, 19 Aug 2010 13:55:10 +0000 Subject: [PATCH 2/3] Updated the table of contents Monotone-Parent: b59f331214320317bf10c70f2db10187fcd5f29d Monotone-Revision: f4817b8a1de11dfe8fbb52901c26650b7d23b160 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2010-08-19T13:55:10 --- Documentation/SOGo Installation Guide.odt | Bin 147256 -> 147255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 14ffcc6e357c734b071062e9b460012bd2be4558..e3dab88e170ef70ddf246488c847270f54f76e18 100644 GIT binary patch delta 33656 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 x7A<;#!d}A}4@V3xa7BxKSzBiBL%@6<|% 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 Date: Thu, 19 Aug 2010 14:14:49 +0000 Subject: [PATCH 3/3] Fixed version file Monotone-Parent: f4817b8a1de11dfe8fbb52901c26650b7d23b160 Monotone-Revision: 5023b99b30755688cc4fc864ca034ae7966b1af9 Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2010-08-19T14:14:49 --- UI/MainUI/Version | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/UI/MainUI/Version b/UI/MainUI/Version index 458cc5adb..4010e5dd4 100644 --- a/UI/MainUI/Version +++ b/UI/MainUI/Version @@ -1,13 +1,3 @@ # Version file -<<<<<<< variant A SUBMINOR_VERSION:=1 - -# v0.9.1 requires Main v0.9.59 ->>>>>>> variant B -SUBMINOR_VERSION:=1 -####### Ancestor -SUBMINOR_VERSION:=0 - -# v0.9.1 requires Main v0.9.59 -======= end