From c6f9f76afb0543d0091dedfbb1b549f1b45397e3 Mon Sep 17 00:00:00 2001 From: GideonSerf Date: Thu, 16 Oct 2025 09:53:55 +0200 Subject: [PATCH] [examples] Added donut pie charts to `shapes_pie_chart` (#5277) * Added donut chart option to pie chart example * Increased example description buffer size * Testing mouse trail building * Removed unused variable --------- Co-authored-by: Gideon Serfontein --- examples/shapes/shapes_mouse_trail.c | 6 +++--- examples/shapes/shapes_pie_chart.c | 26 +++++++++++++++++++++++--- examples/shapes/shapes_pie_chart.png | Bin 17457 -> 15301 bytes 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/examples/shapes/shapes_mouse_trail.c b/examples/shapes/shapes_mouse_trail.c index 88a7c0ce5..ad1166548 100644 --- a/examples/shapes/shapes_mouse_trail.c +++ b/examples/shapes/shapes_mouse_trail.c @@ -1,6 +1,3 @@ -#include "raylib.h" -#include "raymath.h" - /******************************************************************************************* * * raylib [shapes] example - Draw a mouse trail (position history) @@ -18,6 +15,9 @@ * ********************************************************************************************/ +#include "raylib.h" +#include "raymath.h" + // Define the maximum number of positions to store in the trail #define MAX_TRAIL_LENGTH 30 diff --git a/examples/shapes/shapes_pie_chart.c b/examples/shapes/shapes_pie_chart.c index 35250c5be..1fa938905 100644 --- a/examples/shapes/shapes_pie_chart.c +++ b/examples/shapes/shapes_pie_chart.c @@ -36,6 +36,7 @@ int main(void) #define MAX_SLICES 10 int sliceCount = 7; + float donutInnerRadius = 25.0f; float values[MAX_SLICES] = {300.0f, 100.0f, 450.0f, 350.0f, 600.0f, 380.0f, 750.0f}; //initial slice values char labels[MAX_SLICES][32]; bool editingLabel[MAX_SLICES] = {false}; @@ -45,6 +46,7 @@ int main(void) bool showValues = true; bool showPercentages = false; + bool showDonut = false; int hoveredSlice = -1; Rectangle scrollPanelBounds = {0}; Vector2 scrollContentOffset = {0}; @@ -72,7 +74,7 @@ int main(void) const Rectangle panelRect = { panelPos.x, panelPos.y, (float)panelWidth, - (float)screenHeight - 2.0f*panelMargin + (float)screenHeight - 2.0f*panelMargin }; // Pie chart geometry @@ -159,6 +161,12 @@ int main(void) DrawText(labelText, (int)labelPos.x, (int)labelPos.y, 18, WHITE); } + if(showDonut) + { + // Draw inner circle to create donut effect + DrawCircle(center.x, center.y, donutInnerRadius, RAYWHITE); + } + startAngle += sweepAngle; } //------------------------------------------------------------------------------ @@ -177,17 +185,29 @@ int main(void) currentY += 30; GuiCheckBox((Rectangle){ panelPos.x + 20, (float)currentY, 20, 20 }, "Show Percentages", &showPercentages); - currentY += 40; + currentY += 30; + + GuiCheckBox((Rectangle){ panelPos.x + 20, (float)currentY, 20, 20 }, "Make Donut", &showDonut); + currentY += 30; + + if(showDonut) + { + GuiSliderBar((Rectangle){ panelPos.x + 80, (float)currentY, panelRect.width - 100, 30 }, + "Inner Radius", NULL, &donutInnerRadius, 5.0f, radius - 10.0f); + currentY += 40; + } GuiLine((Rectangle){ panelPos.x + 10, (float)currentY, panelRect.width - 20, 1 }, NULL); currentY += 20; + + // Scrollable area for slice editors scrollPanelBounds = (Rectangle){ panelPos.x+panelMargin, (float)currentY, panelRect.width-panelMargin*2, panelRect.y + panelRect.height - currentY - panelMargin }; int contentHeight = sliceCount * 35; GuiScrollPanel(scrollPanelBounds, NULL, - (Rectangle){ 0, 0, panelRect.width - 20, (float)contentHeight }, + (Rectangle){ 0, 0, panelRect.width - 25, (float)contentHeight }, &scrollContentOffset, &view); const float contentX = view.x + scrollContentOffset.x; // left of content diff --git a/examples/shapes/shapes_pie_chart.png b/examples/shapes/shapes_pie_chart.png index bad7960f476c0d66e32df5d38b7aded5a81b5a75..afc0a8c2d930a695661611746b3fb83083dc7eff 100644 GIT binary patch literal 15301 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 YRBozKYo7$4-m>W(I;Nd<&_3k<0K(vKCjbBd literal 17457 zcmbWf2{_d2|2{r5m?oK+vdu_Dr$mcow4gE43~h`S``$8x3Y8GUh^AsJb+l(4ODB7B zh%7}?N5*m@9cvUKOQtZw|9Q`-%sKr&-|PCH>zb>}nfLoyU(ai~@B5j{6f+aFI8Gb} zgQ0hs?%WT9i73Nh@TVvw_&;)ovueOU@YDNEcEGahRt$hYM5#vmj9{?5=q2A=#K7N+ zy-aOR!(dA*p%47I=e;8^m~r*4okj=!96z;hfAHH2%TLoy$bLjk;&lYtU;U}&0OB<) z9!d9mt6L&YUSzgBhPW=j1>Rfyr@GCS!;%TJT8I62PI9Lt^Air8^o=eUFY1eu4}Dzt z(R^;Eb8bc-^a*S0HrIpxg;^yrpnr=LoGn^YYggc|4rvt+fh>B1I0tO?1ue*$(N0dNwqlpX{j1f&C!u-GoR$&6#G=SRe zQk9m1tpp#~C`KFwlLQ~wBxs7U=zlb4(AVM=T>7^|Cv}nUr)#s=OPA(*^p9dTwMKQC zly3=YEG@noG;(RakC?v4#sdj+-}?T*4-GF1%t;RLd46jr84h2@>vIY!iJM&s8wy2y zzFYEic;k}^^F?8>w(ZteWfMtka_E+iXQJWu7ysKp*D+gl1N@On z6Aq$c1$IeIOUsRc?Y{Qu6Ln|S43!0$>!p34i0-L1s(oH5)MZ#P(W0BzFPYO4tEt>f z*xla?82xW*+K#hbCO$dDp0Rg(YyQ!fQVPw}J=WfIz^-LU3C_#pe74M4D^ywWBHowZ&*a!rPklWun4Y37 zEIutnp3`8cL9_&2GOG)F+NN6yzEG=Qo4$F?@o&)GT{$fN#A3Wb6aR2zXXSd=Cc_dUUOJ|) zO=f;Xf^Bow$2I$=z-0sK4gVra|KfWET%&K=6PbVp!+$D1g7*C{HfF3Sj}G$umJ;Ce z+e`<>f+!Ww9AA%r=xWHLDq72cHNu%uO9rQhy0S|f4Mm^_t|LDm$7i}a@u*7H!1q8d zpqnPe*=?-;HQjJYg}T6Jpo~TQ&f?6jT%0`)GY8fST#K_m?(tYCbAK<}P^032;4$ml z%#+_zT%@-Ra3n@W1+L|Kii^T#G`nU`Fq5Hg!S_YE(&#s|CMofLjv zZ`!j09bXY4E43T-y^Sn9vF9|7aOIAyWUArs6%qo+*G3N2`A`oFZ+qxv&804%lom|< zMpFgr5uTy4X#;LMFJJsFNidF7{QAQLbW+W(zn-bh+!Ct;ZWYYGYZ>mUw<0>ZW>>_8 z8?zE3EAyAsm6{Tu^lf$Q&*MpyVC#21?B zv-pQn2BZW`%?4L^-s8SApK6L`55y@N)(zTv?DJS*EhZ-FfIE}727Uj{@3J9l2l5gA zU~JbXcoT-DJv{S>I>qwl&XOfyQ|Ev_ zSs8Tt3MHE+?c$|HI5E*fIIq0T=!`cJ$hm9%`65$0zt6Yl?c42HW3nERLCm1pn%fQD zU2f7+H}P$*bewgb9C{|Bfr>hH*^&q|h(Me_kF={w43U|x&n;J{Usr}=BlwgxP$I1H zMXr)Ku2mXGx|b+ec_n;}${KX`C3BG=X&&oIhu{>b?O6Y=aWwo5F6 zu1bS%7AZXwv<7@Oqq&#?okan~_ZhXCHe zQeU-87_c`AVyjo7v))87ZT_n9c~-1be(`oQZbqUsGp{8z;q*5HMg1UVRPgS~>5W{Q zFuEX9xZ02#K0~|tMUVN>vVxF*^2p;YTZ*f18%DhjaO`*fvXwwGy? zXYu&@bBe}38qNteTeLgwC^#H`rSv@WFWVOF;yPoI=_qb%*red;UBEob{@+iZj75Hl z8_*HY6F7=x^^EXRw|ght97?AqeC*Q`I&UjH;;tMFQuKUfcR1evy+da*e7gwUa@9uu zKGl4{-*pYf9k;W!@|>kBwhZ(YejslweO~PJ+-|)2Ce_iurI5Cjvm?Rg(q;axJkUa? z)fiW1J*V9xWP7wX-Oj*1N-wOwU09vzJ=hqKIbGLCiH{_dNJ;WN#E}Cy(<>23`{)J= z-M*zbUDrzIl(}c5u4kl8Pjl*o^+a51h=D4dxk^?r944NnqJ%D5$xh-GW&4Y;hyrM~w%y6f+la0T4I}FA*+rO&WUaH$1cp}p` zr=Z%lFBQHbHs;Pahx2gcB(NkgPg6=;y?VyKvv#|=)=vAv-KT| z(5JA2#<>`;SJJZk)N>(>L&DOy|ruQ{zp| ziK`S&@M3#=qW=9wySG4@fmweN=sN|P-+A?b$h*JAGJsD$*x&pGvDs^~K7P~>s$ zK)&Q4IJsxqy=SHq@&_jLf;j00Gc#A@#8%%+_WE1?$(cjXDedBKsLheAi4Wu!>+$D# zZ*x2bH!{MxP`m_d#+ z3D?8LUMd)}Bp&p%A8FxaMn(tzS?vC8GGM>X^AI_4QzGe!yo>1HuUGu~aF~f`#=v`s{56 zJ$k5y#s$^T(3D9@TPsn2nA3iqt&B*)8bK!|GP^~YMWtN=X>IGJJ`3W@;QMd=JcjR& zHIE#6?(X5yqstzQ5fNK`DcLmeDeAt)R$*`P;{dsX;1q<5*Sbhh9m}MN?QBtODWCJV zw<}54&35m};@oRzdqfXj`?9UzOY@r{@2(4oWjifY2uH(Sr~hl^?G85=`3!7trt9LE z-kZ>`Zki-q@w0r0IL|4aklPCEoM^G~nD&mr15ruEGP#^g1?HQ&LFNtp0*m?y==FD?coCt$*a zJ>CheVxkowHbtxpuV`WsK_FY*qldfXZAedh2UUS9rDHBgcL&Rm?~&HyVzm;GE(RtE zSw$-aL&uQ%ogy*rn2XG#wW)AcW^c>Lj&=u+zl!f9``z+F~`dnsMOoXXn> zHrKdvV>6p$Z!cK!&xtC3n;Z#q$lO(_Lx2+WM(U;yf;`mV9%|eI>moPU0E^_%YMvEy zTO+3CyIQv+@C>=@nJq{H4bVl_34~BBIsUAA;UvG#3z&0xOVJHmO+q)ktEXyxNaE*p z28pO)eXaArB^lxRX!l4fc6HWMC3#54{Kt3B*m#kJu8Z4dT`xn&j?(b$Z^3!$Y~(9hEqUFSwW6NS`L{cv~Hz7WPB^1>zqU8 zZku^jNFi>t4D080E#(lJY9k`y|zz#y9v(RYxChV~@1 zj|!$>e-G7`i(Q3nX-JH`iaa>9@8>rus8*WJd2no86n;bBdy_z@>=xv!k4!PS4b-rs zwdpPjoor96p?g7DglAmvtXRn-L9cKf7}@w!tD)NR!QgW5<5bDxxl>}<4J5(>hE zzqF$Ghf&)Glja?TxvdqA^rR3*LkUe<%`BJq%u0p42ba8*aB3-ceyTU72Q!M4kar`A} zYWH%#2CBhZ!Q%cd?SgI5JddwyP>#RCH0#=zFh&!s&R$B`5&OSTO`}bk@sUU~;z0gN zA3?)#%M^!E8P!smS*b$oHzZqI+-A>P6kTw4)Ha7F6HF}w#Z4nZzdYly#sfX?_X>y(lyD}K=Lk*JD&C=yzRjoYYf`SI8TdECH zIYF_Rh|hE1a^_$R!~XFQ#Hsz5z`UiZw8}I%or+UW&_3mmH(WcClvY4CJlyM^1)>yv z?(L)mZ)t^Z0U~)2)@uyEbq@uOJ?2k~#+Wi4bgVfR{enGc>z-htp!B+AZfmEVNBd#A zgTi=i@QzOSBv_Y3CPLc+GpFJziRHF4~bw zFn&(0_l1>#<-eE2*t=iUA@dcgV{%s|?YU#aR9{i1fWBg`@W^10Oqdt~Gb;SB)$r8749`Z-Qs=XO zLcK3MC|S@C1^7UhFwfW!`dXZ_mF6k`=E%U|)=uMnp0B)vdK;&|k(sx3|x8Si5*r)}t#v1!Em;{kMAp zJwEl@e{yd>Ekj@1b+KLiQdClJYkJFD!?`IAs_JyvcIlYK;lv0(mQ?&L=2r)r7pqG? z(axnYY>^^_FrH73Q7 z?8%_^51n3$$CJG!>a#T4Z!6eXDL{dATU}wZ?P=A+JRi@%&Gan{#MLWQuxMj`b%g** zOH!#)*{sTa@`s_Twe6(hYw-D}>DS-ZK^3A1V{0#d3 zF@{f3FwS|4RAZ@ZI6)g70W$FUpvqtG?f1{VZXTFC&O2G5E7n`+6m)C1VfnFRqi=65 z=siT`q3b5H8fT|*;6a?U_lD9lvrEnC!E}=&Cj6=X=!%H3&QnsoNlh{$sG~0zU3b(A zzL;KCUZ(nh&FJlET`O*C5I_DYi4mBH%6RiTrcS3`S?LOLXV-3CR817(YV^-Of#L7Z z+oGB{VpbWr6DJjtF;JqSBW_BFrzbP2dbV}06tCGuB0igCK{h_#K+_Z*P8GAc%X#@W9rt}) zcPU}}dk=?wQFP0V-eJ7TYb~96IgMw(Fq4yky9MfsB0Z>xP~@?aLs$k)J>aEb6_VF+;5+!P!WOY@J)mVAH~5y;a{SvDsD=zEvAN1KP@Lu43t_fdD4z|X1{_=S}I+| z58+8>bcP^j4!OZZ<5NbWSZ6mW^9p63mzUN%wKNx2Z^(KiV?BM)7=HQr{3~Y=CS*pm zS?Fvy{u|u9$=8HjA}1AVFun8pBNtVUBXr3z(Yq`8k7(5Unr@bk2^4zb2x0^IX0&PL ztUI0y&-m37&WP>g#Avd}+;03RT%+L^ZP+7JSrnzq%-L(SE)mP*k(lGcTOS%uS?nkO zgs==ft5Ki3DATm_w_6nA=dq#XVyjnjroK{$NSTmjquS@`(zw}#v{jPU*UI*2Cka`p zg!u~i2K>60`gtpZEoKcJsDMpmw687zy8{F?I(!lvBZ{v$F zA#2u7L`7Ffkn5eUU1zLys}QkFABkNrJYbRVE>x{+*o=(ZV!v>tzA}QIe#B_rkwD0c zV9e4cRrzR+cc>t~p9+TVWTcrTw`^Wi*FF~Z6q$* z$sV~bA@JFXB%hv;KTUAt_hveQ;Ay|lY?19s>jk=rR6rq^DAE0xsh-xf~-Eg)8TZDFGf zNK2kx!&ktsfEGf3cwpO^k-g3*_#OiB%hpy2xxn$u{uHZqWTkwg=YX#(9fn*(uLlWYHcKQCx?7VFznU!hAN9N59DOdH$%u zN42N)QG;%&zlX!8MxPDr!A8ySr-vSHtxa5oesitN<1ASy68xct=vb`U;vLtKbDBL! z=GW2Z#^ZfT{T&8v63$!5W+%RPL89F%vVYa>u$la$s6lQ}oPvV@?`pa;kvaHk(3Zo) zvz}_+xqi{yjVN+9ZRB>GkUN){A>P}C|?K_XK$@dCcRsardAB|=TS4^G}!6Ltqvf!w7*yoR}MZEkt)o$3*P?9&1C zcc-NuuI#%*W3^J>v7GOlSqQL~ftFHlc@|=9-G=2xeFg8~TJr~6q=-UsD>d$-(n&0~Bl z+@`H<&0T#^K-<|Z{H4LextV-`2 z3K#Ogu4?CTxf*P1R^zD#_9}^*-JRP?l7+mze0U6Us8&r*^`Y}a8camH35-M7MKe_r z;Uzla{#Y&GDH#z3{!l{csSJGvb$!8(_cj2Lu%spd&fP2pERjf(OIE6YG?54`6TjV}k+)=*|{)eC_}d z?+m{;-x<#nu_JESA+qD5Ja+{EW5EuIC59sqll}Tss}dP0MdKGxn$7FHRq>Xe>T1y{ z5R`Gr^0{%(@^7>MY=V&oz>|De&b7^$yD&z>CyvzdQyF9I16bgMp4wD&V0N5?@g6( zA#Og}P2s6*5=W6lHGholNAhHht!7BPylTPTGY8i3Y#MmUKE>BW- zuDpvx4f(&u{E~qjN?R|>=8DZ)#zxAjLTCB=S}f?Vnc)z7;i<7x$9*;2cJfw{v%gvd znuv-9@KC&We@crT4#U(l;-FEL$i?L3Y-$P^E;1Y0Zd}gEdGaq|i*_E6y<|QR z@z4I)C6cQ5;QEcgh_t1p6cujWc^@^>eRP3ilQ?=)Bv~z@Qi9i*y$+moOf#chFkmR7 zF71z;U}cy5z92)^icMN-ZDS*Utm($tJr?S9nmZJ7mw*jYH-<>DsKGOP4b#6A)D2A7 zUKV-_E@^FHBb}YNX(&E<~m+GFpCMRB!u@vs?tn(LSmLcoE7onO6G zQIOl6WsVvZT`kKrk^b%70Ww2GMc^X7XbrB+$)9j=JCo4ip<8dlhSPodIg9+u`b7qR ztVjAb-1u@SnON&83MEf{L+%rZAx=LsG4ZDCCEDm_Potdld#fy zs+gySHp8g zT-UBOVW+yJC8G>pp~5QSelNgDJNEVBZ2p~B(EQwx0Qeha2qqQpppn@iCS z3z(%#m~odoG`y2yqKD6nxN`|riG6;uVkyZI2{nI6d@89=_PVArnNtlC?n6+-j{_O= zBQ<68QF+qRqt=~QWG`e$hXj+zl&Tp3B(?HCP_oOHa{Dj`e~l&%w<&>JcK!4xcsQ zr}A!UmFizDkmKtgu4qd_O=9HXr$|3pP;&NLy_w90k<^}ietIee1C=UM`=QF8+AJ#j zS=UBVQFImRs>KQs9}W9?lG5gYLd$g2pnC!}av;$2)mo5$m&A!*n!UrIqz72BCsrZ1 zKhKAz%^(>ZMRE2^lx8D|ZP#v0!uQ&Km z`=JsA!V#dl;lZRh{!GtWer=`q(mBHCT9Sex4ePf9^FdVy@uA7K#oKYDX+HbCqN{qN zgFW%lFVeU4Vws(GqEPy9CU%wF;5v~lWlh?nVJcN7)UevM1=&51JJRP9U{w!5m70va z9>a~CljN6B5K8pD;2%%}fINkH{LMp@K`LsrMDytf^{9|ynQQ^k;@@oTJ~1HRXLO(% zNkjY+p_7oB;H0DD_o;SaJE5E650w!q>A!Wk0TBK&Mla#4#NSz7^kYy0T$f+Hzr_4` z)}E2P;XAuPP4=&vICho%gt`+zn8d)_w9ZJ3LBbiKx05FZTAKY%?DHI64rm2#8}!`$EXH_*AI(WaeQ1@3%S<==?plKd&|ze4Tx!A} zPB|3|(tio{P<-_@NxHo;aEal>_$wHQ0Jw2v2YhPQW9H7)j-p2InR8+bs*WQR?EMBS z!Vn;tcp4fAe@n9SGe-bF>;f5;KL;@HH-pRu2YWzPZJxg%rw)DTg|?ewJl~G*&B;W) zYsCWjQau zMJfdP#UsY>Kca0W{NhSScJl*bcd!_)c9vnWhAkeRP35!28CH4F?zRko!)H9GOYFh=tH~&icmmZbk zqy&2P_~SmRu0w3u4al<4 zUv{l@m?Bp5@HHlf!aP_yJ2o{Z0pLuyP*@wgig5e$D%Mtfm5C)ptUQt92;jkmL2~&^ zqLR^67s&wE#nwRR)@khkZ1o5$6I31Mx3G`Te)x%(-lZ_7uU%Uu>+QzqGy;4~Jj7iA zY?352(QSW7@HEzi0+CBsS%k{Y9v!lBHJ$5l1uImf^rmQYa}p)8-h?v0#!16*r{y8$ z$(MBOd!7uJ^AG^mDcau*QzbIqL^Hp(OLt?(eXBz)$`J=Ck4f1zI9H1EW;emY2m)so;-L>uvJOD0fCRq~<$&Ep}TgdOkKR}njT(2Hpn5)ZY{$;h-$j=A~x1Jw9b58}*{-IwsLO9)h^x z6cYe#+pHj1Fe$yMAmt(vtGBZ>(S{Iqj!29GnE8X9cP*Iay=mPBp@8*qgjgT?7Uvv9 z^4uEbzXyJnIyIt4ljK1V?;?fz%aW7<3k0}7Au3=25Vet5y7s3QrtFsQF74H&u z{O()b=pdjn_Cg5aah@!p7FC9%rZgAPA(TfDcy!C^bcI zbRD_}D+AbH9R!ez@R<)jT#gdknII`0vs`WEWGr)x6+Rl_Bj2qc9djL&zf-|O)2yJN zSG8RQI#3C!rpyaWWZX>&Stg%qWRR~i>AHc8;_T*AJOX50T8d7f5X~AXi&>3Q@iu(M z2T%$lu)uj3|NDU4?un9VFitiKh&nMZbsG4T&%yyo(uzcF@qv}#B;CQ(>eN#Wch3W6 z04xWz)n_>RCNYBP`Hd20pUFWD=r{f6iB;%Z43hDdAoZsk-f2GNodiVOKf{np?=LO{ ze*|#qM|1{HQ~8L&4tPVK2p~{!cz9}vLZ?iUY@R&8(g6XtK>*t1XHV9)@;x+#$ekj> zr(&4;|-OR>dFO_&!>&)O!sjLwv1*Igo!U>YsGe;J%MS3;+#Q(GA5bT)t6=r?9 zq6n9E^JG@WyznJzJgWe-=X0V~2k5{Q=p-6wE(YlK{$zVjAkJTf*cyRNt!b3vJv_`< ziEhgBDR}f20@_}AmlZVIrt@*ebiDQ9y?`28t2&xPPWaS6pWn}0_X|9WFd(03QhCP1 z;lxiu4S=JmgSO-rMYns^MJo4PJ;|d^A$<0Ep*62*BA&a^{Q6F?({pI%Kl}bu*VmqX zSXVV69mrhmF_b(*Hq2mO!hpQ7z-P|ex?DZw+{OR-zHbUp5Rr(arDTlXc|I+^u>XyT zPq^#YaK8R*!QcgK;5i@{x~pp+UYq0FC zvd7yFG})cLs{|y2hf3TBfzk}9N329C6>4amfqaD^A(wDU3!QlnLfgBhW^s45OfZCy zEo_6p-9RgGkss6@J#@QV1z^7c(OBanM56nZl_ROO7GY*YEPz=d$;7`!e)njh&n?z)x}W^)J*LjI__bpqzvz|NOM_J;W3LJ z%D+!GNobe^(ggrw^%~(^F~0+GQ99}tG1>y}&c#M@fNm2+qLpbbvUxOObwRk-VwSe} zqW3+vKx_c&ATdbA0`x#xDhClO$zzFu_SE$M#uxe{hXO!X3ke<`q&%Vm1jGA_bExly zD<<$RMDAyfG!^p|r7fK19FHGT2di|BW34cGY!kzD%rr6vIgrbPbeXGmr-6ZWG}$%X zDQq6t&UZrPD)bNUaKghEa~pkz!;AK8!>I+>u6m^F`(AGZs5*c06qd<+mD56Q`GFd` z97wmF4fco}HP={O_yG{&rRjxfTRgKe9EzbzQ=MxQF(_Oz$fm6VN}|ySU0UvOESQ+> zxk1|-*#*N*-X04y2$o44Yx@YHB=vzN`l%li>6B?ydGxQE_ckq!b}hwcvV0Pv?8ZSs znUjzTd8tBidi6Wo{{vH7Z&s-}oSGyzSnuWEtVQIYny7@sK=KMC44x+(|S^Oy2Bu$PUvLEZhtEIBqpffy@m6b;@&S~DB(MVMv zHsaSM|3q{Y-H*(vT2RP{CPBF(q(ZMZ=#fvPh7IT>XaR{XaQ20kHiJHU%ZDR#b|j=0 zng8!P#Ryz_DZux;?!#^704;;iKn^vZQ-p|-jC$(2;rsx2p7qg6TvI@7cHVGHj+G{# z#`tQLvdTb*pJE{zVpxN;`e(QC$K!#d0$S0i!Az&ZjWd~V`)s42C1$%@orsIdAtodh z$$_gt;C>BzkUJ>Dg4hfuAY4(LS_l)4amK3wX%r|9kaZIC=gOo%fBD2erHuYg+ZA(P zcLY1wb>ggw)BYUZwV+sAEsy@|<{pua&FN20`$FQN_}N)iZtLY~Ku!Uu;s@i5Xsicn zJxCXC0H+^&hZVNuMEq88mEt%i6iQk78p?$>yX+>Cb~imq)|&<+Ir3Ol06AHxbO>>S zG*#}H2&6@C3da=Cz(OzIMY>J8-2|1!&MVObg)sx+!W)UFRGL(-f7bxgZ0@Z~y26IP zIVlNum@mXnsWDEtVEz0Tuv;Xp2#BA60RM^fG$i=lAyk*NUP2y!=*9rf*euVGj&$81 zJn>hw8sJ+l*{+{ha_dV|vs1$y@{`CkU# zzP1IDdERWn7zW&Qkfi_V0*To`L=c5UY%X7xLr%~mE2Ew5ep(53udyY>!~vDglqfN zX^?cxbOet}j2^U|`1^yqfXtq1F6N7-hLe(Hwfe!e2*B3OPTlBCYvknos{&u0{)8^~ zznVzxmi1_&E`KMCT_>UdE-Y30j}|f7p4!a6L9neZ+WuVheTM=cz2Q`#hHIoQ`zlb3 zea8ZyC;{9cb(J)oFEpH-#huDqLzi_?5;`_g-<)tCR2!wj36L7gDliybY#mJq%>~l) z1tKYMvxca28A&0E0Gxuea!8PBeP_qPZ5%-61|o3h@{sfo&gTC|_^C+g4)Vbngz%;P z1drStL6|xAs3*X0A$@Vst;XpZq|^i&{#1_qP$c5>Obf42u5>KE!N+$Y2i)ISQI12$ zRa{{@x0xrbt68;>yzzMjkgA34N;K4$i=*!_8Z}t~1NoxjBJ! z=f?)F6)1l-__0BAZ{=JQo`#SGO6_QZam*6F_wVufTBaeOvVrnRiu00B2o}*61M$wj zisU5uiF)dy&#l5ve+28`yLN%F0I_8Q!n_`&k5DAz-U_+`9@& zY3?=#*X*e9QDN=H6TGeLu_oeTKblu{A9OQK7{bzwlf8(=??pJ`;=SW%Yei&*N47CZ z?A-y}8u%tixgFdba$7^Z=D@#{EJdvAm-6wZ2&&snX7nseMA)HA*_$o7a1m+RwH$X( ziyWL5f)O^{wjB}A)X*^%Yw^}>^Wf_t7W}UPLHiwe5-n^1Bz-pqU>+V12RNEtd3Nw8 z@(WZ$Pd+`QS>v}N@@X~XUBSmfbmp1qE{yHgSSHz77X8npS+HdY2$GQK)Gt<6^5vrJ zv=9Zue$JZFb$liTwbBF*cE~UEbBKo^!OxX=xo9{UZlE!P6+I@9o;t6?Nrz~F`YOeINnFt-vFXO>g&y^uqKuzxrPGjf`M_(x>e<2%vQw)tO;)J~+$|Mx%)0ki4 z`oVS3FtAU6_5SA|Z%X%HT7j?>mt~`k^<_(DY~b<2q1lLrQ-@2UN3INTkl-eukn8v} z@yRmzq*Vl!85@|TK#KOmLs{aT5gUO2X)v6w04uyO6?p?rQ6f2X<|CJ*m#hA-CevJ& zQ*fhJslk7Sy#7C=JLjeGXAqv?LLeL1h?;;l*56}zpxkkxP|`>pM}VWhWz-8U`OcHY z8j2uQbY6fu$6N=AQEKWd5q=>(G1O7FAp_@rbcaff=VT$g|-V!~V`|AX> z-ZveP!+a;hm`h5M_NT2XikQWUp54Jm%(?w~0MF+`<^Y+*^|Sd>B2i5m@ma@1dHY>+ znedXg!Vcy?S*0kgJ~5o`W^r@h+;Mmb$Uzf(e*(g=P<*cICR_Pq^@hg8HNxksOB9`R z$^5TM8y;1xMpy-d2s8}^D7{K|Qt%oeE74w%oH8zh0#$Z{?1pn+A%XY8N)jg5;1%)3 z?FHprHSDACW>@S3HQ#pWrOtvd|6N*#8ij!yWFn~|H~appZb9Y3&`*n^?2j`mhOpSYMbLRv__#)Z_rTGx}ekw3PE{+#A8q926da z!!^OZlnNz0x6>$C6807RgadTB7Y1t*fXv{>8_w`EH}I1UngR+H{O-eE0W#+jp zW(S1FLcb7U4Sx0k9FqV1FhsOFd@5&-m*Wb$B|`Twti^g?Z=dCk%*~EG0|Q{3yRaBG zTHjZb5%6umY3_?t#9|ou@8&0`+4oLCb4}n!E;{FCmFAw5S1N%2U*Y2z*E2FZJOaLg zo}QbHo|}w*27b2!yz~C`w%Lz4vmYl6XWoO?M}nsdgQuUvf|o;IJEvJa_w$J?pSn{% zH3LSVro1Vqe6jz`wVJ^>hvvb#)2O+#>!D_-kBh4^4m>V?mT~y;?1!FBv+p*|_AAaU Yx?Iq