From 66a0d09e72b078da5820820aa5c6a2a7d7430507 Mon Sep 17 00:00:00 2001 From: Hamilton Kibbe Date: Thu, 21 Jan 2016 04:39:55 -0500 Subject: [PATCH] Add support for mirrored rendering - The default theme now renders the bottom layers mirrored. - see https://github.com/curtacircuitos/pcb-tools/blob/master/examples/pcb_bottom.png for an example. --- examples/pcb_bottom.png | Bin 39174 -> 40567 bytes gerber/render/cairo_backend.py | 19 ++++++++++++------- gerber/render/theme.py | 11 ++++++----- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/examples/pcb_bottom.png b/examples/pcb_bottom.png index 1e8c369da80d4911b22f2e5f7cde23358b514d64..b2dab0c941f76a675f45779d925251bcc5457ed1 100644 GIT binary patch literal 40567 zcmeAS@N?(olHy`uVBq!ia0y~yU|Pn&z<7v*iGhJ()08=q3=9lxN#5=*4F5rJ!QSPQ z85k58JY5_^D(1YoTRB4|yj0^yaq`)YJKJxq-n}b&?LC#!)l0*iy&D)jIW|fpm-X=6 z;E~(^@%cw-dwt{gGt)o+F-$goe^&a~ypKJ-sSh@ukjPjgv8w0&Z}d`AQ&ZiZ%nN<~z1?o5XsPn9RYrbC_CBBI{Oyo!gMbsqLf^Nh6_Z|m zHC1R4a9Sa4@I<*qz$u!kt)@l5DZ~4~gnj`hj$BTOPl8Sy3w0Tt?VLCix2PtZaOY5L z*~Y^2lS8rP!n6iOdBqliTS91>A5_&c-hDRtsmB3-j+b9suefQ(cBp&JI=1o6lM4ce zzq~9}YI)`HwCH5cxtHOUs+v+f*Y;ZmdQA`3TpF>-e$9!`$rB9@n^YWpedk2&X@j#r zBkmZSjf?mA&hx5&m1WC>4228ZKguz1C?-!dVCZpGl6WsD72vpj`dUGbm3&8qQcN`h z7QEh{wIXm2JA>1S0)rPBPcCj)yW-ByiND2;Z&H33uzvlb)!VK`+a2F@;d|niKQ4zh zGXHUO;@HXJs5$lij7+{H$p{UHQ%%|WQ&>7!80C9@CAKgyGw>*yz4vPoaN<~c<=u&G z@p4w?MfV>?Y`Z@FLTI%1lhAk>)&& z&)>!rKX-cJe?V?qBM}+t8>v~toJ1<3f!{+PLFNQ8lO%+jHt+6ci zqfB)6-nHx@vHeRgX|F6%TOUxBdr)V!NYKuhg&~hD=jA_?bT#iO(UbRH9=x;0YQF#T z&yubed7D#b9Q?aR>B@Glr9n26LlrhU`2D^1`~L5R+wbnZxY_!&0ehLxT?@;Pla1|_ z#m>((V(?fLk^W)k)2Ul_KFUZju#8P)mh=Cs*>bM;PCM7qOG!!-PipVoH({OEp)b?8 zf2K~kG-+9?$Wa5|?cOc-{_dL={AKdZIeD{GPoyOnGIK{poN|t7wP7$2o3AbM`RF3| zNpsfCdD*scj*qI*%`Ia77h6r{p1*KZrgv&a*wwE=2eqbzG(I={pnSz`v$mn|7RidA z$=~n(eV3e{QSrya!bFVIzU)_~KF>=j-YWB+1+JmKS}WDuz8#owVn>YhdeO4HCw0j) zo&_0AJ@r&~wHw>hXVY3-|bT+V%-^gX_y0op)28zPR=GSBpU7`v>3MuYTDXafYc_@Z2k> zSAX;Oz5ch@y(X{xsiAA=-8q`8`{ zOL{cVF2{@}ATMXiS|pY2~Lk-s{&dJwD0cuK3C9TBoaD zcTSB64BcI@?rBI@&@PteZEi91|DRdz?)3GPk{NH9M9`>-O!r7!>>5?cL50 zz5O#hUR9*;=5zihwJcRvZPHS{_g74GR|f=r7SR9LdH??n_cwc@Kg)d2xBtU{ zH3MJY>*iKQGtZjZ7S&|0FH*dsbk~I80E4N}2lJ0l73W`P;bpiIC0}saC|Z8!vU9z6 zqCb|X%{=?Y&)7a!Ne`(5T;+-c)K@ws-p*7N=&4?peh-@EXk z*`3h1$bTnp-~aZ%?t44qj0mq~+j#lc+8;AG+q1~Tev?&Tkm>XvzqA@sBX?a~e*Qhj z*O<^_{yW!kvu4*?t(8?eADzJH;CVUAZvA$gaBiyA*5+l!%HLg-CLgWXFIaPW{qZepc21qTa^poayOQbGSxq$VL}aJ! zTbO(J@N&QTObnN|T+3f%?6dml#O+mH+D^I~%+7JnkBs|y@cex1kGGD7=)Ir1l-YXO zz3S&1V;?7*njgKY!@eo-(9XpZvtQjgad-Mj?UyzCu7_XTZ}7z2fiZ1*_%>ett*^K5 zS(43=(Dbm(bhGlgw?&Z&3=WREYv)^SUUBu;366!&Ubwy8bIU!x;^RVhxzN(RGBJ~H z-np#qZ(IE8%<=cNzpLL{ZToj~@3VU|XPsyCb6>ZzSh;-Ws+S*qmR%3Oc-`QMdD@I; zK}MERag%w|Bd??-+BtbVy(a!R%1kDA-Fp>hkDrY-j~|7t?c0;4<5eBu%DvDo{Oikg zKezq4GqZT=#^R}|k@2-(4EG+^PwhB6XNXoZkBkWTp?VeB6a1e*;`#R--_;?@az5);@$Iq-)>*0ryE{YyI{(`f^UD$Tsk%X&oA}WQU4CGDb9ELI@QGR(=0~K z3*Wv9xnxXMY`IdOvF)=*?&pQOUtPX?Ub+0!KF3u>Q>RT{*~YJtA=*}xE+%}kGh@r9 zdt%NU7L|cwtacB+zPVBN-~sR9)%8CvDBI79j9Yp0X{P4PKey#=KIPm0ah&*^G2!}= z8@KbVW%fVVcyqz6e$&vWUT^CMLMe*Q{j$G(bpS6hE*hm9q=EAD=~i zeOYEwR6AFC=i-vXZ%VkgoMm^eGk&#vv(?nVDQ(HA+^p8=CfC^Bn}MQt#U0P}r!M~e zZTItl^)>f^wnV#+ebx7iUQGKceJ6X`Bg1R9v&;>Pd_jg?`WdrcKk>tZs5)bfrQMw= zp{sZGZriwtCwTv-ZTH{i&ES4eeEM6^>+3NNua%?4u9|6Rv=4LSxmcycttxKYp!p@ap#Ztgh6^Bnj!gxx!B0{C!O~ z7G3*wg2y@M8K+Xqt0RXx7rw~f_ulrK`=*w}G2s z5#xVp{x{X1j%b^Hzsq<)_V>3w*L9)icA9Me@TYV2%Q-r`T@vp)yM?~@b5~Ywi3<67 z>^|4VYZh-`owqP2^8kCW%yTQ7eZGng*Fzuv#KMkuXlLyqIy1*wgJO*x#KGH0kC zs8En<^5l%tossMwn5$NN#N@1tS@o|Ul6SZ6mHEW@U^4%m`qaXeS>J1JdT4xkS-v-T z$3BySy0mA%&)aR6%}c-e;Mauxb``hfB^9qM`WCup-CXnQ%MR`~FKREz_1Zt5IiUF0 z_lJJ%mu&VFvCcbv;E>z>cUmHAWOV!w>!&@~!6kctkE7<*lH+TiXQ@4_PR-}VkDTCG7$%UARc9j|R66(Ok9j#! z&kpq7;hb_wZ_Dww{~4~#v8z4oeK3bd@75o;_2CUqLM!Z8f(38f{N`so_0rEf0R}sM z&0m%(`C7>;a`uDd$gR__+D`g%TmHw>{yU$yT@GKD@~LvWx7CK^EEAbq8Y=7cw`><& zt{lEez|%{YIX{ zW?oS%=eLUU{z(43lT&7=?L6@P)*aT%m7KqdFJIRC z!02%Hj(NYz&M(v4?rAJt_f~mw-(7Q_%V)%`ELPh`Fs|VIYq~MN$&g!r`@gqwp$%V5 z_N;JT8Ot2DQRnm>1>-#BujX%Vsu!5n^=6e_apfpwS3FQSN7~8DvHIts?7n?vd8%cV zi5Iy8omQPbF}+e{<vgWqv3c?3#9J4~w-K#(8F?N2zMj^#<1LPi zcz5TA>xm-|9tph3`+Z_oV#cn(nG2RnXP>$y?4+grZ3=fNm%@1+bK_c*y<2n|q!}#M z9h0#;y+OAx=I_C!3$CtG>=MvY&JKUgp}6?r2PYdlHuio0Zal8*e?IRv|8@C?N3zBL zpU;>vi@@ zoljY1r~CC~Tj8%yQyJbg@?QJY9Ov(roB5>S`tE1-0tb43b66^MIvsf2Xw!3vx&G_i z`kfZ`|5ty%`*`A#ukNqfKHgnk_wB=D|F*Sr86~E>6fTbZ8~XTS$IhI{Wz7?vQ<91@ zGHSQ};p;uKiRbprpO3%Jo^U(q0`mmr9G0?g-?$hOIL}RAF!QgX-^vO62P$s2FP-x1 z&ZfVQeJ>l8oN%5~@GQ$z&RVYi<u@Y^zO2>cOn&$D!oK7pw(pKhYZ}v60;l>d< zDK;rEG&1;;!;dq6e#-Cr@#f&&-A>u_mruTV=l_rR|DT=~UtavBLEf#hPrBbtDsQf8 z%Z^yRy+=-(gveP=JzcD$-Pv^Dv)9U!%EXTwZ`kHo2VMr8DJ^na8YF1MrE*sw>-`2lX^UUB?|K%wBs~8&`dS;FV3rvl*z!L-<`GqE8845N z@5!>xBPs~u4gP!s&@_kecrw=_KZ>Bj3<#{_jW{B@Skz2GUZ@nGq2pR{LF%yYMkeHh znfs%9Lg=1yJW1~V^CAY?~zxTt@ ze7ilHmiQf7E7S4#qQ~JRJDcN%El;mLcy(g3b6{a^<(fsS?7ltnUaichKD{SS^( z7R8jmV$yx7x2KvPHtIR?dC`Gxru);w%k~o;v&TAYn~P!cFzBNgjKlQP34o$3lknY3OcQD zm$}NZDf2Rm!tW}XPu;O6C$G8G`NZe0fy%{?kEUsG1S=o*J}I)oIZoo&QGahIyNCQ- zGVVT;pBeo+z5LPc2NDc|6?rBi>voFQD=W^wuDer6^5SZ~sb_NDWEK5;wT4xV(TyQf zB5$Ii!Y8K_&tIS1B;&+!Gki09W;e*A>yInOH|uS+UAM$}B2#XDv-0Jb&4*GXmW8gC zU_ERQYPpW*aF6Suw!~$hekRHJ$;E%ZGV^3~-gJ>qmD%g0W-JTc8Cd%FfztVY*F$ZY zVqT3sLT2l>GbeCxR@~WiI<&a=fXUf!dNUNam>Ti~uR9$0-@xnOCY|TA&vBlfU^V&e zvecQ&SkFFLR+^W>zA7)HHRyNocc`Q8zj1w<$aRHf?^#ZfZ2PM+$C)fDl%HFeMP+N= zeP4L}PJR5bO+Is-V%PJZ+hn&rXMYjH=}miMw>W2bD;{~5ep7H-;;e{*H*ZgrmORp} z|IDIryDGY*)$Hzs9j;Te4Q^x9*vpjR#&k8rZIc$~v_TuVDsTKjJ6U*+k z)f}>z`8RLzw(UKad)~c$2_C6;Y+ zoq3?pYq$T#Or{C7wtPRCPTc+9_gP_kt=vAX1oJi19_JJ|NwoiLcrC~j+P_6daZQ7^ zHOE3mh0b*$diU=cn)@0{fjqUER7s* zUL85XbUe{twngBTN#kRyElpNC7*DLM}kmz5E#rMXUOq z>=+CV_#R5s=h>d^AlY>LVVRuO)@$dCcus#?CNAv6k!#9yellO`N8SWblT+78IN{jC zXCf>~1s9v1{oW&}kT|33fZvNJC0%cdLi_R}r{yK(TeS#e@iQregj`RTJf`fq(`k9t zL!K~(tftKq&Tm|!!qqw{%k1`vtIHI8suXrHt$&)pI!D~Iz&V5CTgQWUN4AE3s=hX- zDN$nMT~$RvCyupUKmPtq+PFB^mra$y^q}L3@6|Sf|F?#0of@*M_C%l$L-mkNVn_UB^}(@b+!`pxaR6+i4b|Mr}g*JWiMJ*N{9 zDluQ%cR0!`&Q|HHeLP#qI`2bB?v7dWb!|So=*+%q{>!Q5lmSEN--Tyu+}I}zy)JiV z+bj1we&0+N=6~nj^15ae7gz82UYAhxJn#K4{)<1B{PC8b!{Kh|&1TxhxMI@T30E#z zu^ittSG)ek_L!yzQ=i1evpO+%3KZREUL1FS*3YA-#6>P1z4!gV3WW!0;a3>g7MQ-- z`_y{IjqMt#S$kjTt4;dGE?LqtVPV38^Ih5trWNQso^&(lq)ADP$GaVOtM{(f|G2T_ z*Xn+|Z=YJb+cM>D7=C^5_q#8jE2m-}fBET$5A^4GfB6;^`2R4&mQ!hRGbeAY@w)z9 zds?jCdY$t0!*TW!oUE03XU)$Vob3~9b&x$|U{Kn;C3m{Ez^-r1XVcH#)L!cS+`FxD zeX(C7k(}NH=Dha&wJpJ$MzWe@Q z-tm9YUyFHD9@{b;F_z4}`z69=a%?R}f#;4n{W%92LhKG)v-sv8nf~jRD#zi47oPbg z^|Sop**x=qQ}l7^cU?dJTvytaCt+Xx^o#wUFDK{A*#`z({UqO|^m*BKzOV0?%ypfY zFROfOCdB*W`u!zJb@yN8E(y8w=Y8%9T>}Qj1Haf`%$lWtG}yJQ)A`_mBBRv$1B{Q# zcJ47sdzsIcXI_4IUN-+}?~_l&_x<{Mb85uTLbG4O|K)4`EVe%G#;K^BeCb0+cI8U* zt#)SGTqfJr^!4myc+gi{{r_X<@@MPTKV^2f@Y=R2LH@J>!-6M0O-;U<6JsSBa*~uc zTzYU!R{oTHY<#u1Rl@})b zY%Y5il9pJv`L1Vxd+tYuDd(O`t4&f*+{OE{daBDjc|Nx3!Ly$Sb_*C;nzTHuyZqtT zI^UPUUgzWHt~>S1(%LpTMnCH1=hF4g$F3DVtSNi%`|rgB4u*>j|I6*aFh-a+uXxfE zte-!xn&Xuej|1;k_1g85+@~?k^9>T|Or4o~SmM24mbBMHb^Dk#S}UU~^EIcQk+P^q5^Ze)49%cFK@#OMF8#9!e)%FLil3agZK+D(<1ILB;M?_Hp83sI?vo#FkGYs=as6rje&1Za|NOcmr!N1# z*zkYy`pW8Cety?q4c6NAa&o9}9uYUE*%`DzM^M!?ewM3hPz5ZTp|B5N%`Y z4%cb8nx5hIq)^{3i=W3~t9wC-rk{KNk6N44$BZSH$KTM_Io#9Ye1omLxccGDA179X z=xsY(d}prt{gBdzRZ;%7`|fmmJ9BJ3JB`c1?C|Dh-zvrV+dE$ua5kxMty(v`HeTSO zD#zoA8yfV>X3x#M^iuoOj~1Pirt_v3M?Svz{`~Ub8=GVoHf}Fv3Wy4PlXEHi`My8B zA7q|SzN>S3ipk!5>kB{bd@9h0n0ltwOgnaSob7a7F`wyYP8vo3JL12wjQ;)UWZaJ9&pNE#+{5%cf>ynf-pAHy6aV>PL(nX3k;gNA;%o0q zI=LNAoE{NdI5%jOblX`I50f1dZ5(=wR!(bOnashvPgkgcrEhhO%Z^Puu58$TA^Sth z_7gt z_%v&1?{eeSThCfICP%KYNTs zR}pf$qc^?!h^wZlu6DSFhHB{L+moX_8EW#%54_$Oye;4|Z`SwUZ30di2?7k$Qg4=O zer%R*u!^f)uT{JLZR<%6MVZrVd+#l{?yaetS><`zYu2)?S&Mb2@*Lj4qs-Y9J;|jp z{=f0PjsuT(**S6Kx<;!od{wAD|7@p9;DmMWqc89-UXr4nA6+)pIgj(JWKOmyMPnN)&vEn31?M~^qHJ@K96&I zLNqkO*6RzDa-J{ZxqR|fb?D1#rSsOdk0=%!@u8Z?TcCjwzuzoTJS;qylPeT z$`!wJ$}T0p2|suIRW*m=6>al(U#Iy2^ztkFc~92;?>_N)l7`nJjZUU@?g}kzQpbg-?Jbka-bo@$ zS5I$eYh66y{?5}Ye9h04=uOub%Uu@~5>y&{^=pZpKgYz_q!X`2tM(jaP;8l%^5Tj~ zrsXSl=6_$gHwo^~|9W>>$dR>G(R|JwbLUshFS}&yTWmOSPGsCUF)rUDzrCgeEsdBJ z+j;i*qgj2EV>uQcbZ$I0ZT;JQyOZzVTbQt*=#$ZluX45<*6*3M@<~rq(B2oFX122% zH@)<$S}mMZ>SH3)$-Gc{wdSOsQ`FdEM(a>l3A#Ctq!tAj~46 z@TIC%kEtce?%jf)N4>k-S?_yTsB}K6|M8?b{`be^!5{{Q^$SjX^(7@{4c2X`26G>c@Q{M)iMAEL!%^ z>0elivCZbdO{br+#GiPc`?TqmflslS*yY{PTkdaK(-Sm-W#Z!vR{BmE3@>JtessF` z_+it+SG^vajZgX4ZJ6Qrc*;MqsbN#v7TR!L-n)LEyXM^fqt%}d`D(^`sBG)!d8}5~ za={_M`|-`?Aa5GlXxxS2`bl)^5f! zQ~7@By|WXRPdTTv-p57xwfLt{-|crN2rR5SSQvBGJ;G~cYG8Lzn?ReQsr-H2?y|~F zyr$}6myl&;nvF9~EKPf`H2Qn~@5}dpT=BIo zXR(nBd{CSBv#s-Exs2^3%_nj5to5Q3#VkBUs%!UhEPS@~(@(SXH{tu92ftD{+n#(q zMe;?Ppm%ysU9Q}t(*<$ulP163)7CV#>86ej@4-C#o|``>^(;Cu$$Q<7zm~sdD_zm% zIb87Ob^kW8tw}4taK+r%sr#u~{;$CCO}i3p>c9O-QWE_5yI<~xdiSIBd!HTLPR_R| z4Lfl%E^^(O1XJJa+T~s?0smKUtts1o>fgf9m({-ID?67Pmpv2JxFE4-TFcC5=Qf>U zsTDk@H9@Aawk+=Z{^YeeFFPeB#Yu<+Y+kZXPIlVzg?}PG|n-(kgUGIzh zyJ(fzm1C1Xi>zU_xLUO*eroGd$%>OKYadSBm3Sk*#9@VfX4|~>9~CAwhksZw)I4>! zpVzM*CcicL<(d2cKLmzeceZ=4ySwa}V%V0CD_uCg>dyZ9ZTDSI{fT!Ce!lxE+-S-Q@hr88GaTZwGv>BC(>{bv=fK z?>6XgH{AGrB8Y(@XLb7ph0Q-1-@Pij8)S6#!wi!%sfjC#uLm@Q$mp5c=uAABlpkoa zqoVJz?Mh2%7jVo8KI{W?i@@>;E|4o|~UNK?gGZUw1$M4rb8Cc3!?o~ic8~55d zNBdY}be(oRO#GQ-e49n!6+7elXq`q}=>uX%3mGS5F{ z^K!lTj}9tNK3|pPSKK0L@oLHSOTG(NtnymvC=lCXETyq_&e3H;Pnrzk_HPq7zHx`U zJg-KZ!Oj}b=0~f&r{AmkG2y)K{=eG}-)?JP=H`B{>h{|GALo_xvNAJ#n127~^Ba@I z8f7mw>=*XkEZ}r^VyMXJWBY2@742W-t`zZCn!NVD-ExkZ5-~YdHSRtaSUz+-SXtbY zID;{NFSEd_=oW_ag<%&>=kB$Tjo$P5+3bk6n`Sm83CFMWU7Ywy>`%V^$197^%g%3T z7R=|EpC>4lu`*`2_s2DFm$2`O)c-n{AtdbE2A$Op^%khaY^^t3>wQ2}p69ydfh{_r z*N=Aj{%lJ$tLbrC5gyUDLG)^c&7>#O_e?%|c=@@x>ni_jR@cjEJ}h@n{!^v)|2tcB zgoS?yZt7KBvPmGUJb=r0PqX!^ec_Q^>@B5t(_RO7@jlwi8723~Pj6YM))VgurH*^A zaxINm#q(3<`dfJ|r?nrd_xw!CJhbcYP4(p6-+w9vF8p(4o>%7dxU-d)f0t}v$}7Jb zzLBT-W(~*IbD*_py<)qLZsHNFn3ulu>*@<<&+fG5xNTPc>-v=sqW0XUdB30A8Y?#K zRr{YstC%WY%QOVoCrdIhu$;JgdFJNj#yZ|HLeW|?mpL*vFfb=iQ$Jm|eYcx;1arsq#KS_rwrt&R>a;g?x$=}{uN6FFcSy9D z?OhWT;ko=#fhFhV-^D)ct9-RIeE#>#fyUK~ zGb5+IH3+-ub2#6swm++C@9s{GJ^##eW^ko6r8zxbRWo;iqa#!OUgnZmk(R6fLrm|M z%~WpL)hpokKwIk3%@c=KpYpiMd-;%D6^H2|1D*Y5yR{c#;4YQa5+#R4lGFaAs2 zGM(?}FU9>?wucYims%LN`EvB+HGg@ZTZ-kF%yHoeJtgkFv80O6udipP-S?I8pLag} z*0;Yn=S%(Xv*-W(yuQEm)z!x;^(~4jFS6CnuQ@s4y~p9-eRIRiWs}UTOxtx`E*{vl zc`aMDv+@-suS}h(UI#=^rq{g-<~Qs4-j-?i@6u`ic@~wWg(nx4BxzJ#*EPRe{-n%P zSGqfH^^&5U_Wy3T|N9lcum0Ps630;QS!IQJ{}#H-{aw8O z-|W^dzU!tRWxiX>|CuVYIi@LR-;ZB!cBJl}*48}Xeu?O;Ra+iLiC^5@>2m4Cm9N@t zN>|RmQol20rCFaN$JL1^(u_B3NUr&D;-2l-eiNV1-S;bgT%CFIt8DtR>C^uId3}Ek z&lA&JX*sL1%l|~qtX*>HXVS$jI=L+Ucg-@J);T&d9QSOxn=$Y9h8%frr@3c8%Bngvmx}w` zcW&-Z&t3A~a^;*}fmMeDjizLL{~r^>jP9ea{HxC&f5f}{Om%AHgG%99D@C3w z%)5E#Wqk1AY0O3}v*h+69;?Y!+_BxzO(7hF7W%&C_OZEc~UDwef(ULZ{ER zhX<1tlZV$7DG0eK5QBa`ij? z9Wz=dDDx=hoqVe6Hs9*wsp|JR6Sn-{cDQ|B#m^%@qh^0$Ncer?gY99tqLzO z2Qo)iL!_u>Vd zzW%(MXWtV$GrsQQpVeRcQzE~8xBIow_O{w}_UUhx5AXlKvA;s<>yBBGah2b`+*I)4 zVP%%{Op3}56!Us5+uMT1a*4b(@rwh> zcG?(~NjNk6T>VnB(Sw7tD%&R`RrKf=v2R-c>A4g(d@;>S-bu{kN{ zgp=v`rmycEZ9EQdNas9fDRpzDK~DY^TYe73xXiQXdtScN*`GM8by8Ho)lZZ7ojX*z zCV9u~@1B+D!LKd0xbE7KH8Ioc&kNp?NtvFlBC_aYb1}Di{d@iY@9RJR`@Z#_&Gw+3 zmG2%UUsKG&HKvwmh$`kbcr_L&c&W~xP`H~#@yS=Ob!@Zc1eqA_xvARf9BmGWu29i@ z!#m;5!-`*@=GXjO{d<|(`+Z+8{FA+{TvuQGdv7U9RTuyH^2N6W?cqh&W0r50TrbmF z^ZWRPY})doh}l}IZZ?x_WVpUP;kwAMG5Gu9RS)!>R%9y9_kU2K zc9!MEk55;3?%(+<;`Pl;n;kX+Gn*Fc6|~pvt?P@l>z`(e^8OHi#G7QvXvD}a z{-C7#`1wg~i%>7 z99N&`C;t3+_jZF!HK~l4`+~WtW#8UrwDIlDE^54>_IRS|&8MftL?S=FIL0d`VKrrz zZ-BDRj)(`5)4rbEbpP$T%ch6Zr0OOs&JW63uCLBuz_ap>j85mG+fReMmi~%&ZIEoA z9sVFmXxZENMAc^`@BB4B1dA`O^xu2mO)#y4Wl*Iq)amYaOp(H7x(!; z-Y!fiWqq{Z`tN<_cfWqS%~$_Xnt%T8FG?Ej5>AKe;-4DMT9+(4b#2d@w@cEO&&Uhi zG%s&P*zfw=g15Fvw5`-?IB1~q;3JET-04NjQq6MYGZ!ggsV?*hMewtkM%4F~uS_SQ*kt^5;V5oG%De4)3p|4|Xjx(h-D_!B^ah6!NzbJLrtbN<9{EocuUwXNWugtlEeUBmMWz89; zj^!mvY&RHs+7sLVn$_BE&slyyjh=|s*itIKmU?z zpI!d$$CusrcGjlMNS$&2_lx$r-}`GcC&vqH&UUhMnp$zsP2E=dxI)XXIcGoIS-QSu$J>3?EUuG_OwCSF8OWptV=_@4qPpl z+na16!_;upH=A4};PiJ5^U?~9)~+vmiymz3PmbuTwmr6)$JkP2 zZoj(8^2ZG?+5m{#zt~iC z4sX!?FZ*@@1KWy;uXldu?rh17l)k%0b7}X-BM~ZRgoHl+7T)Z2m67N0mVb*KXE)D1 zGG$fmPn-0`HT+I1md`r(@V(=&xT`ZBUp!Hxb8q#E^8!Xfe77?#u30|)l)l>Vo?l;S zoTuH|3-Uh#@#TV~d-ycuWxXK#dbW7--IrZtpp(cjO@`Xeib@pPZ- zA?}YZ-xu2{rl`ogs+2bL(qvCknyvl+d4@$y-i?6IuJZ+q#Q3J0#~-~M$#-Wl+6{tdpZ%xJHu60Z{%7crwn z*=aMY(1m5`>Za?RIkh=*eN}yeZuj$(=P{w!2WwybaM!G@?OpI{_nUyH z0T~7Ymy*_I{8^}+a`_kQR~NO}r=BBsnBHcu{=8>?->j3;dnZ+^NM!AL9sN1`=iC=hDL8edl%CYxni)%}eZfJBcmVnS--(uUFag{(1Eu=jQK7Hj$CzW3~T3 z)8F>XiN*SJtmFNjD!1I(l>L0U+>ZL&9|C@g{+FLuVZ>v7XHs|k?rHZ8&fLyFefyCx z^DE1HZu8u)x{3Z-xLEE{#4**)ODAQ%Xx@HLc3(u1v7d(GB;n-?<#N zeCD*$(!xweKi0OF;&q>mSF@IH?lRiECn?a%QiQj{=4tiD%vtmQ|6U)vW5x}>?Y?}x zH}yB|PK=KGz}b*nX|5Q0`FWC|(}{B%rDjK^hliQmmAF^2N?_r;1c^=G8}iTF#amSE zy;c!b{kG=a8Ewg0hot(z(C3doMq1bzJ^OWMdEMFPdG-2XzSlt=6RWSU{*+l5J>d@B zdS!N8RGx+7KPj7&ZYT9-zrXCbetCBPf1Se>Dl7lQUgq6A)w~W=Zo4@xY&iaS#SedT z!xjOio>#E}Y4hv9URi7YPVauJtD^)LTf4KPr^xC1f7S&3ICOnq;k!$ZRAjz+#_d0T zH{(tArJsL_jHViii9hh+iTm8rdxGPA{{*4wb2MX49NLsBwD*L>vZvEFG`&|__^N7O zgi6bmoDFkBMJ{i0iF;AWrhV&_P29i6@4fGDKA(Jdy}!w>m^U|C_WX8xf2d|*ghYd# z|L2VrJ#o)!PKn$7mbNQzzP%}Nmi^D8ANBt~XpjH*kAMH)Bf;nA+lGf+eS7$D&E2=g zI;Z!2T=rLgPnFs{?+vT$pG1FN==b~+FLSEUve~)wybor?@785%NzC$5FVd0z_*=Pd z|FYMrzWS?H1!>*n`JXr4TgY{~0*B4^i<7yQCS2q#KTsZJsayZmzBz7vYT$|c+jf*Z zEC1L3|8?x~dj;<&-ga|Zc$Hb`=9|g-^Z&dHw%^>fPSfJix_BdQI z|J2iekEHqcTN&@R+Fw_g_wUi2KmPsmfBfyQO)-&K^*QTo@tyZIAHqR9VMMp6O-;)9 z`t{5vo!O#WWPIMdmyk`JaZmq~XlUr=-bw3bzBaSo#G}l$=Ro147g86VdMu5I@>2UO z(0}-;P)fV=!H)aqjeL|Q$9kx+XtgJvVpmR_zdtK%d0&dz>=UW$wm<#* zf;!E2mL7duaOC}`-WF$5e&?^OPKOR2KKM3xlfov31gVldx5}qazkCYff2EWzqB`%~ zmH9WmSKry2soN-UAo`viXtS6&&s~Fg_SJQU6FYwVb?1K*9eY0}N~7-o?$3L7A3K&7 zp49z|^?t?2?*GrsU(09Cc=r6?w}qcYKkmEqZQ{f8|Bo%#TD|hxm;Lph9|o^iaZjwT zWV&H;c4^9~bJu2Hf8fcU|5G=OX?wRy*CdT!2j8`POQ>JLnE+c0Q0Tqx%>W0iM0dKYMSYs~fX7tfp@{@U zx4r+8bN{7ft1o&oa5oGtY_Kc382n^X;cs`7grjzC8X}kyJX< zblSN;fBEJA&X@mFQEC45$&}ss&ihgWQHK!pC)r^gLg<_I{1I3D_X3^Q#ix}QK8R4U z5##J{ajxsXow;YZ$fe4qJGbpo^*y|8&$pkC=dj0b70I$%qk?ecI1lkN*5+#%NOE_3^ zzl_ogx^KU_K<4(HJf_o|w6xcJvh;eTdUsCA-%|23 z$XGsPwnSS<-mNW@F9wHB2{-Tg8fnB)ddSH}FwRh|ebHC`XuqY)rcYMg+AJ^Q&Y`#{ z;HReX>EZ`vO1`_V9iLstoWF2#Tz&qV#8dw4e|KrGkCkX!`MFtRMV5AMCHGQ~)D!8y z{YP{QGaSz5Sl_?+0V8-47jHnDF3Hr*^EiagzG| zX=`FPKDO+8e_vc{%gTz1c*}djPJBMTw)J^u-#q@e^6gXcg%1-70-2`IcyY7!nreXz zw+!Q?6Df!Hz1r&+dQ53zidlM|%!cEOC${Bp+v((J&LcK!r?mBq8^>qGFt;a1EYGbx zJ=sri|9yt7`KKkmNKaGU^!wKLS6`m4etm!K`M90m+IgJ!%zNh=Vy*4Sh6o6B|d?IZx=ECSHJ(W@9L?{&Eczew|wWH_n5;#sp9;?I{3J#BsFfT0*<3H@RvK0xUUuqz@L~4koSKe+NJm4xIp^Qqe9qkPFyMoJ-RsTz zbFB9Z_`5LuTl`zw{N>bNX65{+KL4?Ke|53{+={1r%gsD))!%;T?7ydG(K)rf)p_=J z44&ARK3c-Qh~YuWWI2nf)5n=)nU5Qsot0aeEw^W#?)r?)+n6`$L%0!bZYs>_PFER$Dej4SZ}S?<~<=tReeG;H<%tBBT4~Y31avLnJaE=ikGW43tzpPos+-|y`>_ ze!#!CZ|dp~)2!ED)&BD!`aWm_UbtSYkTyM=5r^3NE~W&3zon@wK{-+r)Qt>213J*6z=!zQ1P z25HSduhkl}aD|BXveb<{o9iy^kYk$W>f39(vEt9V=)6y-Hn~sgle;nfM2fiZ$xr@s z1&Thj#s0tSZf9X?6;yZh|08qxZ<)c2iaGn!`7fDxUw-lATlW0o{l{w`KY4QR?QJK! z`>)hLe>wSO=jEGuaiU8n=!(4Be)Z$-yWeITDqZ26;*{fB`!(m=)W{KNz4J$SdE6Z{o0yx5OG~GVi~WDI`v2QcSAUpU$V^yO{ffcC zE%Q#H9p`1gSrF0BD>soj_^R6PZizv`mxvi5xxI@W z8t2)~tbBMgPyCMVs#{Jrar=+esXX{@p2gB6ut|C1$z`8*TEzGr`m%53$=&(3Tk4O0 z>$rbE=JL0qonJm18~e|<`Fd&f`kyaf2;6xw_0HkfaUU5Uym}OLxbyGz2PY3^uim`# zY4_2mDO&s+En+ks%S>dre%8pGR@-#*XT+T4MH0*Y7zlm(nYC~G)hVZ*KDzmZXOD@E z(%*~fc42qx-|t!z^y87ayj^`}p|uRB$G=ly)hG5P1Xxr=7Zjb+?c!mW!8UhpSX`y$ z-c3EZr2@D9d}@8?c-P&Jd+w7Rz@s;<;EWJ_s!h-vx2&28w+mgobYPfd%4I@CxQa6KH1`K zp10w^g@rB)cm7s?cIZ~G42{U1zoPQNa$ zUc^}Q{I&|$(o0E7k^gn=_k65oc3L3{?(uF3I5;b{$z|KA$n|YD{;u z@AcegaX;_oc?#URF-`od{j|(Eug(~fA<75KEDlCe|gpQWt-0!NXa(~yec-!erhWHNmIh?o!Sbuwl$fY8IdMaPls;Z z@wY#|PGj1+kaer3Mc=7=cbWg4l(hEt9e;nnx0TcAd)*coTAON`zxkC*>eFp|zHaYb z7Z(va+w{tFjtQss{@B%95ckz_-?bVc#V0b(Cw^W1Tec|SV)pi@R!c)(XM8)_$M7vC zbNZrH+b%sa3;)ulwdp&j;@e*r4R{haXq|Q_u6v&N#(aevN2w%Z+m@2(vMZka`K+=F zrQ0rxZJ%RhysX~4T+(XGg-6#`TvcXQWY}=oKX~)?VqwK6A?D^UZ|W?+m~!Iy zvaGc$Ud?uIxRO&C{n>rTx}&+JD??6i(we-DgK^$t8T-|N8s<&K-$GYhUuE_3=F2sq zQx|s5{UWfbKXvBUoxxL@R%L%Ial86;+muHSBg~{YJQiK}6>VO2>9y^8o$Z$%ZPWTb zFHs^eqjJ?WhtzBjlLc>l-b~*5+3SWU|H816B@fm~1`6?Vy}Q-2w4%yi;73^0on5g( zZwoI@JAS(&?{K1H$eq2;q}pP4uJbi82igoVNVF@Kj$Kll8t$@$U`4f%|z2G7dfPCP#=-aJY0U;O@Wy+z%( zGZa3&xBK?6H|kE^M``}-$~qA@XS?}lg9E(8g*z9mVstQga;r4iV_IaJ;;H}V@6BaD zSvZ%y>3`h3()(AhmYefUQs9VFa12r@owZ0~<|oDe)RR${ANAROx@G+E;Xk-2OW6R;V(`KbTDS_7_rfUW+Qk4@@outIkz|hgma-sZsZQ9eh`TsRG1jL5M zP7RGs|NfoZl_Mu5U2WCs*QdYV`@YZLC@hTYQ`@d-A(efzd)*3>zpYDLzJgEfslt}x zRm+}xEe*A>w0!&H$m0E3%dbVcfAjbM`~3coul9crO^>s!uW__|rf0opo$mAvGb^s1 zoFlii;bpb06UUWn$DUj2iSb0;Jbe1&^#32$+sEb>zAoO~|K@)9@7}GtdChV8vEJ3b z<{C?x;^(hl{_VpnrS?J z2g~{Y|CHse%3icxV^8ls>RxPwLN*^f?yHf%XiMC zycK!4gX4V3gni;)stPCE&-V-bVj;WcWr4Jzz0d4T0jC@dxtF}@KXj1e4S&bO&IE%8 z8+ZFFPduC1wvjJg$?%>1-(%~;_Z!Af(p$GKbknyvO%5D_mH%?L-~Dv!(^Ku4r|V`+ z3thYTh=Ylh*QPlqwsn4Im@r-C@|HV(>dW3MUNQB`)SB;q;As2(vgf>?i`Vl1n?61M z=k)3Q`Qi4u@sn))o|hJHUMsw+qVM;=lhY4v&^YO}E=0>Cb@tHZE{Hp;lcUd+jQ(MvW~@76~PfBxLY{{O?( z%WGdRwX6Si=J&m#^4IrIIe#uzdm%N2^+m|F!@AUy85E6*AG3~w|Mb7|2)@?G24vyu{WGb<9uOWn^;+m!0c z*znS0N#3)*qq?&=N}JMmo=TW;>xM@9a)o8GvG&u;uXysOe?8uFT2W7r?Y%|G++dLd zWzlidQuFrzd$92J;;+$PFL12x{cb#w;jgldFq2*=`zT@>YafH> zbM9RJd3`QX?tdkvrv`RC-IOPx!?Bh>dsXv<{>!zGPdwgdHZgg>u0F$#J3G4U%~C?Q zO1?M0l<9hzLE**M8|xpp2;AaJ3t#+SpTlgyd-R|vQ&G)^2k?X&|Xwgx%z3lI7Zkau? zuLgIg1h`pa7iHYIw}f4G+56b$?4Qm@3|Ml$TTNb){hs-EZYARa9n(r?!-$^pBRA%s zUw`a(gvN_Pvzs0Fl{8rtuQ=U!KRM{~^lS6#U*7q7ZD~csw7+-x>o>S+&Re#B_SR{S zJD>Z{pWAM|IyH#3ZDy~Vetyo4omc&Cz520d#~k~(l+d%{BFE-)SJ~Jcw{&^<=+!GX ztIJ>1>n`s*+Wu~5_j8NGM*cB1kFP#Hx@k$W>Ab*eu6y_^_eSI~F1+{1a$U$ZoveRP zK6RGgsavhFB`USN>ydTdZqqm4r-z0HiA+oU=Ii_SP4xS}H_q>~e~~MkQhNBu)!O6pY$Hp9(c@|lpEXfD?v%X;L`6f zuABcqe4n3t8`NDXm*4&P?(ugoUI@)v_y48%zAd}rA{vr?g$m!WzUW)^zS7_oe@|kR zYUH_TUaTu)bWTrNGh^COBOmwb6)b(Hy@mMC>D~HdbwHZC?ME&XXV#YgR`09ps$N|X ztj{?m+1DjJxv!Sp#$4{>?6#?0*?ad+Ta-C_CQpgP`@?l-t~;;LujpGWQlYycE~fg| z)#=ZYH{RmYv@XxAecW&V-CjS|^X%b^4VUlVNKlR5a@A&gv()e3%hXnD@4Vr;UfrTE zm*?TK)TdobV^%I{R&qYaFqP@4LrIfA!}jAZd4AXWUizY8>a*JLc#`qti7BbFalA(| zmg?p|eSLfD)4xyB?dl(X{lawTVDXrP(KWVXmjPgBhH*LYff7T(!?#Jx??=JZw7xKpccW$uf+@jhGUlFh#LW=@CQ7i3R{GHqWUDxH$zjs+tuiGZ-PCKWoZ(siD>h$yRUoNlY++p|N zo9o|y$5P&$mY$vKT$!F*`pwt>>#81xTYgsYC#HH$72D1wvh2{p3FnV*%-IzX;k~Tl z71!ZK@@lqz*If(}(l50JRb|#5W-6A9>+`i*om(k=b=%XY4iR%^9a*Jgru**upDWHA zui5vB*UhN<>XP^T`l}?ndLxmN?WZ}NIKH;5dYQd)irZ6}HDZbj9V^?_pB#MH=)v$z z=E1xhYTw0j+W+uf`y{!Ww=!`0q@6K-T4B+5>|D*W0 zx~JLa|0dW@<@;UBfB*Ni_IGw+o{f9{M!Yz*bJ40d8QIz8ufI#Y7nG6+d?2o_&YgNv zwX)>#0@gM@uGV+UE_3kniB(KXt<{@;|83r##no>EW~U!{wo_RtT4yQO&AzBRY;*qI zN^g3rlYi{1dG_P&xu>IRpMQCLTzB;<746i}wO_IeIGS$1EastHjuUo4g zx$D_KEanu55KAV z*#qt+mHEZqypglp@A^#*dFz*7`!geFIwdln^E)C_|7TUBGwdtWM2N{qbr#>M2x zS0Sf8de`M`f1Oa5|9z+Ry8ot6bLEcSv`U$l61o0m>*K}_b|ou~BDLvfGDLLvl72t< zbAIP-b5ANewV<6qTt)fb{@M33nYUli# zk4twoN%-&kG5P!b`uwNnWlGOpSUp)itM8-S!jFeGzB#~kv!-#8&9J?~Fgx-1_;dlA#GS!(C1s@D<{^B!kb#j~})3jiA+UKB} zZyR)+HBYRHYN%k+vzT*c;@{s)a{ivv&d2Q((x1~k<9Dxbv6jrL+X5@3+jcfDf86Lf zb<=83E9u^dX;aUMznYY``DoHp^%*CgJ=(ct(KgS!=@Lo>HFs6!s%X!B_S~Jh@mQ|Y z<4=>6Ov)_s3NFer_?%W^h@Im0de>yR!j8LFzPR`LoSr1I^tIUbw#;cMJ3nsGdh=yw z&Tiv!H+BY(!%t`JS+?iMvYAI$nicaaYeKT|Kz`0+f)Bp zP<`XdlB!SduDzdqth(ibUYfB(xyi=-&3pJ?^(@LV5~<0%ekg_K&DI@rd)-|6{@*xn z^Jnq%N$Gx1*{k=@RcxvGP#^u_*SdX|rG#&#D^2YG`{wZf_u~Jj-=B4jH~Ed%pS(4v zTbtf}{>bp*UiCX6)_>XO{}zC`%FylM2+ zR?l|U{R&%syX1Q{?dLVQl=QFINv__dr+rFVe97eF+*@wur(PD~I9g;m@$CltID;33 zSKseHo_3t$Yjk(n^JSSY+cr*?n$F`~(f2wrDPeo|&l@(|%PpoocJLAJn)?4vW%uog zN>=Ok`A4a5`F%G}_|@i{$5*(2ZZ+Pta8vpH=PHM;rJGH*ERLysTXOQB-VwcP@0A(r zllQRal=WONh?pX#vQlAc>0yZoO}W_ywfR3{_%23%S?~E&TY7eP@MOmI&z~{>&f5O` zs@0wy0-QfM6<4jZ|8`{i=k@NssY{-Jn_pE}x>9G)|9#cb>RX`43 zE$vy%M$Pua2eW2P?a|iue%fdCvUK|T=jF-vF)eORD|OV1cFKw0F;#y0C}!OYzMnOX zxu=#IwA}c);NaFj4nk6AVcfwl#dchIsm{~*82hj9 zlFO}F5_h+hdA(d|u4kE;^`_|is~Kvs`;>I!C+_-P78z<7&%f~FRPAX&t=YMybuYh_ ze_yxu9Cw{ns@S^gJc~0AO+Kr-=biJuvqpPk6??t!?oA4`;^Ka=^>F00#5;WMF8BVw z6_2ZWZ(Hu$dU#{Nhspc@y-4=A`S~dOxz@^>mI={(Z|c9)@}E7frlp&=|IZiW#2f4k zHm7&V@GVaCY7hvryp&e_#4T_6WW|KYyEWE|Edm=2nA>?gwx4@9Hi5%f8%C z-S{YTfp_e24zI>bcO$IYCLH4nUA3(Imi+q6JyHPtex2rlp{PWL^Z>zHuTiDj9XwRPcg-d4soU)on z7vpo+)b1>XG|9fa`ni?WLhLJBbM)eUXZ@;jrpRotRO9$r<2?WRb{(zNS&@OCCxuKn zb#znA@BNz=NiEBqC3f2A@zv+k6FE*BxO`pXt*t+&{_D5b>sQyz>TWU+W#xLhOb zQLUra|C7)6|F|VBU0iVG{imO{Z^aAm`nj(wDRr;lob0 zvvwFCusjfalmCL!tCCZXOHQd~MSeLMe4fjuJfUjWtOb6WwZEoLp8xC7bPG#~*5=}k zog3p$zmF3CX!qpnt)CZ_Ti6#4reQtuZ%`Oy9R{F1Irzt8M@=iSO|t66!)Y)X1UCXdz2 z&{sdFhlYlQhF;F`i|n#_FXFmf!^$-=CP*M?XHA$^$gJnv@(Qh)&40`6i_l1U9`B~P zcgw!S#+%!8*F%R39;NiWja{{8%_`}aK8<;54;H;pF@GD)Q?*xhXU(rqQT&A z$qQF5yMFjz1xK&7>*Z;avZp`zdB6UN^Krhr7k)j++4y6nzFl2i{TqTy{Kh-`>{r!HvurY1;yHPJZ(H zCMN6@!)N&9Gw0(8Qqwd=HXlv8Ew(*wy0sL?jX#+ln>Nk!EW0wz{1N9@vlSA{cFsJf zu}jNw*)7lWoOb3eEMYUa+FRCLiarJ&ArVQ~R7MbOr{ml`7hk)>Oo<+i-t-tT~gfIotd%M>gi%wL3lG{OjV~ zT$7GRcV&g-<$%VTnB@E)|KVS{;dxylM*!Yi9LaG=)iE{pqJ=9lp(b6K7bjj5o}ZX#1cO{yl7ZXs+$m$UXe#w-;?b z9jD#mCX?v#mf_N-HJcWRDE|DA`+eKrd++7#KOVdFtL*TbrDuPX$5;JKf46^osqLig zcgtS)``Pj_Ol6uY`!eOh?yZyKZm-$+E@IkL-D#h~7dz>To_?CN^G&Ixvt9gSZmk}l zZbMLhkH7F*ciPiUQfu~DN;u6~^rFymdv%Ip%Z9UVe^=H_&#gSV#=u{$F#@(0z+5o5 z`d{A%ndi?ftY@FF?0cGE)AgZbdHc_*-T$^aWlVY5=6En@VMRvWzPAVMYrd8|ezz*> z{CvC5`?lY?YxP8a)_h~f>kD)oj(0DVP4VVcP+T`@!Mx2A+b(QPij3=2-*i;1_LUo# z;*sZNzHLpHCw?eVv61BaY5UGkS}kgd*|w*D7yJMJ%bkAy>b0LMw>+&)uALhcm3ex0 z+v!>BZqL+oihYsySMKv?K`BR`!!s5HFA&_n|LwumCsSU(ytFlC)!U%m*PjYi?AsW# zQg-nq1z*ir?`4yA{$W_Aq3dPb`p8RZ=j-Lpy?nPnt=h%M@P5Z%vs16QL_&Pm+biEP zJagSSy8MQRv-WEYu>Z;?2mVSzg#2VZPC?V zdgX1woB8u5DaLEO-x8v-YH^m;vFesG;qD+Y3nrDh`de%(tb{UUzosvmxUG6>H)Ql; z?p+OrlGxhyn+n%GUM(n4xlixyeS@=KQ@rwb?zyNw<dd#-&uU6c%bay~_v=kMr?0yRUN+gCeOmhC@5|a>Uy8J4N*&{?^I@szOXk?9 zlNESM;E+K}&?@O?9r~L}8WTN|vsNw9nEjHcMCkou#`?!{@plb;ip}j;DVdz&aLx*z zT{%tlK*s~y?R#qe-pP6We((Ed%Fm}wi{>$Xzx$`h?YN}p)50Sj?2b6mzV7xb0VkOx z^L~j^le-cAOWQ22Y}1JKUAF9y;_`~M$F&tN#Ckq)R5-A4&DnoNON{Pbsf@n2%sAxR z`rA^cC%uZ~P+Vl7wc5M(>d~5iWm~x_`lM&31h;&%YDp?5|r?$7>$FZ022VIj`d1mz!QcjruR2H0n9Wsea2& za_Q@rCE}kaTWO@8&qUzj)_;50kSH-N@lDTs z>mNSr*X+M#zi;c;kX@M%Zhm`}@FY>0Uz#gtwo+i5&r^P;9e)g-wo9HXYif3VnWePT z!t&cgf{@e&3Llja_;vEWLE^28QEKcJX&>)}F0d(P#D2H*R+Kf`o`NW;4d1 z@MOKI`cLlXe7Q7@HH~duO5)L$bK5$F6POHy8~^Iuh@Da1`6xss=J!;wpLvT{<}Fg1 zc{X?2b+a9l>;K)}Zz{^i>|iuK`|h;w_y1l0|4v8OhpXE-TD{xnvdnVvqzxR3y`jQg zsg@Jp>fAG5yFEGbnqQWma!Xa8;*z|geJZD=XQnKze3xJQ;Cb0So9$ssE8iV+E9C3* z`=R8RU;8;`_S`RR0m<=~d#|QkN|Vub)Z%+y60mEZ4EG}zW5jOI)WVim4@UE%(z5u(CVq&yne~<&0SO%%-*5_6RpR#PTUG zE!iU^^{ZdtQqAqG^}ilI%I>=mv4X$Y)aUXQp2cq;>}G9Cbm_bQE_uncvz>q6l_zf1 z<+`B}KkdzxH@6!$|LyqBu)wKM)bHHEz)ME@_qVJG(UV^*`BI3frKkMpj0M+Um+uyi zYUC~R_0v!>}MBd z`dZxIR^k|V$gXGwuh+`VNLJ4%@2?4eMUuS?BUxK5|`Vq2bX@Imw3W{%zD*ojI#4dalm>ythl# zON?IT&YHGtd!@^X15^3((vDv$*jajFyGE$V+o;11OtOC`9~W0_Nsg4*xMuQ2M@`?9 zV%Nx12czV!iE1!8mI3su0p!s)6%_mMfqp1b63vs&9Z%%-6ybVW%rk#U4GX- zl?T-Bd;8-COKyVmA1+ZZE)kgvSw*3yU*>(`aNB({O>J`cr_}|Q9xLxJxxaUNe7V7s z&pTZvrb|sJHvHTmGNI@lCrD_Y{1)<7OrM@%Q_EFOPX~GY6*J`*p4}|KDY)W7RF+q+Bmw z3x0{{Dfh88$Ay2+-D~E4=I-+MTjh3iAKIFl@3k;@-FzO)-{qIIwWj!7i2ibO@swH1 zLVqVLef8^ry7Gk!A8f*BD+EtUy*lahhM)EO|KBgr**){*pOeq`ZJ4y^3`qYnWyWYMf?AIs4QQ|(X{HdzP`NqR)L)O z`2Ob+8!kTQR5TF_`dPDW%6gOYe~+-&r9MAfT-i69gH5fear@mW@1>RRE*}Hhw?n-n&a@W?aANYU{#r(Q%zg)RHOl_HGI>_p#r- zC1&OFzgPU@B2TViJm6x`@b#;}t*{0vs>!_&v>h6`(ufd$tIoCObTUMaZ8FK85CM7 zVk4dkEWE2f@$}M%n=YrzbLV&*y6W{h!WsP7XIS)AdSMU-bQc(UXJ8jdEW};mS-N8xV3j- zptHoG=3>=(3=B>ue7n0#cPI1f>lNs5Go1d&!mr18TTEdK`;^eo%};oAYTrD+cYns# zVD)I7e;4oDeY+n2|JhA#@6^yxleb^5ZaqG);uHVBUzcB-a<}?^l=*&p{||0gwRH{) z*TiHy=Lg<0I~P{+WunXaw|^HWM669x437?3a(6M4@g7m%OYbg~`gZtUJ`(uEG7AQ)bZ#i@(>d+^>1uY5&jsf3=RtpDX!wZ;oC+w|4oZi4FhX9X8+P zGBM~^`Taj)`4w{?@K?N=|NZU%YYHvLnoZ}F93k2&||Gg)=`s9+UMO*81XJ$pOJN&wc(k&J}CF?dbT=Tox{OaDB$qN-`C-3+a`}5GP z$M^qzOyB=^?y2jn1-}!s~&k@$)e4h_pa`~ zSMFOn*Z2Nkr7HKiHFx;jU(edD$H8m&WVhm#UkvRESN=BadKceP#_M###X#Uwm9V9| z!`!uI=TjR*EA6B>Ox6Y+H8@iCoV(@1jR&x)=7(j))t4uFEDJE%&VR%BqQ`BGV4dlu zhZ7dgo|Z4W^nI!P+dp#UuP3~3j$qQ`sSw`7uNEzT;l>r2gTbUgP=5cc`z^Jf^P=Mt8^x{WUv1~R{C$_j z|Ipn3ygD3m9cA^6=QskXILDqY3ODtR%AKN-r3n;ogsnmCwZ(F$P z?ZNj}Rks^wzIlEgjpQD)l zaQ*&Yz0&{g=DcRAaa{j>^8a6p?_1YBnklTVpPv&o&D7km@c&wOIh(TO&Ka9+)=M9o zU;k4(PWu@{{M*BhPm53bG1?W)sJxIS_G{nEm2*?1U$t$N@!w*}_Qd;xGS}a8UFzHg z>95(U7z|`Nx38<{5pd#QY*_aCbmtMoC}nio{@vbxUW)I73{slOc3nHm9x_iZYW_nd zo5OA=8D|@R%Pkg+PL^Dz;JJ4FQKs{a0Zmu@^sax6L znCLS%xqmjV*cbk^bZ61hpxY`9o)$R`YK~Rv*R#A>-s{}CWp>Y)XY=Rh(k%i`)m}H= z3s=rNX~<|LynoZLm)iH=uG7iWm6MU{&^dIMub{nV-`j0{x6iD5Z&&MoG3V;>QjVIh zyEz&=6B2Z9rrn#zFtauK`oj{zTWkK7A7R{Qx#O%K_xz6g;o(v77q`g133uR7+`?U` z6TIE=+~cBMbNNCqUuK=ZNOsGC3yv?%9Kk(_=azbpzFWH{KF_t@^=64XM`739DgO#N zoDMubIrY|=+rkNH51z5?nb){fZ{4L6{K1A6Da*ardy7a{i*NH?;=-ZW!q6b_NT79Q z#t{Qw-|M`af47uOQ)D`S`+nK|uvogU$N;S#E82bKp>HiFzDSmhg8|F53$~ud`n=(q<=i?0>rLXjC4@`{wN~3HIEw z;)jwOcn|)m+i|^aPr0?MZOuF<(5Zk2@7*e9e|VPZ)Rz_d9yi`k4h_wXoVmP<(TwT0 z^M(oSUu|+U0y2K5N&wbC&j;kNBD4WC5K|mG2i!>zc&Q!n6{6-?WWqteSGJO zw(|2BUpx_IlxqBnnSnV+;8~MFdV`juTk9gONu0Ad-Ja%K3a}J(J}7nWXg4$EmM+w> zHWyqwTiTGP_`uvc0Vj@LQzwqY276ykj&{^E)m>fYI4Ak0UfAv3e)pSY{ThUw(iTm8 zTCwP|);5`rx*1Hji@%l`w4CvCk?xi&zSA%*5p*=+TLGu4Nn#fQ)%VJk|5j`9aX-X- zI`0Ob^NA3ZGfC{SEdoxDPd;06sKM%GZu|2c58Z0pCY&tb`2Ik#ML;Tk+Fl0RClmOc zdw;b|IBD?hoFj+g7WJMZIcDbzxhETz@3uR*SM}4MeJfACl|Y`C{kz=`9njC04_UHh2dE=gy1_BiqU^R7EHoffK`wzb(DETWy;S5*PJSu^8B z&a(HVp#BkmOf|=O)0OH6igR>CdLsS>MV=GuUUs!MnyGC|@d-kG(JaZJQT*{d8AQSV-vg++%4IpU>sHsM?h) z{E1UBB3xdv<-)q_C!_2x|3CUCx5GyNQ_Y3fTXj}t%*vDKS~rtdmNT+Vkab?VWxGZ~ zCMZy=Th4wsb2Ddu^8cRNqXtKw3NX6Z-*|fzbf~2wLqg8FpU(HaJ}Q6?uvD+Q@3~&D z*8k!gvxBesoH-5)v>EU?mu(7e2+E4Qvgpbto$j*vY#pG~z%lW;bo9ZkS4-7xjr2-i zb13R~M=&ttbhisQWxSV4QwJUP&hd86S%$lT(R1_Ovx1`Jud&|TFQ8L4w+Qd`zt6nj z>fEX+O^M%@{E`EucdNr2eYvi0`>*%AJi&?Ytx$l(bFZpIU`{{{8b>|P&oqsubr+D3rLxT2B83s9R z&;2HSFnpx^WtsAJws-sVH{IQHYhpC>_dD{EZ)6o)0;FTtJyqT^{U`IE*zawt|L@!) zY5(<@>Sd$;H@COfS9K*yFzk3a?ZBm{pMGUkR&4JSxTRfn-!nh^7wBrc&%2#6%x{>V zUbFo2=8GH*Hvjf6|9{>1d}dqVPu8C=x8M1E!ukC(OTCF_S<|n0Pv4SwU&kp!T*zXb z(XJOB*XMrea2BxIE8(>JuxFW3tiAP@_9208^xc^nL zmS1tp)}<-8k0)?X{wC<8ytsKnzpI-76T|66sVCR``MIpNJLhmw)YtB5uBx2cVTvuk z)_s3j?V!oC;g_6Z3xi_*zxi|XH|lV)a4@hcIB+z0>aI?_C%RD9>SxxUw!`-}+%GRk zd-nW(+5hl)b=zj``~G3?_d8qiCnnC=qY}F>WJ;>fedmmliL(?g_aDs$oqxERf9><% zakc$DHD7Jpc2>1tl}_cnY{B82(H^Gv>ieCiYybQdzyI^wZvOifuX@dSE?aG?FZ_Sy zs&7@@_UgYuc`Wt50#3}%9Ep*K`p!sIO;?m(xOYv2NnC~9-)Y<9bhjDH&z{lmdquYR zS4v)OsN9dWiY-+=L0*~xUZs~4I1U@}9KMkgV{XBtSe7QVL4@Dwu0^qyJI9^c{22z( z^_m(13zqvoi?6XWT@vlg@pek$tgdCD|CVP~J@&FZY@kzY`e!rG%74p)McR$FU%&5H z#hexy5|rY4mFM&(o$S}ywQu=lPL~AEVp#ZYj@``YXubPY?ge=lb-{ZyVk0N{?VaR( zWaC;sr{rUs)=bhlJ!{#DS&6f9`M2q0?`|sLbL9A4s~oX6%|%>F*XyeJ{0$<$?=@Ka z6_(y zTTwe>Qi=}oxz}J5|k3^`;1pS3%g zy)q+1gLl^4?wpe6$ETp#wM0YabXBb0`qM{?bIz}C5^&0hdC@jeQ^fnzgH73{vHnj# zzjQkIxTGRBZ~2Yij{hr`ynouYG-snlgOYt)W?J{roQ*F;T<70@T4rG=Tv$?|^SEGR zS5lH?RZGDC0Ir!%iu#@<650h*E+s|kO-r5kxGApx`qNhrPyU|0FMYWPKV#6%(-*$v z^IpE=lg@U(&p#|QGBi?6{^Reve(smsB~EXW;$FUZUa~}l&5Jqq4>(%Z?c?`mEq=P` z(=p4V1|Pn)9`R?zO*s;`g#`;)!RQj$ZOnxill!P1Dr3d)w;e*JCy1 zia6vpRKD1^a^>4c8bd-n$(>Bhfi=OsSk_;31k$C^KoKn}B-}VO5Jf`s%gj~}8m)=|Itr~i8qn*==>b6X^ z;-4i84K@jH?^?EU*SoR~YnjSt-b=Tw7L|;6rSYVC_daQ_%(zL9X0BP(`{=^jH5zT1 zyUPA7Ql9;;-o2#i+bgSSc@p+kwclDduUFl)GeRR`=JdxFLVX?L=S179W^*hw44ZID z`lU~N@uzAha~{vYIg55o)_rOz&B-MhA?5OG-m2FheZtJ$b}fzA7;}v`*-Gf(g8TV- z=H(ySRtrbYo_S_|%{y-G&XlKTrD{)shB+$!e-TkkDY_*&yX1)Z#$~)tE0SkA8Ai*@ zHf+w5$UgbR$3*Kxtk~&|Gbh|A{UsN=<(Ip9U#e8Fde_q;rP-V7rz!@Sz(eZOYurK{%IM$`YF**@>jVRySn0xeG~n!cXc zWcAAb1;;|gB*|rlK5CnGChfGD^84j1*Oy*Og4}Gjdg+hvOSP@c_nj$Txvx9+Uu^j$ z<=k?yATRSvl98d-dzUL-;!Rea$n(3lZu{7Fp z@;j%e8y;l)ELr$i-Sc0sKR&#p>Xcz~)cB_3yPfaXR+vRkIlVDqgWjBCnbThvt?*$# z&oTGxtKg3G&5uRjYilfB8Dlr`EN|*#H7AaR>r{((e(e1&n(7+syUfbhaf9SM>zQIN zRG8F?Ej{HPhu%oqxo4VBZ_cFW5!z4I@0-f0Xs)Yw&Gw93T+D+TtNAy#9`blzuh8P= zwJk!&BiU^J{VAXT4sk!5n)6EG$?f$M!?jMg7Dl^gE_wAUOUbg~R73UIS4BI2EwcM` zp?UK~57Srf%>VlLeYaJrFFpL^lxU_#d53_Mb=R^~uH?zMX(+b|xo32e-8M}YC*F}^4$M61{k#jNZ;N5#6_lwn9le00m2-jJ#r?#|C?v0RppLHx&5`zJWr_C`_J$wd z-I?R}z+&OD0G`7FZ3lnZa424h7hAe}<%YcFC5LsUsK#%<`CHay<*ubnu9s7`*48$} zb_PkEfA&mm(cyi9EdsZqxh9!>XiE=a^51+Ji z&-th8b}u_?{h}_x>PVZb$O=|A27?2W;@%j)XCPMrZT+r(VO;Ylctg>KX^pC~x8A#NKA_{cibYfG zhr*fmgua*c5?UTlZyox*!MCnbTDBl_T%7raIfoW(T(@3W8Vju}nxebz zRIY5E({9Rjh4tV*wJ-yo$7L3`6_v8*d)lw%MAV5p%w0Dr&R`>1a7Txs? z`WmptWTP+tDxKIXS>qxbtbdDq_1+XS$$E90xs&4jrmfd5SHv%LtYqywe|WCU zm(+!O^?DC&(J5X(t<|YnrQ^vm>zK*hi%tkmWL8i~m~g_*aO=T2|2jkT64g0O?n$&g zypg?l<-9Kwv$Z(adtX?;#zE9ex}c0L@8#v6)}~I1^~~p{RLj2CHqlsr@MPtV&GN5* zO;WnvRx>RzBF$nc(}jBvzZLNR|Fh=$^(WuU4cW})jpqOORb_Q^eZNNw+j{@nqSF)3 z9tg5O7ZcjzB6sbt!QJbtZvXVNFQB~8h1nDxTnX5G}r zRQV$^53=hs+C%OZbnUR^=RHx{zUSeKt3G#A^uF&@-~anm>vi7Cdou4oQs%d{Fc(y9 z*PXJOTj?Og%uzbt0*moqbwaM86F-om5f{_p_9x~sQ5dYFX@HU>FtKc69U z?)&3CH3e!43PX7Uw(Lj zcfIlz^}jQ(F8@34()y{bQyW`$nzhM)DxJ{%ch05ts?Pi5Go?1I;@xwW`PO2N2^nu* zeVZ(Pex7$)@z&s9JCk0v8m|w%*PF-xyy$V9&=%~wb0djzWCsSibI>ikH1@4b1!Q}_taD3tN0oDo`0x6D0pjUT~4#s zfwc4IZ@%l2X5N>ySg~FyU;%U8T~!b13%`3$Pix)!^`e4=mFd~l`P(uMoHyBWzUxQr z)o%FA zcWcY9_qMAwF$M{LZH{|?*Zgk8O*Jji-c2p4N*D41!m9T?4q-p)H+|2&MG2a<8b2;i zR7`*KecOSBzCtNg`&>8W-8*S;_LyXNOVuNF{d^hG+Q|zi1dIHi-*5Nn=lh!PKYn&E zOO?I3{f9Qct;DyV4HGKVil3!;ntt#U=~bPVnms=?bnWrr&CQ-y@|QF{X}S=g7i;)r zg8pHFqPtV;VoF|r$;!Q`(Nd+oFX_{=0b-0^G*o=cCNfzI-z==fkr{i?`DBltX>aS=I4rVMZ102 z`Y|r>%zK-S3qjWkm9^UCn95$O+qqEuiDc0U^WPIZuZywX`h0z^NlKvN75ku*KW>~O3YsGk;H_qU*uFc=^xvnJQWw)5bh0A)@yAl~X zY;6>s)~@XO`S<;?_&P)5{V%@#tZZv^a*U6iWSq(KEhF6U_Xhbc$x8*(zpS0S+jqy6 z>(ZsaKb0OnkXxO>Fv-()rp&ojDo%fuxvo$1`fb>LYkA(b+>HiLR3AKSt2xAAJ*Bbk zeEq%Bd@s4n%LJTOh+9lcLWGVRmt;MXn!K?jmG~|yIZMgRN^0o)0>LxBwU;ksGQ91HIr)cj`m`ZTK}V+^x4`*DWnt(^yBRzJ<<5oLVT zdP8CTi#CJnmt}v7DlL1j*b-3xB{@mHp(SA>|MFZtj^e|&BqOqayxrn#aKAleSJ?E| z$1`W{+oLS##KHJwd10sgGPcQ1=bJ7pzi@fwL;I2s5562skuzf}&{b#ob@Av4MUIGq z?f3sM*415n`}HFa^U_5d_o$=>Ij^|ZBOt{!?=jEj1^*VzR&7yj5n3R& z_hZ@lV_kn9@f$B?dNp!Q&wZ^hd6;hcw^=6_?Uij7{yePwU(MZX=kcMjXzzy4}kxmeCd;3Oaj(25|K^YhSfJs!OI}_4pf#)cx5sDhN=_Ah!EolsubqttIU6}-UL2oU z*>{-XzIw|9_WS0c;_tK516$^>Tl@}CX=i^fbH|J; zvN}|`L_4_P2E$gKoAc&JGF;cWb7{GXVtd~x;c;z>L2JfHXHowj(K zxzFciwcY(TUmo0XnIiD$Tfuf2-hWSy*H${YbM$gCF&)ozix>MOk?{P%3#mD;9!A8o zoR_&{H)YW$-JXCG>IcpoTD!Vn5zkJ!d0`CSW$v8&mY5vZn*Q3!E&a}4EnmhJ<&au+Q~%36H%_t6V0GcS38u0Zf{?n^oHezlsPmQk6BL&kSu)_KV{=jC5m z@7%z7D25?T)k8cXxM>ULuQGPy1G^NSG<)j1oP5!{=ygxV33diK8RLS@TtQ;fxF&4a zoIRi6achRav)>b|Z%#>^buz~8&1XR-v8B^mwY&G0ymKl_y!gD(>fNr77sBV&m3=+C zwT6MCYH#`d66Mndo0c7Y+*;#!bnBnJ4e60FmbV`>$@y!|mp{iys7U^^q;Bia&vm!biDqb-~Yo~ z^IhM!bapi<(_&#^ruw(#F;}ffx&1m{WiPl#`4TFdiG zGQquGiS;eRUMBs!H5sqI+kIM?^-gc;7Nhz8ntx~K|M?tjZ?~2I-9h)gwn>U&k1gH= z?z}!#v{bqGcae3O;JifT4fQv+Uo>QDVVuTT*0U@)AiP8R(DUHuelfcW3d+JJ5u{kBcL|0N_@N&UDHpZIExWeXptypNj*+9~j8 z!~3K&F)ir@RwBJtVm~r17F}jOy7h^6wkDSt|2ftj-Yn-g#oBW_Px8 z%E;Nk!_2Vg#Gd!*%WLcGm@Z%c*Okh0PxwPs0vF%g&HMiKYyXsa_W6ApWB+o6sbBwv z+`Yfn;I6EqiJ3$j!vWjx?lu2bhnkii{&8^S<@kU9jPKjmE&7vYUkX{$weYU0)RdVS zOANO&Z*5py)ADUjXTpJ}1y8&$-B5K1^s<%v_kefbsrtM$qxw%f_1CCOn#%eAMex7= z`X`5fFJI1~IQjCq8%vb;t>pPy7g)cM$5@gtcZu-zrs&*#6qnW~zdExK*9_vxujZ)W9j@MR_TZoAu&xQ!?5F5mGtE+wiHWv>10 z5#;$<_EE+h)R-1I{nW+m`WK1yr!56Jm>N^`;wLP5b^UN%{DHSC*Gs!7>U(ZIx=36t zx%BVC*E!+Er(PGiF*P1D)pfmk?efcyzkJru;%UFr7dCed&*hjtb*cZQa?6#)xELL@ z=AWOwB<()e#D@Ft%YwbaCu_bv>!_%hq9s$r;j}H{R^GAM$v0OP%t*eOq8C2tY2W`) zUK_u39f_R4;I5!uGfz&NDmZJwyPw?`PA+}x=fh?5T;Rv98x3XJjn9`WJ?s^k_9UCR zUj7YNmF?8Xfc2-Jem9wEP{QG4BCw*SjD7F*Z9T$HO!L|*_!(IK$d#M=?UwDk_EC-@ z2DJ6XwC?Wvk0xgm3p<*;Wv+kQxAw8^9?1%+<;$Am@}Kex?%)5?{{Hi_pLg>Z6k1yD z*+?+RG(8Y;b@Djzyfp9gE>~v8#^(}kCbj$}iZ8xyTc_yBF_VXtbzi^j0_&%RR@(Yb z3*7aaYFj2a{kx@n3$(7w@$ZL6PG7&T2sjY)&i06E*TGrw=~qPBYIgH{zQvPxFRUNx7Lm}Yr`CEE(W~~c<-njT|nr}_s^wWi3b8i3ju}*#d+>c{s zUrV*`QXmL)KKJK5jQx!x$R8{odK9jPle)c(WuT5tJ(u_pb)ckqswRF>>tX+2d z{w~wF;KkpXvr!|zcfHQxmfC$@)uPLt=k)vPQ7lqcd zg!8ZaxpCICsi(xX*gwcffBGG?GyAlj%;_-sZ6$}_gs$72D8<0Ups{LNrp5C6Z_BJ@ zr`CUpG1)cEOY@eWys3^?xG-nq^W&ciCrsFs5@Qj*cpe7z8ZNa*VB@4XsJ zH?8`3XX}gA8MC(4vT{a-zINKWW>wd^vo1y}?v7Q8%G=KO!-z0+Q$tIJIUR`jV& z-kEb=yH;x2%`fvSbGU?*t`Rnce&*a@6yZx5~hoD8@^N4xLvzL_@=$tOrIbUdYc;SI~+vvCd-#j@Iy6)1C zy;Ik3|KT<*QEK1B)&HWk7Mq7|o%iEbl-kul%L8;I{A)_L?t0SyZNY-;(I>AvmKIF8 zZ`ggQ!pd57->#OJ*mGw@x~4u%`>z)ptG{8E>yEu?-iKT^GxHqQ@p|fUfZz1=`6-tw z)TBTCOqe|(eMVYo)%?ddCfuK{JuPeb7vomP>0j5`C0#qGBjA*#BpCSM^U~G7?Of)~ z?{v$$e*N_~9iP_2SJ}lGF7Osx*5x`b={r!kS@`0$)n9KP{dco-#SNp+2ez!ymY&@k z&tJ7yG5#~p8W*#0o#~fbnOHfhY=chzcr`toPxf1E`C@$`QLXPY&t~P%(Vu5G_4u?Z z4WSR#EQ&KvC%&E=CGlyu;_6p!R>8f$KBTE1zqQA}gzM8J7KW)S;swvAsk&zF`nYga zUe*1B+_iHr_%m)(j?zHp8s*S1LV)D(*cmV{}*+Fd-#c`cClAJ;8gVUamGaubq1- zU2>UW(62l1PR$J$S&}_J=4yry#|Ig6Sx$4d2SI1;uNnOR|Lt7P?p$e(!z|&sOT?nO zUYqTG*Zk$^Z<)QXGJ|eMX>@AuV0girD#51Nxk>f5(R1sa9uggo)cDd2KJy=pyk_WI z=*yLxQHNWV*zBV=cVb;Pa z|6+9bQ`G7>y3eKwx3y3IpnBv(-N{y`U$b`2_9)eTz5Qm%eS>2+nx7xtVW;}}TrGph7|~X!&>I+h^}Umg{lS-798;!Ww)pLN!(r9O-*&SYJ9p1)j9x@7mCICsvvFMD3y ztE!&&GrijX<@u*Z`cD#nr!dU9xB26|{A-SX4oQ1&zuhEIz9YK3@Yi0B$E#oSG1OSZ zp8i#97Ttc(tY=-wj@cE=G4Pa%vUWPbc)BFk;_p0(J96KCPtUjs8`g@omX}3qJ+et}^tL%F(akIF^(Jop z6#?DXJn}aE&y_s#@&wdBfBp6LxbnSy!TBo5yH9aA`T5MKw-R-}&c7zFqj~?aWVRZP zr%e0rzSi6RZ+iT+sSK0(O`43{Za<0bJY;S2+E?hgrT&zStNy?G$*4FbT*hLrocYhB z(&`Ge>i>Zf%QK!`;Y;g@U4KEPAaKH>6|16RIbTIx`+jqZ;kG-!-UhyAp3Ki+H0i@R zHJ<(Fmp$c4u#);~J%4|C=pnN%w{PqG{O1UF+~oZ1Tbq46TT$QRGau8^Q(IY_IJSIi z2yYOW)z@ZmI_lB8=9Bx?b|jZa+~2O+an&MykIbZL`=0-vV(2;N`J0D-4;QezehJYN zxheKpG^FK(=KZFYAAdaKPub59KiYrv(}9g2r!Mw>63Vdl=)1D;w+25a>?=1d@d?hj zfBoC{x$81Ff1L6EbI;G)TcdtC%6#tlwc&pK`DsTkU!35dH>AF`(L}e&W;@OUp#5q5?3l^A?^9iby8nHQ{2Dm27y;ImPu4>@d>_c zGADKGzNqV)p7>R@y|X%3{8eO{sjAhoPL|#2QdQSCZBnwgocQW z9)Et1!t*SyatH5tk>@*ID&oVpzB@gWB}gRw!h8Fz0ZBfU$;$;q6;GS^KK>bgf2)tz z%pWprg>S6NDrd=F{!?1@_-A9uvL@mGNlpTZF><*#- z)ULi1ZShE**0b?wTCuT|(^k0;ZcQ5hj7r_y87KdjyK{HPq|3o>otJg~Z;Y4{J>kQ* zKW38Jzcr869@Ra6_S!rNUbe*t8-jkluelgg|14N>N6)v4^*pPERDXQ*nVCIn)vj}T zfqME~SG^y~dREuJxv~1K-VT#?q1a%`@80vlI;hJ)9=Dp*Qz&NxT$Bs zutn0~r!S{)&*q+>st3K#+ymn#G)-6=@adpLG<)LL*kcm6TNLXHk4wm3mC!78TYcNy zF=BQ0v?ZBaS$}UW2;s5U@2Wn(IxeD4+$_*HtNf%DkLJ?MdF@UNlIfK_hRHckfB(L9 zQs3;h$$8DCTPq*0Kfv8|_}eVQZ#zD%k~)?-&6P8)r}C^%j$?=X(W_tIfBHGaY}%od z?x*h^F{_n1U#~cQH@}|8frF9TZcG-RDelU_XUnih@=N=t=kD^%3=C@*WX~)&H-CD+ z{*3tZQwJCr7I4;U*Ede*XE;z@uv3YffkBGtWiwo6Z{>2G1??&2z_@1tQF6*2UngEdkuFC)b literal 39174 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 c%QBYUP^msw)p>i< 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 diff --git a/gerber/render/cairo_backend.py b/gerber/render/cairo_backend.py index cc2722a..2370eb9 100644 --- a/gerber/render/cairo_backend.py +++ b/gerber/render/cairo_backend.py @@ -18,6 +18,7 @@ import cairocffi as cairo import tempfile +import copy from .render import GerberContext, RenderSettings from .theme import THEMES @@ -37,6 +38,7 @@ class GerberCairoContext(GerberContext): self.surface = None self.ctx = None self.active_layer = None + self.active_matrix = None self.output_ctx = None self.bg = False self.mask = None @@ -120,9 +122,7 @@ class GerberCairoContext(GerberContext): self.invert = settings.invert # Get a new clean layer to render on - self._new_render_layer() - if settings.mirror: - raise Warning('mirrored layers aren\'t supported yet...') + self._new_render_layer(mirror=settings.mirror) for prim in layer.primitives: self.render(prim) # Add layer to image @@ -262,30 +262,35 @@ class GerberCairoContext(GerberContext): self.ctx.show_text(primitive.net_name) self.ctx.scale(1, -1) - def _new_render_layer(self, color=None): + def _new_render_layer(self, color=None, mirror=False): size_in_pixels = self.scale_point(self.size_in_inch) layer = cairo.SVGSurface(None, size_in_pixels[0], size_in_pixels[1]) ctx = cairo.Context(layer) ctx.set_fill_rule(cairo.FILL_RULE_EVEN_ODD) ctx.scale(1, -1) ctx.translate(-(self.origin_in_inch[0] * self.scale[0]), - (-self.origin_in_inch[1] * self.scale[0]) - - size_in_pixels[1]) + (-self.origin_in_inch[1] * self.scale[0]) - size_in_pixels[1]) if self.invert: ctx.set_operator(cairo.OPERATOR_OVER) ctx.set_source_rgba(*self.color, alpha=self.alpha) ctx.paint() + matrix = copy.copy(self._xform_matrix) + if mirror: + matrix.xx = -1.0 + matrix.x0 = self.origin_in_pixels[0] + self.size_in_pixels[0] self.ctx = ctx self.active_layer = layer + self.active_matrix = matrix def _flatten(self): self.output_ctx.set_operator(cairo.OPERATOR_OVER) ptn = cairo.SurfacePattern(self.active_layer) - ptn.set_matrix(self._xform_matrix) + ptn.set_matrix(self.active_matrix) self.output_ctx.set_source(ptn) self.output_ctx.paint() self.ctx = None self.active_layer = None + self.active_matrix = None def _paint_background(self, force=False): if (not self.bg) or force: diff --git a/gerber/render/theme.py b/gerber/render/theme.py index 6135ccb..4d325c5 100644 --- a/gerber/render/theme.py +++ b/gerber/render/theme.py @@ -41,11 +41,11 @@ class Theme(object): self.name = 'Default' if name is None else name self.background = kwargs.get('background', RenderSettings(COLORS['black'], alpha=0.0)) self.topsilk = kwargs.get('topsilk', RenderSettings(COLORS['white'])) - self.bottomsilk = kwargs.get('bottomsilk', RenderSettings(COLORS['white'])) + self.bottomsilk = kwargs.get('bottomsilk', RenderSettings(COLORS['white'], mirror=True)) self.topmask = kwargs.get('topmask', RenderSettings(COLORS['green soldermask'], alpha=0.8, invert=True)) - self.bottommask = kwargs.get('bottommask', RenderSettings(COLORS['green soldermask'], alpha=0.8, invert=True)) + self.bottommask = kwargs.get('bottommask', RenderSettings(COLORS['green soldermask'], alpha=0.8, invert=True, mirror=True)) self.top = kwargs.get('top', RenderSettings(COLORS['hasl copper'])) - self.bottom = kwargs.get('top', RenderSettings(COLORS['hasl copper'])) + self.bottom = kwargs.get('bottom', RenderSettings(COLORS['hasl copper'], mirror=True)) self.drill = kwargs.get('drill', RenderSettings(COLORS['black'])) self.ipc_netlist = kwargs.get('ipc_netlist', RenderSettings(COLORS['red'])) @@ -61,9 +61,10 @@ THEMES = { 'default': Theme(), 'OSH Park': Theme(name='OSH Park', top=RenderSettings(COLORS['enig copper']), - bottom=RenderSettings(COLORS['enig copper']), + bottom=RenderSettings(COLORS['enig copper'], mirror=True), topmask=RenderSettings(COLORS['purple soldermask'], alpha=0.8, invert=True), - bottommask=RenderSettings(COLORS['purple soldermask'], alpha=0.8, invert=True)), + bottommask=RenderSettings(COLORS['purple soldermask'], alpha=0.8, invert=True, mirror=True)), + 'Blue': Theme(name='Blue', topmask=RenderSettings(COLORS['blue soldermask'], alpha=0.8, invert=True), bottommask=RenderSettings(COLORS['blue soldermask'], alpha=0.8, invert=True)),