From a0a1261bc4067c828932d383811bbda730b92aa9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 28 May 2017 13:25:51 +0530 Subject: [PATCH] Add an apple-touch-icon because Apple is a special snowflake that cant use the favicon like everybody else --- imgsrc/render-logo.py | 7 ++++++- resources/content-server/index.html | 1 + resources/images/apple-touch-icon.png | Bin 0 -> 15195 bytes src/calibre/srv/content.py | 5 +++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 resources/images/apple-touch-icon.png diff --git a/imgsrc/render-logo.py b/imgsrc/render-logo.py index 1ebbb36c26..777698055b 100755 --- a/imgsrc/render-logo.py +++ b/imgsrc/render-logo.py @@ -12,14 +12,19 @@ resources = j(os.path.dirname(base), 'resources') icons = j(os.path.dirname(base), 'icons') srv = j(os.path.dirname(os.path.dirname(base)), 'srv') -def render(outpath, sz): + +def render(outpath, sz, background=None): sz = str(sz) cmd = ['rsvg-convert', j(base, 'calibre.svg'), '-w', sz, '-h', sz, '-d', '96', '-p', '96', '-o', outpath] + if background: + cmd.insert(2, background), cmd.insert(2, '-b') subprocess.check_call(cmd) subprocess.check_call(['optipng', '-o7', '-strip', 'all', outpath]) + render(j(resources, 'images', 'library.png'), 1024) render(j(resources, 'images', 'lt.png'), 256) +render(j(resources, 'images', 'apple-touch-icon.png'), 256, 'white') render(j(resources, 'content-server', 'calibre.png'), 128) render(j(srv, 'main', 'calibre-paypal-logo.png'), 60) shutil.copy2(j(resources, 'content-server', 'calibre.png'), j(resources, 'content_server', 'calibre.png')) diff --git a/resources/content-server/index.html b/resources/content-server/index.html index 3a576be39c..bcfbc0aabf 100644 --- a/resources/content-server/index.html +++ b/resources/content-server/index.html @@ -7,6 +7,7 @@ +
diff --git a/resources/images/apple-touch-icon.png b/resources/images/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec345caa460276d2a18e71e88ee53945f1e5d11 GIT binary patch literal 15195 zcmbVzWmr{D)bAWxLQ=ZB8$oHLrMpwQLAs8Vl!SmNjWkF~H&RM>cT0E2J^tVK%YB~v z>3-s{_nx(8)~vPWw_+kxlw>eaiBSOn7;>_bY5+iBKOq1G4)$jpOOy)$L25ZkaSgAz zgLFggdi`1uozRc+pH!GbN>txKij0q3Dj=plr zSd2W!c+c%A)I4Z%;aBrFC-LqoWl|}i@%=|4($qhdy4?2aiGM3RWZRBrbqB6`fY{HI z1GlZ5+>&goQUi34RC|rNQUQRzMn}+T<+#9;wyG42x1Qj@bSX;>-MdjgnqUN9Zeb8KUXI*-hO>c9mDic)os65 zEt#LN8aPgD(VWANycRe%!EjiR>w$8)Q#h9I?5V`uN!wJe7t z{-8S1y#KLUI0u=lOaT!bKO!3LMr2*NIn?@!)~5s zy>7z|JJX4ORV8TG2RGoHMIVXT0E%-heo=Y-iq(>9!%&{0rI*ptw?KLI)5F&5X@rRF zL$p^3jD-9F?E}oG&20Y-B|y&Z?dm$-3Cmf?%fYrHJCwB`hA;h|2v_&vg>0( zAKlj0#z5skn>VG}O3fA8Tm$x_pT?Q5?xzyZFRECddbNA9iGU4%b)y*$04ZQlR=?$@uNpMsV*wu4PResZ7ZBay}JLeDSM4*KU2 z{^tu2%`naT+u0|;H9AKqqd_j#I1tWpK~}>|y4zYkn=+Ju(IfTXKS(Qo_}qK44ZMYbj=4qMumS$40IV5{P?xoxHWFqJB2 z$6Z6;-KE)N^Lq$6!94_+)D^31- z6-aevN8{xL<1|t^NG0R9BJ(MW&PEdJ}`l3~=$4YH1mf6?9{coiLO59tT zJGS*%KJ@mXzhs%+Ha7x4UM_ISdCS*{AMABT$kdize`1DDp}n=I;XVkM7ZhwZ6atK_ z*Ef{!$Yz1xU~{jR2L^nFue8-#I@>TRkG+zOLizo?=ituQm6p(}%MS;;5y;@0m_llw ziUdd!M_Wzb<3hcx60Z7~{}>-s_e>llY*4Or-|Z3FOl4`=lZ>S}EKGOK;fY4f@!nW* z5ep2rRjt8`>7{Ya0?O&Gf84TO*1*TRjLABT72=GOmmK7jHI}vP|JZf$oAvIufGF7o zDVGbIHv^4CA?3mc*R+DR>WLrE&EVSi-pN!!+HK+gTkqu`SIM3THOP$UcBZpT(v>HM zGhp5RCKYr=-_J%PFN}!{#eJBYdO-pz)ZV@XMO;3xxpM-2hFY4j(oYlgF}C{oxqn+I zYtpK7-fZ-Z8)8%%hMk=|=*!rH>vQH5d+GV`U1M-0+FYh03a54+!Q*}1UsZdiu!GH?!t~dJql@(T0w&2Pqv_IHoP0Sng6O7} z0+U+)s-H=bd!|A52?nQhbVu8#7z0=92^O;v~fBt5>Yp*BAJnwdYrk zN#459)I8e+SesScXJr9WfVIQhr>592FSMe6+MF*obE39(T=1`nwP#<~=*@4NX>+R~ z-G=l!m#g>3%{%W$ucBky^u;Pt)e!ukQi{e*dNv1Y(6NJ^%@Li^T9VSXY4(+LL47E$i?s2Me-Yol4TtqCeY{Ym8TFCPlF5>{U$#UKB{a~OW6Ey!0IE!YAe_V{b}H%@E<1F`v<-=F5$-h4aS)5A-|af3ixq{ z+x&UXo6*jJUhAJ_*kwTvM+@IDMF73Y*RWEpX(M-)y|*4OuTuT|E&$9#y*$3bWP+H* zchUm~vhd(Eh4b_(4#v(?^>(%mc8z=cDw5IeeNMhBkDK`!|pUcvBZtTK7(LwhjY>co6t<8$>?wfjmO6r)%tfzlc zE%z4-qGxwWK73dOtXSglwziz>%X~=feu#f8{7JO>@mKTwiI0!yurPrUtsZA_(Hgqg z1#t%L&n`58s-bTD?+K*+Gyns+rt}lr__~aJ*QFieZWQC4(!=y{*>0k>BEB{mP z43|It6C|{5^d0p9=XC3$=iKgL-!#WvtluXuOD+41w4-j=YBYGLMlFJlOwAtC(9X zBfvqx=l=WVrOOi^_9Ik)@2EI3>kSqy4zS(%mk6Y0}K|%M%IZz(dz!$5V zTi7<=Bo}bk%y3*zQM29S1)Q_rN6BMzfJ+4@8KK!W`!s`BL!}djsJ-^z=4;Yy#{5F( zUU_;xKbjC@g=9(cP1gGeXY3t{20jk-_uoA}_$nzWd3bneX-yGC|0w6+as8|o7(z=R zAVZLX@a69zo#JrvZw@RPfYpzqeCd#~i1_W1++yap5{C1@Zc%#QYjC7_SB`w*wLJ3t zqT3Z!GQxH@!}i2iKzMq+&HoO`^XdNP>?0-xxrn^5<=#)*sDlmfUSG_ggmqm3P3ujD z?7F_g4+1NyI^IXyb0x862<>6c_2``_IoK7K#pqJR2U`PqfH<^?8%|>}D2nRQpxRE(lF)mrh4L zK1MH=EnoWLX}o}5YjDAt46fvNtqV_DJoQbycnh+unEQ&0UWv}|T-z}rdO(H+FDI-= zhnh{#&V)QUYz};P%6Oxf-%~pj^e6itik6^)HG~t0n7gd{+UVhK)rYFJXW($~drnFu zlh-Z5+7=JBz&Ga@di49qdz>=#kB)4CxunzEdT6@oc^^Bcb%hpOb{|Bpnv3B~UeHU! zT+dRpS2YWb<-?#Gnp2Z@$7chA1p(pYt6|K_Js0xdj1d-C3KNC4yUC<$E=Vp9*sIvX z9wHd!V-GlGKRj;LdquWhz>O4!K16>inEJZ3v=!Gnec-Fv3Eazx!-M6bAkw@Hk9F!c zA=Pmudb@6dD?&7alLXqJP(!ghk)A5)xIu143TrNzc`un1h+GodsB!_eV5Gs3U#!+q z2P_@GpwpRMh|ocEy?}6CK_#sj3qy?||E2~Tqv0@~ZanC;CuyOoV)to6KEJAF?1s_@ z(7y6bD+y3mZ_8p>wCtrS3C+82?LD5|Xtroc6xV~SvGUdUq{R{o<9pS~jHt%R7yW7| zLCljHtg>XSjNw%792uA>lQaA zZdPD!oB$g$bAOIEnNXtWw0bS<*Z}tfx$Wj&8xBfHAc*|v(7ihyw8(2=O)^D0+Xe?> zYG^t;`4LJK)8)k)R{b$Yn^{hZ+_Z~}M zSFmC?>ww2C%y5szzA`avfh1E%@khWjsGVeT5f` zur0n=)c!>uq(#KQXXF1}0?c`=(FUntt)7cRC9&{XP*J<#z`m1$t0wKC6Qhld_}hwJ z3u`;Aol%!O@^&7EL2T1 z(FXZBjZ%P#wqX=ZBhEeyx>)R@`1sw5SLbMMGzGQB^s>#88PD0JVSK2}dFBWgR`_W#aJ}7*@ zM&^j$!CaRLlx|{jOrg9Gz((l5mT&_TR{c1h+DBifi+;plT3@L+TP6Lx9l_p2s(+2P z>6{U9*A22b}HFFl$)cf#PAN)s_jS%~PG%*zL*|9gyvzNQ%>4I)!w2e)%>Snh>O(H1gQBvS5 z{0-2ky}P$`$tu>OT*K53-Xwm$7=P4Wf``gtraR^1_vpJc~S^aFK`az|kfDs!mzVb-BWnfEM=_oCxK zn+U1TIpy|x6psC7q5G(~IS~HT_X=FHuZgBv4T#cugw5wVc=hnFnCXOQTi54I)BRLu z|H%5|rS;$Sn|8si`jV#Nu;<=j!%rzklJDZ|u3UmHXl2lClAX_fRh0_33iBnCw^l8k z1_sdunH*K^ptl!)z=#m+o3!ZM{BwW`F=YPtAmQ2Itl({*?79q+3tck+>)`-r~eVR~3 zgg@`Oeh6Ss-0m3EoY@T=WIqYx!g`QCxzHqW=2vaxx+F^7U3q^z`D9m z0GsYTOb+|hJLu5e73r?hyuE_HAsokoua`o)X;urO7>w|MO1yG;#ReeBVgx;dS=iC5 zb%{D-lvI>k&ngRxwH1+dUX62e{!G6i$9T01Ni04WPF?VWV(NPSB6NLD4y8fU)yOI$ z?Q1BSkNPzE;#J?|IKhL0a>G84VC`-e{#CLE`H~%Rc`O z`BJETLaB8n0_fJGj}>FtCZ;&zDB6Uea0%~-0J}T&##wQGZm4V2`{RdMJq*KBkfp}= z;u(GiuDD~v%-^xrk8*UsfL(WKSsSjnW^C{Q4G~~O7VDi;y2|yhG&Za8iYmh{;sQy< zMY5G>j1d5hW984K6ShYe4Qz!x*##* zT<5RybZy-r@Zuu|D-5>OvWP2_Y`Yrj4m2V12yCPEV}+Z4Q6X^$#SM}?``YCO;yB`r z#(8wWt^y}bAW*uEzHmn}vvXCG*BJm%pwH@7b**vIaM~oUc?M<@i0E;SGA}7bJds=@-t4EWM=AX37i&y1*P`g-m zg)Z+NMwJ3A^S`?>vqPbA73S=Y$OEzEH!qM>z`q@tai!Cs{!P{Lh6A@sD#2vtmzJyy z(72tV!P(ME{VyK7yp)uop+1v93<#<V{f+t}u^0l-v#JQeVH7ln)n7ETQch3|mv_Z*}e? zKee5;$y||(epvKJ@Qt1oJ>pz=gveDEQ?33NXVw-H^jq0VCZy#T&Y{qxAl!XbNtWCTQ7nxz|UcVF-=ZBq79M_Z3! zb+5w)sS&{T5y?BX4FxD%jVhsqzE_{CG*)MgM>wi;cIjkW9u%Fquim34>#Ta-8T?&- z(poXw&Fp(lY;M$#31fwG-cZIVg}z0i8o`U z=8;lY4iB$`5iMwxfRXNC_Gv6b*yoZojGz$imnA^e3VK!yOD9>qP-Max3n5T^t@~^= zw-YAh4oa7sI#A*Metmi=CwzwK{$+!pyDp`@zvTOz+hop`BjsT1{fW|y-p#=ka~F)%xd{1>*3EF#k$k28 zD|Z zXVeAUoP#Ux>Y+buFf6O)+3=P>)Ha^m-f?r{=SN$VZz!&fm&tG=-|9t7&8BbhoWjLL z!>hHODyYK@MxOCwGB{DNMhg3%$bTJTOhSOdK={(;ntCX%;+$ltHIBCnCmSFX&9=k9 z>om1O*W1W%^?P6zUZ>l4XoRJ*Q8PedQ9gdDa3Bsdb_nsuz6g37R3@0-rJWJLRg~aj z3p*}|Y5psrURLP zc`vhUJSs4F@>5~ldbn>(WAj|vB`4OukA$=6o1(v&1qT-eTD?2ii`e6 zH18QI;3)ChNaRT-+$xS>!8F(7b&3dJyecC3F`nl;&P>3a2*fh#U&1OEDyPm*f5y%F zTfoX$r~GR=(})iw9K#A1y*CIq0Os97NPZwE+}L-7==%F?WH^o4zM+>6^IDE&o= z9m4-|BvHI_jf>vUvFT``D4ksN?88;f`Hj>*^H}X`BKxOHv`TEG+v}K??`)l+{rL4d z+0XzR9^DJTtf5Yk_OKYUndAIjPLSO!OdVz#7%|pkG_W9}g5%YDZ@BZaHMPjl zKFff;aXm96S^bP_Tw z$eS>4?yp=o;fRz>n9>!(s@G=UUnNNa71af_*nHm`qwN6}f-z(KTFCetioc%2Be<8= z@lgbOycZ*{5tYM=YcY$30IXCB%MWaRT2GcEfceWg1KCkpof-cWSXQz0rHi|l`>alA zemCKWCd<#xA6UI_a!vg+@0F)ssWE(y*uf+c?t*1(UN?()Ng8Hh@<`*o* zU%NU#YkT{!6>;`m!yb84;G~`_UJ+y2E%D9eMzvq|wNMQ46s6)J=3#lknS77c_tg!_ z5`bgNiJFSQ7|3Yzjw(HQ2gJVFG9N{9h@vK;5Z@TPjOJbn*I|BbZu^^wejG*rY~c$F zOESB-^F~}!PAW>1u!#nInw4d_k2(`m=uBYO>7TRY@b}sAk(OBZC+(9Vxx>1~*hFV* zTLezyqwJyR07V|=qnaB|d@o9&Dpxo{Fj!}7l7qh;aOcC)i+$#9>EuTCa=t=We_m87 zA#&m;A`;~$1{u(qY&)EWLU8A&aRRsmI!l%##V;7gk)hN=pM{KDEw?uUdZ~d{uL@#f zdcxVoJby*U+eb>rp4ycMP1V>RI6$K?Uj$>N?fa$$49xvLxsX+`{Fv67D)+%946ow#Rv^jp+i-nRE@@)ogtgrTp0&u{%$vx)e$1Z{!Y=; zQI zG}aT5j$&>UVZPh`kX<#R;s+cnqluU-U^cs8CHq5dr1H>Z^ZRL30_g5<$7|zW=&< z=NV;bh0~)W2TEra8MP0DN-nb2xpRxuVQdaja7X6B6XBZ*py344kAW0`X09TC(!fcj z&+fxaFigdR1BKi~G=ik33-6dyZD0-s{zBNz>R7eq8@z$sNsz|@ zxFX|DXq-yFO@@f&+1jd-rg4~%4jd#2dKAIqh;yU9{(76UgP{s3cqUK&7)c4?G~pk> zl8P#O^PCz5f9n~zTb^%20{iGgrw2U21FR~1Q@&a>paHKq|Fox4rNeiVeKgv7V$5Yk zLH*rrHpYNsh}X-Hh8KTTe_Mb(3r58Bh7)uTBs5%v&N88EK_IrZon@v@-Mn0#@van} z@>_6A%&$73B9DJ?Y!hP`0fH-j?7lED|6V63G7zEF`TgNRTj60__y?zJI{LTPObo{o zgwqD*U1Xp-lw>*kl56s%Za_=;ace@;G#v+0xP0@U{==x}03o!vs2P?qAHiqZ4rp&E zDEIuZmxIjM+`Mx+?1@g;ZYoREfnbL_$g>W(5CNiSPOdJCH1E04j0i~?#neZ;aL8|X zARJh6)^gwXve4@6O1c0E^l7LECY!bq_z4q|$6gpNEQ-T9UbZe;7GQ z@bom|O$OXh&&_KM2JW?1RC2O8Hs)V+fOjNaYr#gMx9lIQ@I~2k&2{+m<)s0^vj5oX+`+MrB?pu3 zSXOvgB@a>!W@hWV>`TZCEY51F4=;^m-?K8)z#@Kir1suz?A(%k=|d)uQM40@Yr5$p zIS>D`^iSDTV4-Meg8j24i=K#ZshGi`>R7A6KC!cy&sF{HNO-UQmS(|KnQJ3qz2Wx$?kzmm^D1-UFKX0T8c>`o077M-3JR1)f8Lw_P@)# z*@1|?i$sApsj6@ZFd>L3_gt+rFb;Jtt=&~8aW1$vFo!pp7S9Dx(>Lgi5+?K0cgmS@ zWb%PeA`cJ9na8rs5ZNdmT4TP+k{PMt}P;Do+!j-!Y$UOw)UMD2wx2?R z*d0&phkA9!f@R`YmOqRJbvx%PB5S<7wiuJm^gDrxCx=s;lkVV~(7&J93BeJ$VXgw- z#g#cj0y!XU7TdVTI-n$!8_1FWG)}q^Zh|<| z9{!T_NKggBF9E8=As#N%PD|3H=pWF3gsz4jC6&PFC7;EhPEM3}BknBN;2>v4<(M*c z1sc-XCz7DOcE|js%!9N5S_w{%0rvh?m;#9?9=}R!0Q8omm?_Z*h@Lhqkb} zwrqyCKd&gyI570&&73TGe)WM<>r2wXY=B4R>%@a+J=~m$Yol13f1;ADk@S8DGhP6d zA1Qrg%V*ZO$fEuX_#|fdo(awdivo*MVJLCyb7cLsVQ-1`i(Yoy9gA(|driP)BMser zrqF}WeoI;#ZE9Md53+P%Ium8m{0yUvy4YFmx{tG#5rEc&&LV6BX!Ta0VVn|Du&DhCSHfvr(hM9fBCL% zpi-WqH}RD*_CUYdgpyC)4+3qeaH=u2ChKc_a|Q$`2vMhdm8-j@+IFH$u_La?7yQq4 zOioN-kr}ME#3Ed@5vmxx0|CWXT}03a++Fs+?BXtbg(Xg6I~M|ndo7l|Bm9W-8`-)3 z?36kyp9RDrlo^s_)P{U~Y`Gims!j@MU}zaj6IA@@KlB_kaz3Kq=p>#fM(WF+rkIj> zhQ%z_j}x7Z1KoZmQv^F@Kb0_@gB9y=SvZrL+@+x+wS=ZA=}{7VPvq)%7kDMZ8@5iA^WBr1go<*?Gn5-By&J!D&t zPRUrBan>S;_^atn{Ns>8)vIW7O#HK^4+<>z8SW|k=9fwBc8dy1u7Q-)#O{BI#)4_y zw?+h$m+vEj$GN4@!KM*Ti1OQv78m=iwvyH2036M9xE6PN58W273@Qzzj<_I&dS42= z_HZ9lFUW@q=06`aIlx3o{wY#p>W!`{bFw*@2E7L63%;MD}@ za7j1TtR4yyES37_k>tv7v-QN1AS@n0l4yP!zk6I(Z)^v5_OzC+xE^BB4P6OYmeowir z-pHe&7=s5}Qw4t87qlUCus)TfCGN_;w5;W^8Q~ zL%~Cl$r5iJ)?H2!+=ucb++m!*BgRw`akIZqn*%846lp2u8Is=Lx5z>&aAM{+mTPM) ze?PlHFv(=-C^T)u&xHrEGIJjTnc79UQTL1sqrx0t!T}8#K6)&tH|;)#IsE0dfTf6A!3Sz5FT zpxv47^)9oWq)-SzhdRX7ZziXl_C`~Xsb|r3rqg_Y;K^jUlUn?OmuGe`h? z5_)kj{slhGs^U=e`HX}wml6XCTQ2pzXCV_57X; zP()xZ-%B!6fH2)(3K8rd^m&w0RF|_)RUniha;Isg9@_%JGBvButWvs^u$I)fY`47$ zkfwJkbdizPLX5>ecLX?4VpT=9UB&bCml)&O7i!Nx~NzplOXkvn_mSOoQ%7AHOk$G1-$W4bSqOQ|*VfWLQyzlrZT)>G69UazGDD?tMP0ZOxr+w1y zOWC1ylG1|&p{Gh#%I(eMg&K$d)@xyKtbj!awmi&Q+zQ`%$-gQ!=ZBZV)4$<^d?LaL zCCEKCn)!S2S+khx1tAc`bb^&~be{CwWPMBX*=vJMIfP#40Hin-dtcfMklVBKxjbc8 zeK#+AKnV@7zL9zcE`5&8p8di_pSW0LdnFsTNbI9Af6Cb|WEI5P@2Gk33(dX3>3-G7 z)3Hu(Vjo#-m0>}card=WlTZ+c`B6X7GB8c~pv3_=oYHf3U{K-pxqjuR;6I4q>{`-L zZcTzrr?DmXg!-8YlnDEa`{;o)uT>K|I!D|F(O6iGQ%Vn4DACc$O&9}LE)a3NM01b9yIg}TBN)_f-5R5R9&iIwJ(Fpvt9KT2odr?* zy|4Zt1kZVt&{c2C7b=$3_?xknzQXBEqARnVdfd9b<17m$`%%iMZ0Kg-uP>AM>bN}U zfRp!)86Kd7>pApdh079dIN&8FLoTQG0Zk$lVP&uB-59Pom5L%;Oa4G8y-S7XcUi|s z6$L;g(=j}ZJ5AA?Ml};W5EdN|q z$xgW~eLom+d$>Pj}1)Nt`Z(D9V`OjhYA9ekWqZr)p2KRGoy-PRlM_uf0 z%>ENOX@clz)lh0$qzuhf8$^3&B1)S9FAK?@$=(=Tnpu5cSr(B9X)luxpOI>Tg`jLm z{%b4R6x}5pDucz6U;HHZOR|};RNufNHq#XuOyDSF0Vpw`#0JR!KyeMr-tN#SY!zlW z@X)XS#9J(`tBsi>M{56~2T;qGfqzW0^6h;Oi;!a9*= zepku$Vr@R^zyD;af1y~rmugl{;~`W`lu|@QCO$h1tEIADt!=Zf=M=^-Ihe&{Vkvct zHUtKV^OMvDJ6IOROJgA7e|C{bBiddrG_Mz*H);9u_*&85fH)JfX9r6(gd${Ba6Um^ z6c>5+-GYMhQF!QEIa=U6pi^#6^JRwwpv1OhyX+&}`tGJx^H;d=)`~iK>_&(FoOhXa zV;J(D@%DPLr5uYGb(`Ilv-&M)pGYP@@ZU_glH)T6c^inM5k_mCl*8A#aUO>O%Fz+fTzsdMrR$iZ=x?qc{ZV+IQ@FMG4}5q_`YDSfQJMKCEK{1WG|AY8gIMB(Ttt$ zZN=W&7nR~o|D0Cm>AM;L>-bOffqC?LDv=_B5?k?BCIre0<+Qlims{uP5yL>U)R%K=S$imuRH5 z^NA1mhXyDN9e5}VU98q68GrDH?mr46j&Zl=oj@YDL_fagB)Zcg1I?{_8Z^a43nw=u z4r?p?nZ+a^{f+PZgn2~kGc1H0^fHOX>4}GjdwT9UIC$P?>s~l+S;h)P3 zu!zX6UqGSDYdJj=NZ@_|XPo(~vWPU5e$n)GFL~D&U9G^Q7m8~pNAler1M-}Mpk1%M zbL7+JozH3aq|5XEV08S9MK0W{3*mJn=7+y~_Foi`rD8%G^pbRA#4`o1 z53G>D3H*xkc@+8y6MV^R|+?+LvHV9{9@SR{-Wsru6%m; zTF=oyZ3tQ5g%l?6bK(NwG$5=PO@3+aDXmjuWlu=vBiq_noL>B&rML?EE`F~lC^y&@ ziSv75H;-sQK}}t9bIsWnXVQr~>`vF}jM^-N+}>&o|9q3U9!8RKpp?M+bBp}3o>fzp~0+^G|6)wbzI$r%IFDE%#s!+uMUMFA+5 zg^V>Sn_xGrlKhm)?+bd}mg_@!j*JIhF`i8s{Kb{gZ+mZEs>*7d6~cilN6Aq*5NO3xi7e)HC~0&V=Bp0d;G0GNLk`bv z*zLagnOAg<>@VadOV`7`;3Am&UCT%I(p0x&EFIxD)nPgw!&wK!qqOf$$W#ML`Wceq ze3-sR48Bd0Pwh-x-}5^hy1dXGYgB5FA(!!+j-^Q zs(%-4+$y3hF7EF21dm2fv6#Pa>2cf`dsdQ|+q~eE^n?y;*L&keaz^wcXVF{yogWn{ zY6LNbCOqYE<}9f2&yC+r)6$rPdKlVT=2e}3e-3&|3rA{l zUPoo^aqKPcp582@irSPLp)LGwo5PsnnG|?heI6*d?oB2LQ{A6)e@f7ITHJ1}JNeF( zZJaRQbGP|VJ}vHPsI?%^na=q4yI%#P=mgJHoucTda(|-Cu86~W=)hSK4n;(aO~B=v zjJdqRdWKeiOi6WXW#oc+_bv13yqo2)=Q5?L%NKKOIgs+N=#hC($+byr2