From 4ea8b9cfc7d44762d446d43ef382987c441d4b5f Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 10 Sep 2021 23:07:25 -0500 Subject: [PATCH] added compound declarations of procedure arguments --- bin/onyx | Bin 435384 -> 435384 bytes include/astnodes.h | 1 + src/parser.c | 103 ++++++++++++++++++++++++++++----------------- 3 files changed, 65 insertions(+), 39 deletions(-) diff --git a/bin/onyx b/bin/onyx index fec3be71882c3b62898f97275da7d04413f84c89..3fd0ae4f8b665f81041d4bf7d736c7e887020337 100755 GIT binary patch delta 57490 zcmafc2Ut|c7cVmx6ct&J4k{q1pdz54D1xjM7X>T!8hfu`S5!c=u4_zIJsM3+GchqS z1tW?j*fl2B#57}z(Yw*8i462wUU!`c+;t-Gi(0JK z8fPc*-`X|B_1G-#9sGIG4-Kvy_~F2|)E=waY&&%|A^b`4CgoN)eU@=SxT_l6hdF)I zhB-N98V{@W@L(_}ZM);_)XQMX3HLAjY%k;L{A^6`P|9hycm*uVADKTnt z^--~Sz>shM7SkJ#0>FPpt+s6Hozdz<@5-4Dt9$W)F?}$mr$E{D|3*2Wr)5cwk0mlE zB6^@0>SkYUHXg7fjQ-YRi{+@d zEoXB4{SSd2cKRJrcj7@?cGeqx0-WphU{1u=a4$f`{6Sl5uo=Y>BW%vD3xSon?&Sr=(PP^*XM2msyzw#f zK5L4Y}%-c26r#`Fbv6mo23`e{Q6gt%ZYuqTZApBf+09*Bdiptb1PAZ0bP0Wk*RQ z(_1c;gy65Oq#^z`+!fAJEUEJExLpnLd%67k;jUo(J}T>P?Fz$h-EPs^a(8%WM{OdI z1QTHm8}yGC#^{ZGW311gW1c-7Ei-qAvyPVa7}3#EB7a}p9ac{pS7fOW=r4*;lR8>F zOXKP#YpYuCsD7M`Y9Gs_(qKo^MMu+@$(FZD2RN$zu__5DLmSaxPyKpH8nEj?L^dhO zmacooc-pJqbpSG1JW72nKksSi81T7cKt__qb??x69W*$xjsX`sSmsn!M?ABGAJakN zTCul&y+mzGL#NT4; z>76dziCfle2(x5q-G-pw=~ zRV|M#T`x`a3KV;lJ17&9n*yptsOf>lCoWx5m~ZjcYh5{eQvBfh8_eylecWL+>u&KI zH?}#m`^Cw(1~B$d@%q~pjMXY$cPExHUVQxST?OiG*ZuYEYH`m8FHmRc@hA)}xsOgU z_SlkI-V}c)mM5^s#UGS6WUSnB=!ps3)cvWi=Wnov#={0vYJ$XN+;5gyPt(|MmOW2@ zXJ;)Np3P;?End%$vI@(u&)c(qEj|@y)}Z+PibSFHF26X$E)>6S+orHI>aMUjW+^FD zSS?oX7Z^1oU>c8sQ*!I8-H(-Qc4ntoy`TQmaQ8?_ehucUupek$E%r5vtlDfVJ74m! zHao}I*^=XK?6EUzMrEF?5sE)N**+Fc@77}pER=q&hdJw#&Wq)-I4bgDjahifHZRu5 znFW=c@?#5_?-eF>wgsC8v#(LS;T0Mlz`T7gYi;i-vQ4AF^-HuOfJFpqZH3LXacE14 z0EJ@IMqkl)0c;7|UeYa)CDvl6OIC!jG7iMMHeo^RJsR7Db*#HpEb}f%5TPb+q2eZN zE;~+9O<5xQpk#bgHq)7XRq}gtR?NJ<7w!n8RR~l95K-rUPwz*u&)BCWJzKI)jBTei z(X1D9qnptzn{A=^7`BCNDfumiy}{~W9!=KAyk9b>70Xu`m6XRbf5zS>&$cXweONN4 zE!*YH_EK;MR>C%v{M3PkD{MDC@5pAcwIwrC*e41rq=sp12Ya2)r!gZdC>fH@W;6CR z{g}ZrSrG+yX3;3RcV>DNuXkqQY*oq5&g>hG4WHG8ZLh_CEoq#?HY*{^1V3d&SU-Sm zFqo2zaBB>v_!Xis{-sV>R&u=`Ypi(8v$LHd^n!Y1UP-_pwu`Z;bZ#)~3p^r+u=m;G zlJAGGdW_|lTp7w*JG1#E-Xqyr#-^3r7=?XjZlDKK?LwDv^ z^4lV|p4S>IHsP2$B8L_%VV|o0> ztQ-%_8O?ZZ?=iZ&Wtj!Xn8ECPM(62dIF=$@KP(TL8g7Ho z;Y9l^RIelt?N=H!R zSDM&@H)6|aRSQ0)@vB1r8!yG$RQGX$htk4BvWzzkMt^naL;-CI5uzK=eqPj7?qK9Cq^Fm=o{%_3V2UzG2mnum&YB>BRA>UW7~ z2NL3m2T3-A@mGU!aCn5_7`6y)PU=u}&omBA(Lc%<&hpx1nuf**m$>Fyo6VG1V2jWd zMY&^A*;*Gm4tp7?D_m9=O08f~ij%Hzk`7at)4~&W`#U-1JH`H%ZG4RRDO>K_dQlh; z>UTlYfk)6y%qsRfM7=%)Q=9t67|dDWDSF+`jNt}jR=B^Z-d3h78Vj~8c#5goVk(V% zVt5ZRT(F)l5*BXB(;6VAuCUa_$tgYd(N>nPE9#El*`}#6v486e7CMFN3Xh{g2wj^s zHk%$?x5Op_I$hCr%#bNaH``UjQYX|Sn_k$CISGEuG#*JWdX(#`Ujp<~FdST#kS(|@ z5Wq6QV`=6TmY%48z9>A?G*`_uO}{6?tB`y_1Si!EE0bd!T?_tX=|+7yWF^I%6Xm4a zIVn6R%Qz`KCDZJDV2p0+;P8}!KPzhenDQzbGJ(C$6JnGT-os$*;bBS#{W}i_QF4JY zmQqmOLRVrp_rK zlEEZApZqeU) z-f|sz;G@pqqa>QlnlKme2Ten(+@fR)SF=H=T!@`bb$R`U6O08(#?dse?Ti zf*kU?P;(2y^F!2~BQ$xFqGqaBa0R-%L9F8JlzA*8MQm9nR6~l!IQ1pt>;g*}%uz!C z3|({G6-*O`5Y@3Kv1Pl3ER}{~FeckCXrOL>&1M6G>9S2zVjzMoYUv91a-kXiSLd1k z>0DD+cm=!kKl^t6PhV$U;W2Q!)J?jgZuMW-#FS#uQL8mkFR%gIeYHfNe5f~FQ8U?T zk?d4UcIxO*2VVwZW1!OYrhd*sC+MNu@xOm;8Qk$#>ncuo@KEEX2-B4jV<Cx4_r8q|P;Ul@70j(;N+~ZY%h$aY1!fmp5urxEBA6g8y#FXebLYlF zM0CMG1f8zvSC1WE~#VKBR7 zI8|qO7!hj-@YDsTz&yA9&%!Ps6t7$X0O!S&f|(!-NuwYV>L9-t;B;M4QvlE`WRT## z9cITP49jD63m&sgSrCRLS>eu@9eI^>r=+$*hzcX|S8~xV?38tn#KcMM4K9e~~k=V0DGI%0D8v-2-a6&bM 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 delta 56991 zcmbTfd3;RQ8$X_NZbFb`64`}hA|bJa1VKc|$YMh5v9Gm+id|wSNJ7V$qEjA9tF2ZS zMJou=YAivkwYI98t;!vH7fV&l_kGTtNus~c@B7Es>yS8wePEX`@X98 zX)RXkHCGq$Z|!Tvb=fTL_w8HJf6r{>{qNwyy!N9SMnw7k{C;8aCgpa|WTVM1Qq}io zE?>4~E-o3SqpB}njFzNN?zy`3HJY;`-HoPWab@-ydi#tZ`wZ_)(=~NkU*?iw?y5H| z?qzL|6|7{K23nK*2gRwMW>t1nu5Q6grs)>?N$THysvPTm#6n~tG_|Fl|TeY0PBo3Hy-j&xN00xxJY0B!pG|A1Vt4|AdE9^BX3 zG%LF0P|@1MG2xzg!K~21^*dE?&H|jX0Ou@kb-Q&*R=eO|U>-yjb_(I-oP(r zq~5ij%?b)S3Y0idSgw}fMVomKE9)QZ>f0NGvvqQCFKg%iu`IiIYJZip$<{%GhOz_2 zy9Wg_Hp=?V;7P25HDSnFmS8T2zZtQ7+MMbTpTVuZ*;LPst>}YSh;`Lw7<}BXoeRw5v zwZ3^+&)QfI9$v)XEPy%STt0uNUQ=x@i@x&I+GaRahV@ zG}X#;oaKW>xg}|wY@A@d@`E4iT>S8d+nlwvUj3;B>sajl^J2zs6|eba2lIF+B4&ao5rAsG51V z__Z6`T-hJRoo)|i?0)h3I~9!8EM9jnjxm?w6Zh{ckZ=3`TF)*Q_xbxd@~pidMW7`2 z(J96rT2r1x;Wy_=d-kySy(giJJ+dD8#|&!f^)$feM<_z_Qoy(qDeV-j;|5|@~)`2~+`d3(3Nb#16L?QMrKR?30E8b$?rm!y5OJQx; znvz0=)navjfPOQfPt$QwN^X6%S9!^1S9Xfk{r*1%_m7n1*I)q(J4fqku{}sKYqJm8 z*^-B~**V5emz?lmk6l?bmHDuSNPhESU$7W@r!H&H!sw^E7_$!Pd|4iAMMb`>5o=ho z&6hQFWx*w<0@(rR2xigsw6a2Q zmS~5vQ)?GSJ>K;C-E$Zu}$RD zj%Bg;O0wIreXgvO!aA}NMkPOVWRVIhp=X`hEM_g4nan;`*is5jWxLrbI-kl+Y)Q%R zG&Y;DV){OvWv~JY>&jXp>D84PkgVy-BH7B4ypFwz?!FoB6u4aV0IMFjvkZOWI6h zTfLZn$&5z%G+D}A8S7orqJVv!$qXg`oMs<0)|uWr%O)eK zdyb8)l_vPkuC_6h%sa=jJlLp`)0bE_XG=@kUS&B9$a(h~>s5ozqd!&l4`8}uW3jI6 zQb~h*>}W04m##f#pR=5j%}-dgKbuf;!jt!AEW0FF$8D_ESQkN!g{^B*xQ_dm=zaLB zjEyPTS(m@3pi))<*VkcPO7g;ayu$96Y>VU{ao@!?AaKU?ev)eG!cr5HpXpw`N8_V- zPqwpUZxr9geYV4L(S^x6nF&vIuf9n$n)2L%83o6g(c*e$@hHFNnWiA)@nm;l;v7#F zmLQe|wu6x4MFXTklNMXhe!i~oDrhk7kub8xUlQtUAqXtby);_1Fr`Mit5+zY8BYOy zEfmQhI@FAhN}t_NuJarunUxcEdgl zB8bFjx?n35Wvk=LY^~_;7(RlvpnffQBAY|2T5uD)P!imdf5jSPnCzvmppjvKp}!%k ze?Oz?FJr--2}X104D)QV$MQw_L8@hhfG{Zl8q#R`2@K$eC&NDIOBab3qiI-VwDC9= z068w|2vj%d_6{7CVH%nI=rGGm%rK9P6=dkT)^0Z^7TBY8MU6Z#sHh|=c*2{(dNt7% zZj=J5YqF-1JzZRS8FE(P`ux+1?CF8QDsfeiP!uf+QQwduLt>=Aj~MUW8mAgG||S1ED3#+tn`qpqV0 zuCRiqNxDLJK(XX$8w`}^UI>D?g7>tzyO?WoT3ngYEDVHP*Hm-z6F`<~a*b4P0D%~0 zjB6yMj^1cGjJo*{^0KC4Ha;;FR4`rPY9JxC$)TdJ7R8CqjAOpaWQUAqfL~@jbk)sx z=!%<>JutFA1Q(fldm9VN^rk`AjR`069;6lB%?s3~?7%u89ghhBGNS`$*%`Vi$8-U% zkwtfPh53ucM9sYbhL6#d71`ccbWT@z3LqHAba`T#z!E1uTh!WUo~IhkGaeW%s9`Xv zk}h;jFsH0xf_RWC`pDKzh4-el6JUywPGR-VnI=9l=mL7`jqHrhr?>ZU7c8%fX^^YV z$JYo;%SYH37#Ucs02b+;eAcMeFGHV$qmfT%moxwT9w3y0BT_`9nkGf|7K8TI`A7_a zd?c|+A`$dcYe^#BXRn14gv(fLO=B~QJHjuG$k#$828$7p* z5<&gL*GTFwumemRq^G0G5LC%94-{35A|BBe)r@ApNOK1#pZr|^xjog~#T82o+xU(< z{Br4^gN!XnySx+^gFSzicdF^II&`WKvt4721xNK}iIBoSpgf)a=s{pbGUCj;s0Rsb zbPDd=I$#7W@G2W7D&%3b+H15Roz%!dV~x#R8wrNf6(!d~X~EG6nWig4hZ}|&h8sp0 zMjn9>%r8W_*7qD>M4MXSdCansf8)-@-Bs&scy6!cUc(YdvSb$*TLAnlDaR#EOa(s( ze6ulXagE&=A*s~>O0m5&E@LLr57u%o_|#? zKb91PHK)0|uCO^sPbeolcuy@n3Z$D{BW(jEC_+!gmSVEPIPd7GxTvjzpM!jKMQ7kd zY787AU|hLMd(CHg?&5tR-X(=C$&7RrL}M_gxg@m{BwO^7v#GAA21-Qro}xL_;u5=7 zpBJ($V^Jw0nF-~$;L zx;BaWjNomIk1|YMV{PZElwpWy*a1Tc9j{kC@TyU5o*vkI(_PSOUXTo|;Q=0BR%Ei8 zJ&9N%Z_)Slz_H(s;yALWFWdZddV=AtFtD{70R!uQMp3rCQ4}_B9)_<5DA&)XN*aH0;6s*{>o*hrHy75^e{n~fy>4|7Cm$p3b?dA1~O$v>ZPt6A14;(ei>{r zz0jCa(jSIZXpmOOahH0it@BCt#-AQOkKSnN5(~cv+N6tnhG~G_765!`r0pDF5SpmE zIGWj!_sBma=Gg=qY@i%TC@#&iijjC+jJm*#1B;zF&V_HA6^HuV!8(yVskvt25gqi2d^%BIOuK3?lMg7v`lqe%(3+4;Ce+*11n(T=Z zO9F#PV`UowWTSanY$?Q{fGtG8rgy+r0?;+s0!7=o7!I#7Fp4B_6Y=gukg&GYk6LP& zml$`A%rs4KPoqhlc(C7zM~K+f%mGaZN)%CorxU5{Cl-)@U$AVRw>kvIFJP)72&38P zBnVj4x!%H#u1*j}b_f)jVX8*4w(lV!)zu&^IgAjR>QcNp6%$-l5j%FU_bkEQ{U8Od zjQ@Wg+BQ~<80H*NOsuXpvD(gw%@{9aQ9_{E#kL7+t?qmo;6)1(0cX7XGWjHPe~)I0 z;0*grZ9MxBtsjFcWLGlzaJ_+}jGIBW6`eceC8EwljP* zx@+K+_<2%UoLuf)YPqzZ<5k$^MvL3kzrg2$V$6z-9ttu32k>qy1#Jk*gk>niyx_<` z{=|3|PnX)Q6qnL>r4bZQuEGdPs^A!UJ%&b8O`O*h^BaI1jnQba0S-=c^0~wUXqSP9 zv1N45z@yj$dTQV;SQa(u!e_DH>Fq8&zFC$)#8E)%Q1wT$TR3H|dLSD(3z1Y-uI|WQ zm%;<;xJc}R$~?zXcnTlIifCyH9{?x+#}wWSiCZd0+)s^C`8v3^pQmErCUiZOXY^tK zyqTwlvtMDa7#^iYj)I7d)d_~Wspc0{=i03k?#uw_Z*JMec?wce-cd^coFB3SB7(HDI(xsGI-g4noZvNpZcnFMZRMr?ST6W8@v#V(Mw+ z;jzy-yyN(X6&xOy&~3JtupGKDNG}KS+5w>%=1Gw-EN`kU7t>}V4@jzu%pNfBWM=Kf z0Mp#rX=aiK3_f9Ang_ZHiEq!-Lr=$*!G9ORqvHtr(};y!M4=fxs#`5>>g}ORoFl$2 zjrp7Er2MM9S&qCxm3a~-UD0?)LFas0mBC}+seh3HM>&(~cjM_Sg2r^?X$gzqu?p+R zP0X$6!`gyLbKKz#|J+st2XcCAelS+^oX9ZU+Al<`8q<}ocH;s0z@u#`GFCew>{+`S zPD&Qa-laYMGdRgvsR=4o;^;M0s)nN-nD+k{M_@jGZOwqEvY}$Jfp;U#>dwR20$Sf4 zq+Wx{y7NGv1y0lm@qSaiv4GU>yiLoyg5q+L3%|+>t6Z~9sEgSb*yrntiZL&kAYcnD zy7HL1XJRG7srPUmK$c7dIu_8UnY=ZdPuDXMXGkS|4<6rie&t|rupNs&Mr4{hO9$KT zScB7xD8C1P!RzwP?+sL+SG#n9*SRtQT)XXL|A)6x5T~WqNAX zlecOx&u+J!g7lJc6JSBcO|+(MWK%tVZBS*~R$fC;MN?JB)whO_cP~hhza{AdjTHk0 z>GzS9gmlh8^euDk1!V<;EX4>Yf z?7SmQ=*=5|pqKULZCC?3(3>Zviv0zP|B!9iNHE85mb(o`cZ3OCvD#5a(zef#hrHk)$#fVyYXhCV!=yF8~eeRx3dtjdLvRPY1d zMQ6R{k-ZOZ%w|#JzPw3XD)9NsAJuGKwfjI!R9Ji(Ry*QVOck7p`JH+|i~Djvh;g|* zSNdUjPWR=FLqtDq(T`Y{Z3EDQ6Q6Gl(2)MXiO-6D6xWYuc#BF-3*KFg93a+R&zJVA z?72ZuidgIiAd;>9QF*>xp>lOYe@%onyzdlYPx@9iszKATxSyA(U&o<4>i4JBCz-#; z`}dq6%$M~$()}!6!wWjd(e*KPTNd?c1U25KvTE(>U61JRs4rxNkft58w64qVI=kN3 zM}X3iPWR_t%s`j=^Lk$WFoL%Ee_Z{rA5Hs_`Rgo6EoB?&=D5m6lG@#9%mD5$n>3O0 zJ+4MqHraVc3?rKq_SU8h263a`2JjwiI>ikH;{=ewi`S#c19^(RiK~kgR-iH)o*jbB zbXZ&2P95mXKpx_Yxq{*MBC%b@kV21B=bJ2$e=wB-2l1wZ;atIz_cEFha-AcL(68Zt zJW3PV^T&z`m?pzx#TNP4Xvn1K3pRKbW^j0%#)K2YrO=!JH(9qsN`!sLJgnHe`Z#YD* zw-CltSsN-F&bzdLu_{G(qOPcmP%XlHv=#p=co3eQYVKZ1cIE1#?i4!$Qtfvqo&IVR z7N!ART1P;%Po%vgcvKh+Q`u#6UEw2iq<+~AeK@_pUEMTdPrUBz#K$OYT*?~BgW1b8 zWh4;TfmV*>jofcS*_h+E-=zH`d5hTJfR3v&DxUOlxL6PH4^-(>RCyQg`-MYSwK9+6 zC~y>S7LEqyM5pCoK@*AZ;7s#mNlrNvXv`>XWO4M#C_dU3#=jB38%6YAx_K2I6#f#V zJJgKB{5h(&Fw)|eU?QfGk2`N$Z#@W1vs=}ZT`SRbR6W?09=wDoysQ>Sx(BSL7c@37 zyBLtVs5u_gZ!~XR2PUcv@2C}T(3;UaIJ6BU*6(m=9i9G_UfF56dLv!K-_$Ek{H3J| z{I#NxF+4C0cHRpSh{-U_)p4Q&rzjnS7b%Ko>VZ4^Ooz_7dRg`dpQ9v2OiP28c8=jb z`f(b6U_G-yh3ck}{riy;R7Is1#yzx8zJ&rE~v@^0{CXJ>yvUz{(!aT^vUe`-x7!S+428|xi zn;>)Lc;236Q~7w<;Wg-i$Q(uWCh!RMGj*E4+oX(g7&qAC_(xcamSIxp_y$)A9UYzx z`{1fWiT+ec*Z}dZpTG%&o6w#KybnARdl2`h`Y!_}S4w@E8+=DrBVwbVv}LZsA`hS) zF9U!Pbnaz7F0i8@gQI#)z~;mM6LMwo2-#IkN^67M=lSA(t`PXfA+0f&}T?8sS<9NSjBU zh{;&zQItEGw-)A+VJfhGa5BWe5V|xOqRWNO)Z+DgR`|NgcoK|$#F63)d?{iIlt2Wf zP2nw(Mi|mKz=d_M7)2la0u+Z4|&vZ->Uwvhh)M zEMA<8g2R7~cny~4_L<6Qm$i{oi3$~L9U=Nz`Up?8o>jak3S&j@fBj1*XK;NuOgl%! zzVHh;0_taNF{)FhxvTHC6=({Fl58=Pw>SR#pROK&;?y|NL<6*3jl_!v=xm79YPS5g z(;A>SNV&MR1hi%&0p4$y==Mw=?d~bJkWYG2NG=GX0d>lSD9xhbxjc}aqP$#0JNnUk zxx5R?Zszg{Eno*eN)c95UpPJpC99K=V}rbP>J<@Qw!|zehuhz$A1%z|$zD%jKAHX$ zWN}>W_bZ*uK~g z;PLpz(jhZ%>lX;Ap$-t0HSK;}&1j`9_D3yc4LUFz#QPKdJe#iyd{_a6cE2pmbVZtz zA}nZ5YEX-o%;62aYDuPn8-#tO;lcFT9G(pB_;U_KLl8Bdi*5g2ls6Zh4WzYmA?bS2 z7jt=gph-z`8pF z06w7^UR=LzS`s|CG1AMAC!lFlYJli@UaGN0G=ig8pG$1vB$ zP;U;=7AEV82*kstl(2wj$Xd>rNob7Vt9qV@y$TH|*lKoDp^)0r-38o}{XzdO;IXVb zHDAal2KI&fZ#t@lTPydR!@JY=g*+q_aeNtr%QTG(x=rf$%>Yc25QVG2H#ON5ikFf)eax6L;*z$fJ14|BHo~7(`uuh z!ixw|S(3)0HoRDQh&WF#_D`g?k3q|PK9Sv{N%^q0GH6demd{8(=kw60g&5hK^d@tv zJ1~%#pAes`k*S4B?)i{@G04G(MlIn%G-)xf#onV?i(!5mY2RYrp#yBM+sj}xIksC& zmwQ;SzpEZWKDu9tO)gEFiZj3Fc(GHe^?c2nnlC}m-lFG5IBc|R3F2K*n4V@c9aAqw z(HRWtai|if9U2J&kEbR}Au2`Hno=wuQ%6Km@1>|(R#~+)Qu0Er&Ki}~xkJTEvCwIB zeJSr03dXhJtccUro8K6HX+G*PbxLDOEOyyeg zKubcF^QJ?Soep7&a0qMY3NL%WIG3XBm(#*HgZ{*zqYR)}5nO^t*x$=pqZBnV&0}PZ zPN-o((9&t-r=6y^m-FB#?5TqM1S(z*6SRF)Z}SJ|RtKEJHqOQtK!0e3RFy#oC{ zhX%aDJ1{R=^9uKCiXPPBuQbH`0h6W*F`j_F3NiN1bovz_#$6yLm|B^*KTcK|O~6il z$}{ny>^hw_@w~bof)sIX)SM`Hsnlb?(V!KGKzq>s6+A2~$uZT1x zGx@0M6-sZL;nS5kJDnUNI?YTh#oW6e)8?KHeJ5uNj>xiT0tb+BCK$cYyNSCR26>sSk4Cu5VB#ggcdaw%0 zq*$AaP$q$a8Zq=(&3zL0V*ICvwDEIbZd8q*1>3A@{B*oI#~1FiTJ$SzSj}7e0rRQ4 zy^&m2O%bbpuN_@k%>zSVkx9#GI3nZN!b~-d(+k7mvbtar)m_7zY4TthxihAB3#bCwTAIObHusnR9q)n)zs%09$g)qpf0PceRssL^yd)KHD6%qzvQ&8y|9vYZ~Q9w|#A$)yJP+V?H_t)@7Iq_2R;Ce_(Y+BrP2%p-y^`T3n zwRsHD+Q!;ufa+0x`?`b_PMUx;9c!)Dl#u3~tb%eJ?7u1~2jWejdgeJ4^#du0a^W9R;3rdp++E+!A#0 zIaXRYzvcyJo)}H{GI6%*Oa*n?fH2@*TDSq0Z#-?>zy~7vYXicM@f7w3{}7JNi8uIL ztTm0_2q0S1ryCKWyi75huoG~Z(l^0XZAG&-!MJKg`!>P*Xhr{Ona$qhz4Xs3uyZ6X zSS4NjNKWuandIP@R`2#|WNUikO&L@B?M>bl1lH^=^cP1%--0yzg_gX<{UUzBKC;%s z7az(V4vNIoTd%&^SyzoW)Y&W`N(4#&71+*%kV6GdIRy@QBu3(9zhcZ+&QK)g^0k4($tSaX9l8x)u0 zZp-m2{uO;?(7k?CeJ_Se-$C4G16_Xy6WBmO@A62Wk6#4osw?$)mv3}`PvT(Kd-UL4 z*bWNS*aA4$Q=2Wkajg&01Oc#<3XR#q-_>oARR<%9`$~PBPR93m zOP>#3%-+iBmG|IT?VzuagaAFpF|JE-n9_bl($GSjowVn+R68`K$oKgKcRA1abMMgW z@AJVP;;rC_u*xUDL;t)FFYG4@-^$~on^eaelju}{8*_X07cXrW5{vN?2G_S^feN|U zY5i6{1NR#0e87jWD9Zi-R1!ryKH%@VU&J6L|Llu2=tEFlW7_y3Z|(7en6fzF>3RJJ z`sqX7JHoL8jD9a}kq$=&mcBX$u2xWwk9b?Qh6+F8jj(tw262iP7NNH~tAh4@#M5Fg zh;I9$TmLe$soBu8_m9s znVC1!f$d<$f9UFVoO=kT_B;4m_K;5P;DKT5C0ui5GQrzuvZ?+J9gApADm_cCJK`EqueT7Sk{ z25sUl=H56aI_-ru+x?K{ea2(Qn-p+#UN6Jvf}d=;SQc?y!0a|d6qM!Ol!8Nq>g0-I zsSe>h`2Xmy!$Sc$%zkm9ZgnL_HQ})K4FQ=yrV_Oaz@MU3yWkkTO?!9Yfd5143EYdMp)%kBdyeBH%Q?dnzWl+S-o|8ct_up3iiXs zfmxCQUX!%~U!z`oxV{DoR9i6R?ZM%Jlk_>VJg^hyppgq-le&jT`HCEEjFdI9b?O>w zxEEu5O__UnHew>hd$ETTL=h!?DGQ{nCHy`126f-Z+XbHx4IuxD9_5Bt%{eLJ1Z~{M z-)VWga+cUbp*Z z#pTeIutQJ6Ol}+V6&G`gYk}%k@WfxYTx^hHi`$3jvjflsN7sFhu6(KW=X@ipOQ%2Q z>AhD-Ff)*-&BIY!u&y~N4)1a2a5&zG6Me{tk48o%FRRzEvx8c7L}QQ#0vD)?5Pv*d zLF2vvV|bDI3%=GHnNMNd{i+m{dAcW^(ntqUvMYQ0;LEbfR6$HycDOjqB-={aJ z&6hlm9inWJ=xF_yJj0_*bSDlLx}7bfyI=C*DCk}Ww3Jc!A+D$WWuU_^#j^>?wnKcG zmsxPWWB=~{b?SVWcWQc2bkkk0jq2#I88U6Xp#e2ZA=5Idy;|Zy9~|cK@GXBm%qRG) zd{Ky8{EY@2f!$Jv@{VAk)DChP4(Lm%>E)|-3T&0G`c>hS*m%b7kTd!bHph5EYNO%n9q>Z_>@feTr zF2s@`zJ|b)@QX%Wp;O0jn#`SU9pj^um%oUHvzM!Nv*K@9%_Gef_CDgifY1R`&{uU} z-n~pKkMm%k|MW8FGVMLiWApbbF8l3}S^bS>|6O=N9QHTJbX=FYk2A9EX9}6HB^KMP z>L+kpKwCwklG%Tmvmu7;i)YoM6=!S3isC6+aaXO_=qw(J=HFpFwU<^Nt(7-% zmZNyBD2|oINws8gd~H#jEL4`oe}E`v-&NRGo8yLxY@IId5dkCbtWzZr*; z3^9|(>Nfz)F_T<54L}FWT=m;5X3`Xm(9`kHDDX574-j2=U#vcp$EwRk>Uo++#eb%_ zIIb?(I-*aZ1H~jRU=p7Izomz@Nh~OklXx46npHp_pXSZu(9{9VFX;S#K@<6wfTlx^ zgyx4&spc6#gEv(VC#MRpk5%s?$95nc%ZJ$n_}>86XoDHchX}qINsFQ3oj0?zd$X{V(^_+gAW6I)dydR z#Vfs|4ZdlK9J~yPn!AKnoQ40gl)gF3lOxar`0boXmK+U&cNSL$cJc3wsuIbzox7>! zIX=p;7+si?x@z@}NN{;YYoT2vu{GbV0gz$3j!PViL8ozd5x@G&xJ`t&?&Z^&b1=Xb z)3b9h;q$5KdH7)YWIT^xU_RxY$9`WvZ9k8liA8kgJc6V7^zV6IKYdY!y|lR=F*0@~ z+vI&LnY&~p+|A!3`dops{bD0E+hFp5)s(bhyPVA%NHR@V#qApZj|XASOLo!l??APp z*y4Y9k?@r<>lE?+!W^3HqCMY1nJyyrJD9YKDCm1cm{8xAB26WW+rJB`|M$>#3u)c= zJg&|{6eWlav}X(G-1pEFi>Uqu>>DklgbRF1!~%)5mfIv)u}CzeVO1PR^ZS&(z5oF- zpKe?LS{9Js4_qHMAFI9JIq6iByO?!m!rcWs#jJDYQ@8%RRYCe@r1WU!>!jR~r*uqiAF^l2<8XX>l-DE1;inMauy zd8devB(AVyq~WT&cn7YkKu3UL`$eqNJi2%h3p#_C;(0Jl(l7H!uQ@`$ISh=w$7#-G_+_us zRTUw~=a+%jJPNwPP0iny5LAc+meBCeD(rFRWV8X7nf`_Djh{6{Qxz& zyLua8?YkOH(;$AILTD~V59;lsk{({iv%x$PqW_xgRJ9(U`PXUZ9`2Hw<<4$=F+^LN=1GTs3Hze?FR zu&uD4-noJ0Dxq(0z%@Edk8Z$?n@TNj@<%v?-dN==^ZP1-%eyv4e+$+NZ8O`|GJs{6 zW(Ar2kE0NnP|pK%23<+7#u=7@(YSXgBDaE2>THn9{RDAISWaG9K`V2KY>l`pam^r-dEGBuw|vrt=tNmyagX1KwhcsItaU<>ksM zf8&EA>O4pG=*sNhMD`d*_Rz}g??rZ|mR*GHTKhiX`5P^Miy>LB$56dL5I2$DSdv}v z8pOo_%Kiff7IxC|KX9fohVUhsG^0*qh#dg#F8ODu2Yob%nCZ zG+8r#dT)C8h<9cqOX45%P&f7pWj*8ZY0CwR#k@L9p4dG-fVGBKA@mi z^9RUHIkhIzQn6PEq2!0l7F|`z#`^7a>KV}g3Eh9jgK9Y{?*QT}U>m$bLn^R+)t?qr zaJ>(_fYN-ioWcw~rY`AUvb}=q7>;~>@f^M>Hia?{|6#dCU^5x2~a9I-H z5{cvRv-5)j;s~_2x@Z-x=1MF+;Bkm6S%}&OC`z-|VyVaYtueB%?bi@oRdaIwqnxv0 zPF1-lX3uU#l&dIj__qce2`PxYWk!1I3a5iq)jB6A!c}P%j2%VsQ3-E^tqXUdAk#cH zvbWi-cOgx2RXVWa^pPuOYoRBu$_{AV58RY{LLb&ptcYwht*J~$vZdiA443TfxLUc_~<5bOUIIHZKZjQKNeo$#kfr`3?ZnJT zoM&YtM%v0D%f*G=-e@(Vqc%5h)EnKJxhIZCb z8rFj}a!%(5SS&`<6I&?kJ@x!(x?M*J?zlj4f&6lj=9UdRZMa`ht%>}$h8a7r7_x05 zh8JIq5-SRDLK7+3L(vDrVlVwe$UsZ{o=o7ulJpl6wJ4qDdMGh42tM#oGLc~YA}G*P zi3`NVY$r@|fFp?bs3TvZk)BF8M8*v`KMkdN91-m z5G%JPl306~EqZ_>Pfh@>PukHGozgBCUO;K22IjO33Fbn9#^e+_s8dpt+u{15FpyHg ztAfz`A|q4s7QS48G)P|F{d+jT5)_dN?OGrEj(84&u|BC4b@5i>Ql^U~jBh3qlYjG8 z!kFqGtwyXA^Tuap?yDbyHjL)}My&4_ZDr+yNYaWP=?b@FboJs?+Uu>%6nyBTw8uHp zF+R$tKKL{RG<8sF!f(0Zh;?;)og(Wh`o^#06t}4?t}IRLPg&3$SIg^Tx6N%;KQ6yw z0!~>FOB3rVt#MuPt-4BMB;|F%w4KS@SE=8mrNf+111%sKM_0Ll0B#+MDh;C_E!5vv zX%dY*Bf=W)+7gvvR#>;@sGU~5HiErdeU+&EA!5=u#op}iogk3JrX%R3H&fd>OOB~0 zQGzfI1hOny*%{i`l!uW;eYqa0J8ENyC6k@uCv*HlJmY(5nCSc#csicqjk$yVdNbT| z6!xAw@+i|!X^<$&E&cGJDVX6Irr{u^s-9`E?Ag0o&mMRd3g7Hjy9K@Hr?hJpBi1kr zpN}{J1=Yhe4xvnqL^F=31<7H}Nx!0!>TaSM{z@`@)~^0a^H9xEYlZ}9RLu*-P$@z1 zRPxrUF@tH1zY?2-X4=Vd%tes7Ic9oOs9EPld!xCvbViQ=>M8E(7x^LvnI`(s6%I7e zbAKfza$tr1FWuDCNWB)CGbeR}7pTpkcXQ0$9B;^>aREwWAH2zl7<4{D8`WJ#n*tyX zy3oM@rCBYkzc6AtTIkOJrEj=NfV(gn&>EccRd+9wb;L)8zFJA+0+o2k{*8f3Bi$+o z7wUz0vv;7=fsp-c=-)sk(W6K-!uhNF>L+WcOOO(o20Vgn_Fyj+?5=rb+9w6nPq0Xt ziLtrG8q?nZ(_ezCuQ5GbjY_^Rc$KyVDairoN^}D->p8npJ&TA1E5T4mAxQj1sK9gs zE!#W))ZZR(wzEGwuSV8mieH* z(ivs34Nz7D9 zH|`#P7^+0WpE(<IFeR@2XhEq-Es*RNtgNqeqO@qre3 zp9llpiKKZAl~KVXG}_`9Z`)R3w4S3^khDby)KS&HOPgwoBg+l!k2_8aQv zZWI=&qy!9?-E?%`|beq!}eeK}dZ-Bcqg1){GWK z!NzP#-$W@*gRy|6o>(W?9bs{DO;ekRHEl||XfRt-Y8kCW`3w_mdrY#b5OBwv()ehl zNjqfUK8jTpdHSYsJw)6TH2C)*L0?ya|3C30y%}jmCcC2Rz!7vjT4`P%$7-Qz-8cv@ z(>%XDB&w^c4ayjI*qV^8iSiP52B$Xx!0*!PCd%}nb1+uNoHAMrV3a3(R!^hpM5e_p z?>bFut~5$iOrlmw>((>D$zQ9_ z!Vtv7uGc>2M~bqrcJ`hy>cvN^gp~!<-^6=AH9V0jS}Bd1y$7zhYq1OwaQGKJz`Qbw zk4fTe9*)T+oX>3_Fg87mdbCz1_nU?FG%J;DWDsDQyE;@h)IQd!LmkoN2l#;dlYnu@ zR*Wc(Rr_ptames6@@#{dgi=%+C9V@}zv_|F@);Wa0Pu-D99l1a0-l5oVyoFf#Dx}P z2)U}!p|q}zvcR*hB(6*(YOjtI7Oyl7b3;}_mmut`nv-gxV1F;Pae7D3eP}|wlJ4o_ zaDRZcZ9a4$Ua1$=ULyj1rZlKcmKHd2R5{YH^Bo&LrB~PU)Cm54~GFCqbu_ehmTx z3z@?u3&ll&h3;s@Jw)+WTJa>UxCDv%tybJZ6ra$FduYWc8>4uKR;&}n$F$-WTJccP zdKHRkdVA$fe2_<%p!CPLX~rceX}D>cK^cx4Ok+DJk?6?O0eU5yKJ1{h?gCm6|4^4|;$TM? zA-h&%Q9er7Y<*2LV@cmehPnlwy$!)^hkV26eR8NlBIs{4wM$guL!&V%2p)m4piqgi zc}Uc`fpFwg18GH~G7)#TA112Mn%)8aV>t?*%h>!<1CPRg>7F0%0s zBynZJBgY{Ne^n1)tX-*lXQc}c2E5u?SrLa1K^qI6D!DrR3eA}Z!QVrd1{D?mnL+T( z*V-Qp5I=>91cdI#=I8e$0{_#lze2FYh>N^H{*x!!vcMQ7=Hc%#`6 z4Ds8=yD0^ydUQS!x+am4>iJ}&ObNkb*(}%sR-^04Rs92~C`H^ztm=na@f1;9ODjGniu1H$lUCeI z6yK^XFfu99+x7-F*|Zzx8K#HS#0W=nB@Hwx5zSVhO3}}{!Z#pv%qdR*v3G*d!MP%G z>F*()O^<~R4jxAD8^u4O0`w=Es=p1VoD4VtBd9C` z5@tAE&QQA5#bksEMj}-3W3^xiC3b@s_X@4-2Is>}KXik>j-`j)ltd6oTzAD-Ylx8f zH`O~mX=!)m<;Iv{=`>ALZt#>SyX=oiKdm7YcA0H7gqHe64f4rUCg9`L^D>nZ6x}&!6b19B8tY!F8yob6XpjO%Q@Tx+eWq%3lX1KM|l1B z)kbI|Vq?FdLRyhsS17)<3O)AwV<~MyMKw!|cOB~7OR3is;kr!IKZboRWp}p@iomUU zuq}E-SL@)CVC=DIZGB7yy_Dwp3hb`M3u@Y1=B+~wd{@fiHc#tA#7t!CA&%CqWb52b zShvS<5~oi@Qg9T<{O(uVY#f4m0?)g+?7N1&W$tiD$40W-KjbJHe4y3*u-e>38|LqL z4ajfc$pFYVM8}oiIWve)nxg*iwNTxGD)lg0*zoOAJAgg`P;fv`_Ktd|MLh}qo2Y~f zI2KPoUo7HzjdE|h%S9}x<%U(vSes~zM7Xs8Cgmb&%Odd*p!?fjsKvA^0N?IO`?5S&|$%JI}6Io zn|kzD&NA_)J=G}1$OE3+VPQPH_JOhX!|e!oq~ocXM!Oi zN*8KfB|rh7t6ie2ibuqTDLL#aO&*3di!V7n4AC&$O9>i*uu5xMGXhFVNA?j|GaZGD zRNlpfl!GIcn|@G+FWQi5UOMd`rR?Y%i&cb$tH);E6NAObY>Va0lW{Z8^F<=F&3Iue zP7V2Q`M*&9s{bFf|0Sg@F77^f2_e#!)OfVg5vOa%j7Dt5jkb+e5`$WbF>x=(@!fjk zp=+){;FU)7e6%tMw@1KB0W^7xB5sn%=P$;0Us zpej(OhWw}e_F9e4l>g-0a8Fp=Z@*pZKm9!tHe=Pd5>Ni8+}*Yg1FGeBsn$4U5lr4! z#wiawLceME*B$3;Hzzy1VO%A2SfFZ%`+r6%7ajTEq5avIx`F-@NmFg6DdS{XRr$29^2vL)QaAkZvll7gl@~d4 z{$om+twiLbnwXr2V{!)td3E`3TM_b6oBuagI8$oCe{+)shr9eY7q^$}>a9orfoa|| z+#FM{|3tTDE9aqR4$e{bv7nOKbFs~ik5AN@uQbI6)Y{I6wRMvE&&T`&sCYhXZvT>P z3ltyDd`rGqq~L$Efj_=ji9>RCF>GLO3SNSi-juoo=Ak#uSc2fQH*H=5x6GSPEWyTx zH~qN;HFXra6mL2*E|qV&+S^;&+t*9cTt`okNq;QC&Tg9mB>v z7>@KoF?7IAHi#(;iTeE8bw%(VBj|9Eaz6NW6~(Q*FDto;O1;0K9m|w9;YPu6+NHZ$ z;RbU%OZu~dC*5_+8*6r8*i}-N!y>IsJ(nvZ+`k0Ln&WqUNxPSW;%n2N%ayjR?=jG* zdJ1NnIN-g^h5=ud-&BgfCHzQBl7jzlM&0rCGpBqSbAyJyqF7ihinS=ARMVs!1UVlw zDXZ{xCuBv?+!acy_8dyTtbpvUPw{4miyAc5tjutSAQHO8NVivknrp07-om}c_gBKq z4xy(jp&eXBH#S`4lLNGWRe1%^hh9|%Gfp9^pv;2Fv`QJmc?HEi#|gG)t6(1lQS;SG zp%5~=Rx9(^uN1RJxx`&6$n!O23oh4u_L?%@{W)|pj1{9e{)xLVR;6`S)|dUjkSnZ8 zH!Vv5II^W{Fg>&?N$wS*p#$bn8uYrdi&d1=S*v)#C@QJ94s*xVHqWg}5FI8+n}2XI zRT+t7`g&!wmW0#8^-xz&L{>Nr+EDd;pxSfj8;XIZtydb-lFFy+c)};|WV@~#tDZmB zp8vQClU#0Q1KW&`al_vQ>?P>k`G~N*fbPe{t)QZ zf1r3!^N*B)Ox1GV{|Jb2JiC94=bKu7j`kd`0)jIi1Hm`6{J3qX<9L3(+Vf-a{JU0X z$R}0LUsQY6Z%6)htxiF;=NsbrH!VM7N7eHu)t+@b0sTwcK^!wGpT5TvEI&yc?LV!0 z-dOGVxp=;!)p_Z&s^_ECo}+dtKJII!fM~pyl6NUnfX1D>l)#X`!LGRICCOiCMn5lC2b{>i=l3-^}8|fuiA4#wdWh+`4=reV^7ud zC)J++PjBx57Ddvv4bMO|vIf9_1QAhDF=NJzii(PgiaCJdDyuGHMnwnX>LM$vu4l~{ z*6fOL%wl#8D`r$wjN2G7Vu0!YuC5*!SbVPc{ht5(xUR!FeVZzn|;D2&O(02Wuw4*+|H5rTgYyA5Z}wU z5OYJe^biu}P1Rg)osuJOw2%wk1-@I@gj>j$xx7o@b?@cKWFddy@=jsX|9*~~Xd#zR z1-?Vr%(jrzAd@~7@eO!jmbPb0#U8@dcHwHAg`CXgKLy_SQI5RQLe@V9zKzOm!uM>* zV|>rH3HvhwS97Dv6WDAOc&vq-&gCrv@AfoD-fJPd`~!Tmu!*ve??a|qPm!XQvRV2g zTe3}qtBu0da0~fwE^iQct!Fv%A`3Z#%j<-sx(*3z7}VVId7UFKvye?(UM*|}rsv2fE#yjX&>4!S ziEl7TJcahWK@VvaRd{QC7%NX6y|oUtTA4|;V$nnX{vA{+>H0eiK~|FKo%L<}q<-r? z#uqDyeL%N)IraX4wJFOf`UA$E%gNh>ekeM{MTmX0cE&Q((jQ^GjQl@hP_&H3eMIZD zjGlh9_9!}CpX=9Erv!4!Ky;Ttl%{7`KP-d0m-yG;%W`HWZ5A%D!cq~r@p!@- zbj|JRazF^qov4$0(g`Y8s8%H}oqlZr%Z>%3nv0tpaS09sSR9Jlh28E~c zqE?H5ZXZMTU#%Vg<>cm4C}-q#vU3U0AIDG^IB5@MKrxf4QxoH-;$XO)Bxj-mQ&zaM&AD~#5Jj#rn$o{om&Kuq#WFE( z@f&r?#LV1iI-H3g@)uFjEabr`>X?Of3X6D-)F?O>OBb(<+bq9~pvze(zJaq7ykfY$OFK*1tK0=ke$Y z7Jkb|!WXe2|57c)!HIH<@ZYAe3T1v3!zizqmbhWkSD)4wOQG?b3XYAL;xA`y`0W^L zrvG)Zo>j)m_bPf8Z#RKgGi|3_k3T3`&syP!Q8z0ViB*8VS+P~v_=1U2Jbd<2AJmD`XZ#n=Cfr@DRKE%Rz*uRUu^6$g zSwr&}bL;UV2DBr@fOg_2bwGOuOm5l#LvNjr!iFoJh5p;epHD$?Ih0-& zWX`Vn=ojExGUwQ)iA491N^mX!a|Li>Ujq_22b49sOS`LRU`RK==gFc;B z7sOyZwGeWTOEyz^79SC^6_@`I^6aya=LxwWm&XYCmot$22)P)S(NW<(&M$2C(Us?n zy^4CQp&s1oe19Mj^nh_Ok55rl=jwRRxd_Q7Kz|$%8r(l-^OXn<#iaIinLQx|2 zK4}ZH=z$~Bb1)leC6Gc(vypd{>WJ7+%m&s8pjS4~O9iYNMA1$7jzB(fHkn*Xs;rS< zeFcju$@uQ&-|=KK8Cm)ghvy&)1sd{)<>JAr^kjMigF=(c5zYK0B6=qq*`^@}vXOxr zvLqXE)R4$*K$RL~?ajS!2Qa2{y$Uk)KFQ z#M1%6?g*C2StONqQCTxEhe&fR(Wj&Q0=rYV3*M^k|E_Q8H=uX#PVwK+f4UC+iy*31 zkrnsh@>LulpSQ8lam9gr6f>_uu{wxKyCU>_^z*QbM;;kOoxh=9bOrjRK{O5eI{CO? zei`~g`6xWN;%zs&z&-Bv?-+X}L7&)-OyAIZUxNOZZsc8xIe(vzd!N6d@0X9_&_yU( z<)iTBiYoaiPF{ebXgAu1py;v--oy*M!MZQxKrWva@-^O2Z4+`YE-w;t3U8h!3ps?# zgH)Nq-S8HxK8Epz%3GlE*=PiBrc5-j6vBMZ8>c5ij^y$MA!qXTXqS+qxx7@!jLXwh znL3w7II1s&c^lqY$Z@>At}o;gTrMr--;YCPs_fy$<>!I_E}!^gP+SS57o|~t`RF$$ zLLVPU?(X^P6OKY39!P=E56;K^z9Y~#$w$$IE6V4iNIVQh!F&{cT=9n9xS_GX?~a_{ zl1;!NphtzAbP)1-AqR0eR>;W*AdeMtKQ8wba_WA_EmfI*DP#6g-Urk{potuv=8h0= zl|ijhCFWt4YIW~8dODZ}L+LS7pQxv7vVaoJPIoueQZQsn|yCqsVQkuJbr z*N*=#qC1nIPwYshZ|EQK@P6q?-es9{SU&Eb^KkoFD31BhO-hTrul_FK8HoPMLD65? z7^L=BD)&TxWdv6D%9Sh}nfoh!r@%M6j+B7V=uH`vz@(`_QiOb#YflJyH&54QA^ULo zS5>Cw<#Oe{5&^UDXcg_^!As@;|F^>1+*XE=6 z%)7Ne=cAay6{9*($MPtIeDt$;pSyVnGJHcH8v}ij4zvS$dQcXL`|W2ScZBT1<>RVM zcAiMSYEgDB&^UqmW}}to039GKw*3UTwUBFZxtfso%!XWC$PKyth4keS=HXe8AE+|D z=02+EDW1*Sh1`zIi-mk~2IMJ1?!x84s!Ss)Fx!S{ylZY!S1LH3#fjZ`P&?oztW`b(aN0xs0Eriehe?SQSOxmk6LBiV3-PFsy?BAG7jihSDzQS2 zS`T@wkk9=Axv!85aJi)_(=Qc~9@R(tbwC{inh4aj?Z2yr(^}ZvYfGsW@j=T+UuF&T zTk}z@T@3|RSWfd`#mjJcQa(mo;-MJWmikvhZOKQ!YZdf0+tU1R=nt-hKC2BKgT79i zf5-mB3h2-0qiD+&JKIoUF9e*AzVmYEquWrkZ|Hk2gT7N6ih#aDKJJ5;LhqK3;?WW) ztn*O};Bt_Vt+|Y|Ub&Ay z{RX+5D$}2p%|6cOgIWwEyin0nIm#s)S_l*a2`-o7G6oV{Ud3k{Fp%JKc`joh!Q~B@ z(%=ILE?4C;1`?2IeigHib>e_xAOY0F$R`Xww)%HjHRg)Dt>{4&lx05pR=h3Rl8@pH zZ*ms2qH0x9mig!}@g^sv6%F`?{w8m7YP6y_=w0%0f1fuxm{h8Q^o4Tyk&yr4&CWR? z59jg@Ri-l4kZ#p_3~z!As$4b$%?@7m60Px_SShY1J=;$GPUza>J29^!jjqO;;>X^E zYRnP6{?paiApKxt42GMvRUM7Icz|IQ*jbYN2%j zimb^7>jxR{)?`KX*q{B{oBe^EzrWRD!MGdjLoHUjNN06�VxoYfN=(vvRHin!}-k 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 zxei4P&KVaBWLL+hj;>X=opolymorph_context.poly_params != NULL); + + bh_arr(AstParam) param_buffer=NULL; + bh_arr_new(global_heap_allocator, param_buffer, 2); - b32 param_use = 0; - b32 param_is_baked = 0; OnyxToken* symbol; while (!consume_token_if_next(parser, ')')) { - if (parser->hit_unexpected_token) return; + do { + if (parser->hit_unexpected_token) return; - AstParam curr_param = { 0 }; + b32 param_use = 0; + b32 param_is_baked = 0; + AstParam curr_param = { 0 }; - if (consume_token_if_next(parser, Token_Type_Keyword_Use)) param_use = 1; - if (consume_token_if_next(parser, '$')) param_is_baked = 1; + if (consume_token_if_next(parser, Token_Type_Keyword_Use)) param_use = 1; + if (consume_token_if_next(parser, '$')) param_is_baked = 1; - symbol = expect_token(parser, Token_Type_Symbol); - expect_token(parser, ':'); + symbol = expect_token(parser, Token_Type_Symbol); - curr_param.vararg_kind = VA_Kind_Not_VA; - curr_param.local = make_local(parser->allocator, symbol, NULL); - curr_param.local->kind = Ast_Kind_Param; + curr_param.vararg_kind = VA_Kind_Not_VA; + curr_param.local = make_local(parser->allocator, symbol, NULL); + curr_param.local->kind = Ast_Kind_Param; - if (param_use) { - curr_param.local->flags |= Ast_Flag_Param_Use; - param_use = 0; - } + if (param_use) { + curr_param.local->flags |= Ast_Flag_Param_Use; + param_use = 0; + } + + if (param_is_baked) { + curr_param.is_baked = 1; + param_is_baked = 0; + } + + bh_arr_push(param_buffer, curr_param); + } while (consume_token_if_next(parser, ',')); + + expect_token(parser, ':'); + + VarArgKind vararg_kind=VA_Kind_Not_VA; + AstType* type_node=NULL; + AstTyped* default_value=NULL; if (parser->curr->type != '=') { if (consume_token_if_next(parser, Token_Type_Dot_Dot)) { - if (consume_token_if_next(parser, '.')) curr_param.vararg_kind = VA_Kind_Untyped; - else curr_param.vararg_kind = VA_Kind_Typed; + if (consume_token_if_next(parser, '.')) vararg_kind = VA_Kind_Untyped; + else vararg_kind = VA_Kind_Typed; } - if (curr_param.vararg_kind != VA_Kind_Untyped) { + if (vararg_kind != VA_Kind_Untyped) { // CLEANUP: This is mess and it is hard to follow what is going on here. // I think with recent rewrites, this should be easier to do. i32 old_len = bh_arr_length(*parser->polymorph_context.poly_params); - curr_param.local->type_node = parse_type(parser); + type_node = parse_type(parser); i32 new_len = bh_arr_length(*parser->polymorph_context.poly_params); - if (curr_param.vararg_kind == VA_Kind_Typed) { + if (vararg_kind == VA_Kind_Typed) { AstVarArgType* va_type = make_node(AstVarArgType, Ast_Kind_VarArg_Type); - va_type->elem = curr_param.local->type_node; - va_type->token = curr_param.local->type_node->token; - curr_param.local->type_node = (AstType *) va_type; + va_type->elem = type_node; + va_type->token = type_node->token; + type_node = (AstType *) va_type; } fori (i, 0, new_len - old_len) { - (*parser->polymorph_context.poly_params)[old_len + i].type_expr = curr_param.local->type_node; + (*parser->polymorph_context.poly_params)[old_len + i].type_expr = type_node; (*parser->polymorph_context.poly_params)[old_len + i].idx = param_idx; } } } - if (curr_param.vararg_kind == VA_Kind_Not_VA && consume_token_if_next(parser, '=')) { + if (vararg_kind == VA_Kind_Not_VA && consume_token_if_next(parser, '=')) { OnyxToken* directive_token = parser->curr; // :Callsite currently #callsite is only valid as a default value for a funciton parameter. if (parse_possible_directive(parser, "callsite")) { AstCallSite* cs = make_node(AstCallSite, Ast_Kind_Call_Site); cs->token = directive_token; - curr_param.default_value = (AstTyped *) cs; + default_value = (AstTyped *) cs; } else { - curr_param.default_value = parse_expression(parser, 0); + default_value = parse_expression(parser, 0); } } - if (param_is_baked) { - param_is_baked = 0; + bh_arr_each(AstParam, param, param_buffer) { + param->vararg_kind = vararg_kind; + param->local->type_node = type_node; + param->default_value = default_value; - bh_arr(AstPolyParam) pv = *parser->polymorph_context.poly_params; - bh_arr_push(pv, ((AstPolyParam) { - .kind = PPK_Baked_Value, - .idx = param_idx, + if (param->is_baked) { + bh_arr(AstPolyParam) pv = *parser->polymorph_context.poly_params; + bh_arr_push(pv, ((AstPolyParam) { + .kind = PPK_Baked_Value, + .idx = param_idx, - .poly_sym = (AstNode *) curr_param.local, - .type_expr = curr_param.local->type_node, - })); + .poly_sym = (AstNode *) param->local, + .type_expr = type_node, + })); - *parser->polymorph_context.poly_params = pv; + *parser->polymorph_context.poly_params = pv; + } + + bh_arr_push(func->params, *param); + param_idx++; } - bh_arr_push(func->params, curr_param); - param_idx++; + bh_arr_clear(param_buffer); if (parser->curr->type != ')') expect_token(parser, ','); } + + bh_arr_free(param_buffer); return; } -- 2.25.1