From 3a6186c3434474d6a4ccf663a63130a4b1211e34 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Fri, 6 Aug 2021 15:46:10 -0500 Subject: [PATCH] polymorphic overloads can signal yield for header --- bin/onyx | Bin 413592 -> 413600 bytes core/container/iter.onyx | 58 ++++++++++++++++++++------------------- include/onyxastnodes.h | 5 +++- src/onyxchecker.c | 8 ++++-- src/onyxutils.c | 32 +++++++++++++++------ 5 files changed, 63 insertions(+), 40 deletions(-) diff --git a/bin/onyx b/bin/onyx index f63a1aec542cfb2fefdd73be9e6837acce87689b..9181d948936d0e19d3088cb6851deaef7018ae7d 100755 GIT binary patch delta 81121 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 E15BCly8r+H delta 80952 zcmZ^M2Ut`&_xB_eQOZ!I3Mivs2Xqug6clt&Q0%>}W$hI!Dk`8mj-x)5F-M8D(!4JKxM! zBmSLlCb_dpMYrcGZ<_6!6ImVZdHrzUvpKtO9kzrn(oYJG?-&(XHgxlRoB54h4%TCu zy-rM{Ni-gkv!(jYbheRkOhZjyFi&Y>vnbX~+S#nCi*sQxjr18{X|V-hHJXRI%&&`f zsw(Xql&47pnwMfu(v0SHTq+bU2$F6z4`vIc{N^=X4xpQ_HMU6&S_Csa3VfvTEy}pG z5`_h5B}!Xbgz!VPe``@(dfuW2zgI^p*D}OqJrMZXz!Ir_%Tg>z8rQP6OROkRD<71r zNXJ?R+ir>}K$f?P3O!SsX|#?e+tOj6lGf3XmwPEcKmYM=c~zaSO&*fxOI=%qFrUp? zts-pr;d;{cw(Zzx$)jB?^Oah(JHY~^lI??;Nvhkv4x1-UY@ft_mHug8i@8Zo9g+fU zLz%{4^0J#_r-?Wkk#ER27;Z4@D`nYfm`c*V?$KH2D5YJ&4GQYmFM!f&8=olW|0H^m?p{iP_FJThNnN$(GIV- z4aVmf$^pE{jc=g9_*|}bQ%wUUEp=j*HxHm=9{k=>spgtk@KoBGo+Tfb;+m}7)H-pd zcwPA0Q^tgFOHoXNHYii!U3rbf*OqrlSD=P%Ni>ZOlQ&7xYa`w3C|TMpXFx0212(6x z9mSYVdjHp@QXhjvv)arKT%(CIC5J1`pM4i+tRHUK`6WMJ&XHcNE6X-WCDsSCX;SU= zfozb}alMW;k|yG}jI;tdMWn;)1GyY1JwS3KP_o|;!ZM_C_)V7@ZwO>vr2ZRpC8Gn? zt{N*{VHCf|y&W4KXKWR2`Sb}r`AeHN==hrw(xnY0_{9>^Th!kq`ELwyA5cQ6nI(M| zLl_q(FOX6;R&@`vX3r_eZjJ2X(%OxI?so#z8rKSn+@xz8+j@+!X8T}dN<+&7q^29a zq>h{X-K$#5?g1C2teZ4tQ%{dw{%T8$3tD>YuT=5bT*7^XwQPMsmE}@{&7ItfShFJv zs#KG*H+S+NKeeT>kJb(j`zbBOZ1Hz*VJ-74XemSLv!$E+O<%RjmJik{F4D~{tvp6p zv&R&)wA@#^wWX>wW@}lGBG$6tf-2Q~m0nJ6_4hc4MTE)DaxSR%%18RR^(Xfx*8COk zt=){125xKR{?Jvjo^?-O?FIW8>MSIf|;xIdB-Fy@ywjnY=BgG=L&xK zqI7BJG5+C#v}{)ye&&L7V%M6$`);DCRM#ZqTluo`tj(MNK1c%ZA9a&v?LNgqrJj41 zI}LiGEQCbkLAi(Ivp12Imwwv2gtgghmwVKX?UDXDMBdAbDUEGPGWHLHv^ZlhK8whg z!=YP`O-z~S@OU^IEB$f2CD3?tyb-^;QmS_%j?Iy>PLyN)r41)qGcU>EWOaUhg%o$P z8v9ckc`}rZ-TcSNs3PQSuee?0o+IjgYf`V!k%+MY@l=lzfGhs=XB}i zFs%looz&b;ZS`j;4}&Sq0TqK$Q7)#I_bn)|3gTMJi;40_LVgJ^kX`d0qxUz8tH z%l!+=fBIH_4du<{)hfWNW>y3?d;`c84NOtXj~A4;73JobRibPmW*oFg^;X7b)-M;C zZKeOtpXKLwNk=b4vc=M;3$<8x{Q65RE{0%wK3ymyExcHq%R8lQ7xmz_Cl{+ZkKTz! zGY$q@x?urJr!RO)^)3}>^`v%}stE;psWHFqBHg}J5i_d29F!j1-C$K)24lR=CnDF> zAUw&`{g5U(>z+2V0Z1ss-MfT{dt#!h3z8Z?CK~Vc)IQIR+l~Q%gfV4X+G%z;;5o^7 zM_blb2RR;yEP3#b{CqU8QzkhHbxkSnOomVK=DIAd#*uL$29x(l*=b4 zdO5h&DYR%zc?ZsjP41SPWPH%j=$UJ(7j7_(IfUuN{27dgl(wI!cr5Y*9%b>I(?!Y9 z&qjv)VlIO*a?oI^=U^}e=%nN;-s$?D+Msyg-VM#0ZBH3$92gpEFnM4siKqe|1gO5g zs9o|U#$c=mER=B!JJC}+&`B4kbxYF48bBJK?uPQJ-XGRo&^^g`t9{3~4hPisP3rjK zjHkX1F?@S|evD`>-W2;T&YZ$5MHD499w=+%12gmUY(T4|OoZM#;>b#!rCjdq)@Yu1s} z3I?-Xdx>AKlwRwNkYHnUQNlp0jF&i5k}lkk@dOJcCjAXom~lUVTfT<2HdQ^6h%q`O z87=vPg7XLYx2=H$E)Cn2yf8Pq>n@bj*#136(qE2 zACU`CY5nz@ZfjoKXbLyDS^982s6z9H`T0Wj&c~32#_x7gm1pc)z2E*u&GgWJnUI|A1*({nkzulznv;letS)AU*^k$S2|l*XxaB&`vAsaJ zV1i;^cqz!fL?V#&yHbFx6-pVDAXuzC;J-qo>xvhJbd{{M+xTAr?Iyqa|I@CoRQF~z zh_z8S(?Ykm(r7Z?@exo-ElE&<~t z#oY>J@lx+wYg{*YD9CR_0@BDvNq0NR&E3ZKJL*=DCfu&iT1rQ5S75(LuWv^|U{<;l z%UvEwgYGnB`=y}E!DeM zkvrX!hTMycxpWuwGDXWNo-p}M$x#*;aI?YGG8lYdtF~i@M80*5X~3#U24h0lhykXS z!W4WW-M$wM)2GD!YHqimf6o$$Quq6f_;tOs@qTfBKT0}!zed7-7X_~aA^~0|#WG9? zi^#P+f*oPV7#pV1W?dJLX6L`1Y&AIs*su`)9BUnKkP1nv6}Bxl_Le;FZXjCpcVSB(Y(bAlaW zFxhRExTOd5YcESs#n(5$cp0_5wV6XuXqkkcW=hxQm{O0w$MM4|X^W+To6`^3yQCME zhBc1X7G!)bm&NkL@@c8A&jVJ;Xo^{da#Mp~6y29g?^D+ws2KT}{%FO#Sco*`k$+I0 zEbxnI16W~@T*@t2r*{B4_mKk1&#v5j^-+Ds+DoOLRAjJBp9HaFY0#69z}|Ntn}skE z>%Iv%N6veI22~E!fFHN~(VfQ2qVFk*!XV=V15 z#)yt!hCG*RUsQ-U8X(yU$aAp{+Z2F^_3E#HXfq|Oo`_sSMw$U!+7n|%V~RY}Pee^w zr_>n(XDcgTo4E|YvSfNz&MEueSAwjS_B|`k&o7fMKMQag@k4%DqB{FQEcjp zx@KobTdakb!pJh~(;#{=HQSKL2c(A24Q`Qk3LjPx30Bp|bJEi19lCdX4;h95_BgKy z<;<~S?ZXZ10nZky6moV@7}6+3-VR#FG;zkUf&2DJlUvU6>2XDvpv4y(q&jO93x+lIu%Hx6^mNV;y;dRN-X`Jh!ng zt8vRYY3s|_N+WKGu{JMQ)En*z0lzOIH{MhiOM8ez{*d7OAwKy-T;qY%6e;9Y8D=9j zd=*;u>Jku3u{ZQ7Okf`qrz9y3^7x6OO<1MIda?3mY3?ikn%OszC0O1xG#0}TQ@YtN z>K7i^=|zR7_qLecXVUXmO@ew>ReDI*C}bLsL~aj4gZ1G4%dS$#|0+4xPz!5{!USo~ ze;u7@+gEyfO6+yMSvq&>vSBKqs z;&u1HnO}s?)6YU8588pYjo=NKFc2T{@?NR&o60O-8uz9pTP2-)6UTm*iocD64cq2z zn?TRcN>wi;^1s>tPu0KQR)&-O$lJ>oiX5*#L@7J?a z(qA7|!Z~U6F&ln?%cmxY-gNq;V;`i9Pb~!er${zLa{Qbmy8Rr&*>P#?=g{Qfw@U9N zk;tDm3Wlv8W~m~EZ)zTlnbWA{Oq5?kIR+MHX(yD7s^o6HQR?4DB15o#_HfM=ImQE^ z#vYORyX5($Df5QYdI^71u^|B1MALC&H9T~W53V3 z$J(=)>{!MSgE&AroRtfmb4YX;ExRh#Taqs7@lH7D5+&2|w*1?#KL{kf$n6A4|lmXmBBJZVV zMOYH6OVJLjKKn=$9as&vk9Ik*=A|m;3C%M$Oz8Xf(D!mJkzwv1B|>J;;b2yvh@z~q zTe8q-h=GME>*Fy8`VLdJ&S4UQhg;TO43#e#wM2z<) zycF5z577(^?Ig38X1xu#EH^PDpAT=EWc(Ld$+x@1SYaYapC-U>g~j0*;!ic#B^*O{e#58{1-4Xmp(=xome1~$j_NI zE!K6HN?O^6hB>p+tUk?iW(Wmc6r*}?ld8opM&LJ@nj})ng5*iVHJvmP2D* zSOBX>b6wafHj3i4tQ>ns1GTIq%c2=t)~ncb8`#ZJHrlMMWaG*jM>m2<%9$d3Q?tJP zIYFwJ;A4IxKw(MDI+!k3^Da;B;6tT?N*GxI3gc}{_D z%r~s`Zp9Tdn89gD#%G4ScwI2Gk4EnBR!r^~@E=rn)(q4$);h@ zm0s71+iBp(fk_|TQMl$Yl0;K|pS*-Nq8(uxCz|Vr8DIj+>ldI+_${u6tgG70w&di_ z%13lTV?E<*bkS)u_2Aj~8r|LvubO188XcE$kR_Vz4d#*Ivg>A{vGJzOoJqahS(sBm z5dqs>=cJuno94SSKNd*YC}0cdmOHD;dXbk03rnwjTS&h{V6+5(*gZ84rFKoudaBLr z2FpPhGEMf1@%K-$xG5pHvEgvZ<<%e5N@5)q7bb==A;qMz+=o?~s0zsN+sa@gkjPH+ z1$06f)PgoE3C(Or6+nvy9luS}I9lz&{Iti@3-j<_#5|dIk3YZ5oQ#@DrnK;6VKg0s z)Q&S1$#@r}&2+>xX1wzTk03KKBRxu!>Yiv$kCN~IEil7Fg)RB{CXb8{Fr@nm7*oe! z%PU|b;>9$^lT~K7X{{#H-(`j$GHM8dYk9C?-vD-|i@ovi%f+%h+Bf4Jax5Owe@ISf*l>$)*t) z<(pKmIFr3HLbx!>2s109heYEIOQy2Okl<|5coJU=vq?Xih9zE)CK;s3;UgqIFAj zHOAQ{!g0xCda;y^alvvOdRCl8{Pb6Ufk}cxvT+;?(wODf70g#4F{K2{1Hli-ov!B2 zKmt5t1-v#pMJK1A7(wq?$Qb=OrOY7rTcYF{kXI6UAjt%8ki;F)U`u)YSc5Lh7Q|T8f$v%GNSc+)G7bjI?ZJm? z#l@&7=EYzxF?xv&Bvx0d=)-(%c5b#Ir(4{gy8AHK2`W)n8)}rK_>x9=_ z2aA2Wn4M*!zTh?0)l39lh4sSiQH95K07h3K;P@Yaw|oaYTLB&wuAo$+2ApewQ$`Jl zqE2x7EK&H8H&w%`noeE(n6LIOtOOASasgX(v?S0kek_#zMH~EBLh1a=3X5v4fVr-2 z%+H5m4aCf2VmToK|eZKviO{B~}7jWdv0#!5Wvj0qJQl-VwSYX0_0hEydbvcTqHO z8x6F_TVL^ta1;q5%-8|FQuN^vw4vSNjKo-mv zQ;R^>maU+5fvgm-6-j3TVURT@Z4j%$Jr7dDAQs6s(AXdr#}?AwAXb~D)0ZH&ggdRI zCBdwG?NF>_;1z}hZrzL3f`OXE=BTnSrl_*^a{*99frDf+#zJJpg&_@-e?dA% z84WDSqRPF7Vf)6`!8Nr(oT-6`K0=jaBp^VQvq~>jkzhqZa-1&7ir3l-ctmU+vQ7=# zV+~rQ$I6Q^^Fn1QvyJCCQ8X|p1gt_Hz$eJfX3 zN<&JqM(&GptrSg$AQB}0LjRP4iN1pDLs(^x1_;1syep>7+6G!1kAO8=k|BiYc<^Bw z5W*_)upC+#!cy1;dLF_mRvEuo(PUXo(G^gPl?OtL6yVwo&kC;Qm?Jw1@cfmU=vXB- zjmGKNc-EWpb?mrvxqlRDlt&^Tri-PS!ENj!RY#TKou6j;4n7xXgpz~#5?{}quP*%gg!CFD@v{*sBXz>gtRlSY{G$@qK5+e^|w_t`o z3}cfVCLdQY`Gtm+Wy9Hv>?dVe55{&GHnmX7TFuEz9pwkt=dLPK6A}d#H;5c$uyu6Ywe#mLY)E;K2t(e zUx10&!hkn&s}iePbk6UB0?~38Dp8rWV~1#DWmbWmqCYFMPV6YzhQq+_M3uu?8FrOg zg=2CqQC2u>!rIXJa8}L14Re=d*1sW-2o}M8Hc|ZuIE>BcaRg{ln}QnJVx!<7r?O){#x8lU3Ls>^Tjn3Qn6te^!NfXiitEveE1hYN==OaC7JC zVQ~$mV|ri{MXxbfcArL8!vsAim+ELVXf4&Lj@DMvg6ga(8$i#ivmX546|}HA^QD1N zKqiNlMzKhzi_^q_5&1FerxL>5G2 z-~<-KF`#)_g zZp7;GBD3jvBX*k2&)$~=o{i`-3%we16=r`etP0aujXV$aMVFQuieQD^sLe`)QowG+ zC92q%tuN}cTp5V(a=PD`RriRUDJr1mEY%tBO4RHbs(;;HnDM8mEkbPi zUuj?ymZDuC79YYmFzzv^oAh@R7FQ=3naap#jG6t!ro1l08o_$bS*GB# z6Nx;#vv8m7vZ-+j>!{tREcjH>GHCdUa#FB3y?!H03Rc1v@@>j0vS-u)3HO;n!<#}p zzN4igcPgE3%DQR8W(YSE-gu&EWR%>8>NR71im#vkjcoD4tQUiSL@c<7Ss*3Fq4bNugD0i6~lN2k)z7OZ6TBT5Fsd#R!zTK;937&XFtmX<=Q zn|g$a{rIdNiX@7O{6iUNl|Sfs3s$XIdsJ4IE5d&*S%RaJ@-8^88MSZ8q8yK!tu%BU zN()=EivBZ{3^3`XA=U-C>MESZbgO)7Zr#=9{4#SID_p)O_U!a>#m0E$(k}0JX zi`6=f1+rhY=>S^PigjSW)2CK!PTeCWRRjL15T)2)F|0;Wk1vWKR9uUe&2fsrkdYUa zXV>?%twtEN@@%Dstv2%r-tz34(}mWoX3CQ^m?4M2bJBcU&6`+H*VG6R7|(i|WVU-S z95#hHhE0Xdlx@(#hr_0XD{O_KW+hIB{RsJ5Rjh)isUr=hz9|S)B~X_(tPwA1qQBZe z&zz)7Z4i30P(WKYh}#nV+7`lLIc2wnN;1=@wy=Z4sbV`NK6<7d6kHV9wFl3?`J*a6GnJ6TfkV%-#%ZGNTb4y+FJep&|@t262M4lLK(2J+N+ zNLhDBKm>J%s&-!*)RC2`WZz5G>n>u_(Pr_+BCKZJxVH=|p#39|pwR?%CyOq3WC2b; zL&{>h!Vq?ZDc*_I_3u5~Rx^I2r$%e+tgPS$VODYIFo`;KVw-rtTypOWQ@8~+?aV^l zJ04vp~Ico6t)n&+b8SffsCtt$M!2r|G zq|aSgdEYH3ZPjBTSmGP-EbLUFSU*u*S175CG_@;h;cEBW*R4{_SMBoI|8`}k80$d$ zx-p~Q++%11TcKioPr|d(22Nebm#KSq*4(|cC>Nd(`Y4HKIhBrf$IOIPqT)T+@0i35 zJy;+A{YL;6tb*;qv$YvlxoAbw_he=^nhx}27k%sIeQT~Zo(oWhPxLcu#;cd7%e`4B zRq6#=ZJ_?WSS{ZwFvbcns4NUK>nPJ`e=k%CE2mb8>CLM9_B!+pwmY5+U^kGtHz?AB zF7;;Q+yCGHfREu-_N?^P z18ekSxi^Ghq4M%SmRE%%U#Q&i$8tM3<>LGhmtWAQ{s>dPA@2d~KG)o(F9TS0zZHAG z4R$G>t%LQEpHY*6Y;w__Awtf@>!RrP2ILqenn=V%Zx zv$))%>4RWyjHA7SSn1*|cG+qU+cm+jMjiuT;TqZAq7Q>u5U-v^{)3hHcFn;o-0h4l zhA|xs*?Tu|KxB*324fHB49y$N`WEkbQ}iSb4B-%4Z=D)Cy-fi_Soxx*Q6?Jxi&BQL z5N4#*A#fJU+@MQCSQW3XH$+WrfuLfK5VhiU3LeTTxCV=&j5G&Ls;{WOm^uu_*hbK# zq1e$lNx67)c$Fit@%oQm3}vCEbYD;dQsWxZxb0#ES=l6JwF0MKLp4)jw_c;Jsm!BP z*cd@hoH&Zt8RU5tg#a0&LtHCf*GuGu$$2z8l~pY2t5){Qp%ZwGs}~4J01es^uJB;Y znH>sA&LUBJwa!tv>;q7Qk#4~BtFi6~i^lTVw1J|;_aBO{z zp?$+yJa1i|o)5!*QmGNJ29s&f2w1-rF4J!#SiPb@`wK)fb?@k(@wUG7b_8=}Ey-ad zD-YUM9m$69`fusfNbth$k<5(;Dler2-oE+rKbAo@L?dLA+bFDUGo_3IftS+gQLKW4 z%UB!i+(Y}V8^szqZonHTiwq0dj%MX_XTD}^(F$dq=9*-#cp8~-n#LggE)XF2cj-=$Edl;a8@(Mf6e&hoUVYFzUDl3Rx$$8#7G{Z&J{JI%GZpe zYDUAa8Qay2pT4%SLS!KRyGg7B9LduEil?~k!a7mqJNA2oq}9kLi__pSERChm(=luy zyG0$xvgSpKp=r6uS;`*E2Bsf&6pf)mV#Xl{F@JN!y1n(`OTHx>QV_dR@=~Eb3m^4+ zjrr_3T{iug-(Tc^6}uqK;E@HB+8NzgZbED(L>#riKnCGrGDq2HTtI?Mkj-)sWpX>( zJdP#vTAtZFopoWQMz2#AX&Mr-8*$uSaBXw!E}YS3wHK?PcXsA@HjP(3s<f)Bg)6^J~SH$MHou@@F)omSOBXW4lUr#@M%Eg$7f5mQ+Sx|7AqhW_41t!a7k zea*6JO`TG+!Z3=Q#3IVXS%GK#0DM|5)J+RAPGU{@PfkiNr8{;Jh<$$iee*GDjR2+j zQ$s0u8uOuQlUWr1+fmf>C(~r+Q-<|cv1|H6^%)P94l5|tm(kJ5*x=vTONC`Wz{aVt z>PT#dkl!z?Y?-cB;Ej*I$Lj@-ZGcv4!w0GNFRWY{H!Ez{A7B@&u(cEp9~71Cs|wemjDzA#I$!W}K6wnlVR(h58H2iT4G zl>w-u^&CvAjhN)qJyonq{s7!n1y)B3;15QY!e2Uw3GkrKQ zlZ;as&iA2}@0Q_9ESYc1O^EUy*8YEJt*hFa%AWD`ehMoWF+qiWQ{UEBn}z)rjhu%G zEQ~`DwU$cDVgps)>1P7(%qgOxzQe>^1FQT{ZRp)XQ#*+sny^>ytW=0B6W3iua0Vz{ zxU1853Jv!^GEN0Myufa*VClFYU?-@s>R?*XWx$3nR$3l32D-QYp#tIH5;#=t=21T($9iGI`+(MMkdI~GclIMFzwaj%S+^frX{xqT zz~@DOWtGbJ2W;GK996>b-eyFx?ap|N*CxpF8c@72(vRt_g!r@mIknWm4gxW zegMjV4G2V4R@p`ue`V!@K4K0EHx#YHs8d;~ub9f}fq(u0bRRY!8d8B)(y(c)U0}r@ zVEPw^$)%^$SeYOTNL#qGvMP*_(Fhy(2N zY2OT1N^DlmVAaw!Jw+P@C(`3OTNs+co-28 z@i4GDB{XyZ6sb5jVvf15*2_VzIPqbQS=d9Vw@TE*MmKU?6%eJ*A~*(*PR;bkZ_G12 z3=xYRnpk1tR2(x`48*GhvJA$Ub>auvA2sI5JZ0cdMPl?CF5t~A z4IL5D`U%gLiW%t`{z$D1N=EM2oq$R7GMwyvAHgmRO|MU+=%@TxR04ITFjE2qh1ij_LTLAa;$dGKR{`>K*i6zt>zam2cp@tv8C{uDiHgV_02v*@Wa^f z>^F1RN``I1MRQp%|6W~fG>=n2EbX2b5GDp=3!P7r(NibaI!mSIu|;t!z%Pc3{Y<;9 zs&{PW8*S#V5H_(jtGcFIaM#Kl)9J_Z{&2twmA4^2pVj65U8w$i96x$Nedi;@Kapn4 zNBF57<%pys-9^G(JCpMQaJZ4e7ht>LL?`OHn0Zp~139 zDMQgF6ca;vYaPn()MYWyzDLHz7{oSOw-{&>{VkG4^b85F;78ge@HwmbQN$9QCfrNo zmY{S8EnI?L0^8ETC7@JAAC=CZmVo$CzS(X|S(;O^m?YtkfN|hGuV>e>VUfB4vE^Oa zi#K2+j>QoUoHlelyijO}pm?k>czu=z)M^te9qOAV__|&g+-r_S)EpZcc6P`Elf!+q zHFT@{&cN&*(~?bapr4T2X0`(-9glBjbFrh@a|`PO2m16Db{;{L61a2q?ywGC)mHZ$?aYzo-UCOGHM`2ufl4EAfxUO4Kvoi%lcs{};E{;~}^ zV6CbC4(!zoC)$CH(G>c;gZ1QYNz@~UbqGnjB-T52C4gMKIhH*(tHZ*jGHbx`GTqBT z#B~^j?L@$9E)Cs@Ap2Tcypy#Ic`!uyTi^*HX>Q|1b-Rp@U473cN~PDzcB2=YH#EpTr(y@;=tW0)4n|nkF->`-wZQYM!2(Q=BqQ7yPVc-Eak+-+L6g|jR zu=%v{AU4L%lHVZ&OU6;>Ll{lXBDCxf>%tAI)M{T^@ZuDCnDvKP_~S4m)+0MA56&O= z)@M&X%Ip}ZXFkTNauXbnUSK6khAE>aW>u|GZVBi+dZX} z6L5FUlzRdplE##O0vpt~sozPqnpaz_c3kfF1)o1DU=amUJJcZQWNGNb}H zpu_@-IK%4r_3MDCH)4m^r0RdUq2%o5pKnsk|&oJ_ic zR`%^sTA}7wSXmydqj6V2rM2|p3LC&c%{cH6s6Ww(^;OwYYb(&Xzb6+`=k#Hj*Qk~)T;wyIEn-N26dF1me# z^{~$=1>Bob(oI&QY~C~s%hWsi@)tT1bWl=%BD&g}Cds^s%GGu0K9 z-#q-u<{l`~ld9ii4gLC}lLCwSq7uA(XUTnr*&agk?y)883e~<35q^jI-p6U9M4EaZ zti7G?-)EKFE&V_rA(#8+VuM8vv)rW84_LKe3x=N46M_w~o2`C8)f}@IiF~w=U?BZT zN_&7kp)K_L1CVAYU3tJ7IP7d7NUz^TWgo&cK!E!pww)GI`a_(J?n?6?vd&PipB}Pt zLK@1fx5xJNu<#D6dL$I!mQYw%@<(!i z1m*UOIzM9lLQi`DyZOp-x){57vAz%%2ZbL2qtEpqm|@On^vR$ zkB#8Yqbcq+>k09{@->^uH4Cz9zk%^na^A=<`N_DY=}^Ej3T4IZ5f$S!8uFGsYim~& z^n8dltX`WI#8gNqC?if><2+n71u+2Nxjc;HS_#Ubys5Pa(XN$1nfoflXuYv!gz;bOzkFf5Ih`@l@h7 z_!v_BGmhW5=QE5aMGH2P44hvLLeDF?pVe(gK1k&n|E2VTxo6D%4Xi^D)d zpc+huVA)KrMY(4{SWk79dM0WI{F7rqA6hqX{sC=q=iL-rlvl*5ngK;QzVSikqP#Yn zKqrdwevo7}Fcx-$1{UKRL9LRGJe_@_#g4o>OQp+>Jck#3Nwb`Inox(%T+i))62p(C z3}-$JhfUr)^M)Ryg5cbhd8&pa6z7Vll?$)!|ngRXp^cV0&;cN#A# zW|tT>uC390Hy+?op@hnv$_Z`Z4M7?ncf-(*k&Qc#;-Er|J5R+n<0f}r&3+;JlGoES zcMP*^2P*BsPqKE|uRM4#gWc)r1uO$B1z0v4ry{f8i0|D972n1wMQ(wo;>fkqg_`m-ls=a<8Db z+)<*n5)|#n!+FF#>hA}%chVg{-b6?Me{7TXr$79;K`3B<-VGLRascnZUeW3RZel;< zOe>~qarW90{0ig6Z_+P8e5{y)U<|6<4W*l5u5y>5G+_@83v3GpKf_24=B>;9;;b;T zQ6x~HKJvxELi}U9vcT)_sY3ir<4S_T{-6aV`4L`yP4>^FcmxBF{2szb6s<5&Sm<9j zIVEU zFOAcKRm<|SSZ|%m@?Y(DUqrPv^s+37*`Df_+;Vv<|21A1t92&ii!V}X zvtokjR24qbzU@gM)Px#W<$LUFiDwhJ>v?<6{7m3$is|)U@i2NLk*CrGJ+FhszfaFQ z1?_$(HsJcESQV>DzeQviA1O;u2(@awBqU6iYCI$$DexN}*Ky>g5FQt3Q8n%hF5gj& z_po1e3>b_eU3I>RA3jXCYjH1nTAe4smZ}-WJ90Z~-nuB>$=(Cbw?MZBNN-z>8rIpX0uROT$2b<+ur{Et?)?U>Z7HCukzE~L zMF`qDd<=iMM;+gZI=m0>X?;nKr;W_oEVVyl(K=r#4>?XNty^JL4IG5pS80DM zehs%C7q#a8Zl!Q@LYQt=W6l2}9d8W=X-ZF8^UAzrG?i!rn@FP7ZGdX4;uPB!KDkR< zXdIW~*?6%qSo!7JLy>%@Kic!A6+e1>Z}3{?iWvI+A9KU8Ss~*UEzf|-Cw14jShU6pKg>Elm;b_o~IlOepfcY~b-W!;@8 zvc5F2JO5K?@*dFHMSm|~^g5NO=?<7Yr+V;W+`SlG!>Mn3-8@Xo@$54_`2~h^=Bs+~ zlDyP2I?;>!`LBHXSrt?`Op2>u_*4Tt-(iBO)@8HaSWEV63AGzhvp!H|3ur?hK9T#` zQq{g-xPR#HzPy$F?OA}pEcN46g;&&%w-ZOE`|%<69-^c#MfT@a`2$8>`eAa%^@sU- zopSp_kaeco19+<bIp`_JHs zJ1S4yq;bP|7_YX2Ru1DOc+d{Y8-@npw+-Xn5v%Ar9I~P{y&2BKoGQKhtor3<=Rw)! zM(|%5Gi2`=33m67#>Hj%Z-iWxGmgpFEKW3uOMYIZ){$)*Pr=oImT8!fnY1{K2f>!x zm&UtCy4khUui`#}#(9TWA@;y$a`=ZD^HaySHyD#~V<7L4A zb;t3$-1`>_P3M(i-?vWZ&<90NqJf(jij@P<}d`jt3Mvo|l91 z)oeW8BpN-QZ?EwPCdK1s1;=8P^C8x+46GFAB24;KO47^KfV=l68>#XTD37MT6L<)O z;Is*_Mc>nt2|U!{_7J7Y9rB-unR=f^gEL|Bw4DgilTQyOV(lNH5*cv2P&*fNPx2NAPH| z7uz|e{&2fuwo}E)ya$h*Kr<)vCl0ColpzhHUw+{|oQsIJj03_Sw(UnBe&Hsk2EsN3 zZosMo%`n2XtV^$qFhs|Y?-X9c>9?h#foAB+Ych43!h^Ve45d%uO}XntIx~g0fygg! z;tjMDvHu6A>bpega12c_@zT8Z5?W~z+`feJOnjNvh#fTm4Oy%JWzguUkn#;_-c+uy z=!r~mcxG8=@SbUGto#w$RpD}|F$~Y{)gPi3u7(-yWcoanpLcava$@|k--aOt{7iSu zpyM?v`YZq9aDAc3wfmd2(|Bq3m3UJn<`)}`*kngke;Qxl{eFRsCZiWFZ<_4h;L+Ot zWBM?SM`(8_IWhaYEA1bkn$vlxx9R5RukkD;II$Dx$p~Xl=M}Y06i}}yrJ_EOwoC^V z92d~l>AVE?6y8tgU7e=P|JqMF^_&66WF%$H-~$^zoCgNdX5JQG2f;ahakCv86E0Bf z7f^y3_y-BRi;S4podo2}T%(;+YaI5qQO*l{YA0U@$zbVEquRg0_h^%C{teNAls~#C z_%B8xkMReDm~T^z5$_Raa3$A(EAz9LKZiEX;tioJKh5HUokoxVQl_pSjhfBJ!RvW9 zo5$noQ4C=v&7hgY>pHv4{t9L@o9+_t4RMw{2dln6jhw^#2EU&r^q`290gwOiqS}aN zuUj)Qw&)LJ^E;miDLUzQ-iucoMF0K{QE`%d=JG1q-zCv_%#wBrzDudyTv%m|>7TjW zE67#NbVHJ48i_APzL)ipUxmdTvYE$2d1Mi)FpnET<^CLG5}$4B^iIIws$2<3RO`k} zOxLzb2S3rgdAwX$5DsHoNA8J7aWVqu_Jb{+usjT=1a&UVF&pUVJV?WhRAN4)_B)E1 z&jWaLA8J1zwqXsLIiFW|KRpHW^=7xY*laM@+9$v0NZ04{3J^oZ7Vr?~^?K1$)%~rp zl-pCy1-!KLUzQT`;%NR$3PN&))-iBb{W{Dx=wx>|f#EzT=c+*}kZMyN@@LM>it zEpCtgVmw9pBDMN2YPr!`E{e}jL-BZ}IHtE!tnVX=V-*5;%@)N?KYh-hZqhGrXrnRL zXU3tnM!UJRXd&e1e%iT^*XRC&vTYXe-+9IG!SH@}DOL3&`zhY<1SIk=>px@aGEo4s zX62{0z&_o0I=Yyr^9uc`;SxSJ^1KNnH+~j}eEbADIAekHheL3RQwa-;y_cU(e9kxN z4fO>bW9&@yehIJa?TS~q35O*r%qG)Nd}`^rT!&MgrQE0HpO{VcT!m!{B+|ECdMx|L zC$NbB8vul1kf25V{5}f8JCNW8!i=Rn)M4gvm}F+J+mySM>qF`#U||^hiCuN^`ImP_ z@tUf$6-2QsgF?9n`7GlLBM+k_(TEF;`Eq$+W*y5=WgyDV{4;szF)^05@yb|=8%bWq zgS;c~Di6|#v9z>}g9V7e9M+h}#EC|Hm*eT<3mC>H5IF}f ziWtV0Udk}8A(0QR5p<8GY0G$M&24DFid8hK|1YdEjtZ=L*Hf@6qre}^(>Tz-%ec39 z9J1x{`4G&7u^UJ(%YogI$%U|6gCP{c?nz%@cUZ;l;Li$nPmsvxRu{r_C3zz&zBft~)+q(a#3#1IN$cMbEMgAkOU-8pP` zU}irdk?&F46+Dhd_M-VKcpY6F`ojXPE0PHZeGm-Cksa_x8eo-gNm{hGD1Qa-9AYaP zF~ww~PgK~B1nNYsV&z3dRaQb(b)rQp5j|W&$5---+;$~>Sjhumf_bmv6?oZ|l&}ic z(0dxQikA|wt01D6(y>)MpnmZcpYwAn1j8?8w|W{~565zR_~dE&Rjh)u0sCQw zIffdtHZvLEV%t085R)xSG50$Ph!Ssf5L8L3@pR03L6zea`4_Jc?1EOr+)Plq-HxPy zB+Y=3jO*QhAu@HH<^Y&SEv3VM@$!LbXgS{0*C)=Lkgs%G6Ba;0x6eqs4w4Xl&pKW^ zWb=51m~T2;iMd9+gP7ljHG!tCL-+{9TnBe)D?MMwt7}IB-qIe##Hla4(9Wb^&#M(* zj4x9wN2IEwwBU#ozGSeT*K`<+??u9zYDNdv^JMPXh1@qFf^ma7Z-9HglFo0yPDRL1 z^l<~9!t-{M+fMF5b2lQ?e~3zVf+cA#ciR@yT2L&1$N& zx4VD`+<t@i~q3G_1J~l(C5~;^lUcZZq%M<+sr`8s#Go*o73k zuXpf~%Pf30=M3B_lYTn%C&Z;_%V;Mq28fn_Xf+%y$ZK9G6BUo=I8$fH!8=N$@cJKZ z=6<+XYqy2hLs%_w3opfS?x6n`?!%)y(Bv)r2IAd4xAH8GXztUku>87`(>4TlUQml| zJl13TcKChRCOK@<{~jr3E2b5#*v9MFH^ZAegPv^Txv+@-%H}n(`6Ora^1SRl^4g9d z!%`Z)oj>y%IZWv7e!5s|1YAE*WPpq~WV3@$;!&5$J_n}ZJ8GE&D_~0{8x7WCgEHu< zA3P;7cylY3XdLci^dc03nDSYW3AfUklu0zV4ol2y5U!|7Q;dJAGEo6YGWIdq2@{oo z>lbCf#2VxQS~wb?(X48CH@bw#N@H;rSTU8La$HniH9mu~kYlz8UZ{=T#+04>AnsXt z?c#^vtzX>*H#wPHcXPcH4YtwLIAFYtc4t!4-GKg!rtgN+lt};W=966(4-_a{=i?k1 z_wbT#&5)4j)79el%}_i^G1K*3)#Bl( zArD4z64WY!32_IT068AhmWs;Yagjx>v0tYMy#4!1w_K3##o^xE~6g60#!Jt8=v!` zRAQDPx1+%nuIhVB7WLZ4jSi0;0c);^Gu!+4Ty58$f-_>;2_81-+tZT$5V8p7?dLaf zu=KNeSw5FYU+;!GYssi=I11)T*YQS(E5v4h-8X$juM zAzmUjY#>%8DXY}D zOMb@@`!G@M<1lhV>eJri*c-Vs#lPz+F@IAnu6b+_ER>TEClynKn^*W2RJxe6hw@vp zKf_as7Pr1Gq|Rr+8(V1A8H5`n$I*#1Jjg8qeoIceFv#JI;FFt!>C+j6@846uvwXe( zKH;UAF((BwZoA09M`9iJQnho~v&yDP=lGSNWkSiCs^a6n4kj-x+*sVk$=so+<+pOs z0ZKp5BZ@rP55o=nIN9fUV_tnX6}i9%6w9vzK0qzIFO+_Pmn=1=4aRTwaz=w7!*KB? zoLNL*@X2voID&`-UEm!`?twE7fW1hp8x{zfD@P8*?uaYC3{&SK4~IiK=pt`{(-ns< z^72(qfNq9vo-+*WSpFRtfAVAcLHP89sq)P~FgdrQkV|~7SH2T^t5FYMz^R87Bfk9L ziiqc#OW4p|F#9t21t$MxutYm*ei;$Lg|z50Ux!_x##i_Q?y#MzUFE-FXW{5oM6-D| z)w;$fAcDE)8V~XI@DXC7g)RW2(c)P&9*%FZyt@XU{sYy!&IjYm5nHb#7S@n#ZeTZ4 zqQo1#Ze)$>3gs;K#fPh)h)w#=#RW}bQbeMlSn0Ize8ok6<3W>MF73X-eSEwj{=O5b zZfHP8T;M5M<<46u;wIE&Dvi3yOF@#%zX_EZHJ!HIuW5{#B)BQBQ4ENU#!!H2F3U zac|}!$bi4dAZUONYkJVG+dRzM;nyEpIxOxByrc3RD;Vw{w%5(S~ZU@d5&-O0_ zaTco2C&hiVEcN-E&_n&ivtPJdG~^n-fQ(V=i$;PP<`{P*vT=Y=G*xw$9WOBt-3;$6 zT2TuJUGMPmFhr8>@~-9n$r0iy)rh<5_}0-&RRhf3iJH+-sgp(gNc~1;a0Fev%XRMW zU7_S*^J{XV#Huyv|0U;pyn4Dr4Its7BGDyWLBcGMxYZA%ZXMSu(fB5=Wt{P3!EToE zEZWAm46#uAi(00-u1Ti4KBk7j@utyO$hNvy+HnamD`HxqN9EWa=qb3gG2WBJBGVSP z)hP!(rcU{sj*%h@lNSJHgHifB)D*6c*y@r2>Jx{$!3O-n041a#z7w8c9HY}EV$p_S z7#jRd0_1$wvECS8*t zKKD2kZOKiHh?g4=Ltcn$G%z#k!vSg;g_rSgE<3e>2_*88&G?d@@$BPTkOa!fw|%$l zaJ5hTJ%vgc(R^62_(MV~EYy2b6R)<#MyXPiEa{y~F z*3t=!GuVK5g9C``g!^xYkFxH#SRiGM)utoWiM>NN0Bg&F`zIJ|H4fu7_zG26ciK`6>E$=V($fec`%@nJYv_eca269H5#!+v6n=n zCK`>2n#AZ4dq;ui{@=O1hZd8!KCKfl|z-KZ-RvH1KD@hsSB!%RSuZ1tK89V zB+{4b?^x~!ybIJJD={mOcmjR5d!SFi*$p-Xn5-7R32FrR`bRkrKgrB&xu*9q`#TTC zajj;!Qe%t zT?%ga;nUnYzh@3E3%h>lv)ziqu$^wk)4r(2Vr_Y2DpJ}$>NMR~rLv9sGCie3fco{W zY?QGcsGM>oR}zwUVh&8q9GZi-!!GKBDupQ`U8)=StdO-xcY%o3$^BfcwO;h;NG@n7 z{-N1mQgPQ-x)g>f=DX=q)pF-}k_-#PFc6Wd=T;6yGh8^IHg>W46$Skv1(k|`GqF~W z8?3qJG*??k@qb{Ms}HUELu%$X6e~tJ5`-dRC>Z(&rn7{CBkgn#ej(+)=S4H2@{QFXSpJiXLGJGHN*l=rT)CeBFaCUaX9$@7G zwv+kprjQ5N@wA49Kad7se0uePRHMdtL<7?OOTP8Qnnl9D;(AAI1i3LGLGimqGr*T> z9-}%Bu`K@#!r1|Q^sqX@m1%1qO7318^rT7C^LuoIfcRh7H8;1R6)Mq{hf*Uc@N+8p zNUGGfsUgKG0cw;`i^6%78Fv)hjxE83;kbI^GhmVf^bZWXrqn=7gX=qy5rXUZ>n%-k z09u+ol>7)CB6RQ`VSara-Ft+7L>sE{7+)6Z^;o)K+m@<7!MJ)3J${1Kg634_sZ?Dm z^EtJ63f4z7_o>u`<~)@O)0L-)?EdunDHa17e@5QVBoF^S7D>!0aQX*t*JG_RGD}O~ ztszjesrNG}z`af&bo^H6=v6`2ahV@h&!=uL41O1Lhr*Y#M2=E=HdKGa^an;Ros{l!CmY!U!$~lVf@4$bPD+@C_Lk zoosJzal>Cl_!YJt8^e#Sbg>zGBpUP4UH&X30Zx%h@5Q3vWH;pO9r_5yev>Zq&Sp#! zl*f8z?&CM4bt0ODFZAK5 z22o{lb`v`m8v06T;O=N+-8Aegj9;Ty-QMZNs)HRFNvVuP+5nNrNL9V{M7o5uQnz={ zSIf?$oiETA{*^LcNFK#rbL)>?%iO2Mb)UX3r5g1bhUu%njZfQEg^mBvru1uogK+z~ zZ5I(R72k+};V|?K!fIbiekoNAt%nm#h&u1|z9JAD^#}pB7kZ<}xI-b{%{k5u;G!0> zGS>sMTD2QJdx>3S9cb_?%;p`UWv?)yTbEK_NnvG*B3tgqJ^-5oUGRexP=LTRezDh5 zH}}MPdPFC|h)(Gdw%?msuw(ga`tUWvnn34YV|6W?Vl$+cu6@Sm@3`JyuC^UdJ2Iq@ zvK7!JMW8Ydt{dz?6# zb9+ss1n2e!*Yf0Ieg5vG>bi+@yYq~PU`Kw}yG1-zcuT$U2PZuq)WV%M5QUaq@6hSH zZOwL5{Y*Sm<=e}!^;Yy*SPd6$`Q6YlIEqQQX?U0F)KOdK$`L##^ICmFm}eO3S1P>0 zKo!@yzGAm@tTZ~-R z^KOq3rTmu_*{nRTWD&w^r3r?ny3i$9;ey$eYPh*PI1EFj7{Wbk;2_} zqhf>GAM|ZXhS!hPluu}sMQT+hR#4$}j^xK`;3xE*MQZPTPaolKgTf9KjS5W+1HKU#mJ_8%K z&*|@B%xQ#`eVo;nUfIgEu-Cb=B-bu7uPygUUaM|xakfFOYWoK*l;jrD`Zn~FB>S0$ z;+e_=hf$7EA^VlkE98@osI)e=VWDA2ipg$jnXMWk2!Y^ECL$;m#2E9i`su@S>QCIp z7ohgSgBe`IOa&{l07^FBZPOspm~S#%Pqey5IjN!RmVupC2P$*XHHUtKi8uYe?cj5; zA=XM2(&r7j29E|l0};6lpVwNym(wRl@eOElxXen#Tf32*vVe)=OG?2xR26%`Nnd{&}E!| z<3}()r|VL0xn8&MymA-Zx2`zPEX8dj1`m&s6z1Sm7~J)lOBd|qR<*hbYM0w^uA~3Jq9GO=)a#2lYhZw_ zsTY1?jXR;&5PIX0?)6VF)O+vqHnd!YG4@jBCFt6qWWMD&+2jDc)47hmDI_;{u7K>r zv7pBUZd~`l10n8jcHEm^wp_l#jMEMSe-WPxf_3%9IcKbG~pB}3B zd5W$^20L&~6wh%^dhxsrLw!Z3?d8@D>L;Vw9HK-tco_d9N?Q8IdaL=ZxtS84{E%xv z?%ANlwi#z@bN{LlA^66=9|w66o|yU7LGFcRnWjbLYQ9&TIpIV7E9!bxf&r2C(|FKV z2-SeSI&?NIC?ZElr1y?c;bL-4sgV;kEGAd# z8Q2Ulno{%x{67%G6S*nDhYIQOSfeoFv5_G6WAbc4UM0vbOfD$Q6S2$bS?Qr4ri>v!)32Y7RI zxmJdO=9Z7y-~c@~z@e#By--f0;&4UZ(c4Ot?KR9+IVbAR$0YxJ-&3E-0xj{ROAh^{ zbK+pV9^tcMIPHi1w0h%tl~0eEbd>1UcR*Q2OJ|>0-+t@?y!L@RweH04ijKn*sw@nf z45AyH7_+u@^1b_R@JJ_M!9n*)C!QXY$Zfsw#Z~xnJqIH^d9)Z=2si1mC%9qU6a`<- z#_x%a3pYGD6W!qGn2oKI&v0lG&^wui zuQ&Pk^Z^L1s4g0))4IXO7T(zLFl`lSX_2By$Wk&JJwTwx2NhJ&Qs1w zL*Y_a6B@>s&}UUKV+zNnPlZ4|2R`B`g72^N2_rOjx!v$ERE`7lcf&bk{b#&#o`K5& z@h&|IaAP$82g0g~n(&mQmteC!%3$***_v7$KiubAl&4=kkJgruyGXO_Q{R@5@mO>p zPpaxFdzemnaE%l^+eWf^9<@zx4A4)3mHU!!db678$Vv7npELS$DZ)0eH?}s16F3(2 z4o%W6a+)!)&6>MMNMKCa*O2Ba-gYa2ofz}N@1H@r?_)99sV~+q2Op=2BxD!TYQ*=zJ6B_Mu}^hh zgo05iCf7O|;z0MNj^T}y&~iBo&YygUvbUDpC{rc4NXH0GgVJt!q=WAc^XX!L9*OSz zCtO!!b?HDE@ra)n$Y@xX7J{j+Y?xZBjC|f!IzNfodXepZRE(g{B8UwG^Dcf~&z5&%DJ%g&-K+lU$cR{XGzpO{;?s6OZ#S^)X zEagY@-4rkC<{?*iecma*gZm3rn|id`L-r`%cQz+oyth7A`&j*QHl6j51B!W?Ib|P3 zrA!V`O|wb!kn2fHCQyA(G*u-#(GX90j5KX5-S(6{r1lEoYMIEYj$N>Limi=E2<~(b z9Rm?@lbtXYSD(C>kJN4q4fB$#`X0xK(Hs(m21l8GPt#B^*5zlE#?T=zxq>t;o^E@| z4WwrAJ-Ub6;rsv!E_xz5Uw7s!oXf|33teZmLVk~Gk0Nt9+1)3j7DAp<^iome zi_ch2O0X-JCiK5ys1CL1WI4HNr5&GfXF`+WebIq@dP@J$d-57GgI!HL<%Rq<;%9Oz zFGm!6@*#J4r}zaVA6NS((%|y)RF4$)fX6QI;JV0o>(QfA&(|bdZ#e>|LYsTb6)R#T z-zNMB%B%hg5qGb?#obRZaV3{ojz}4(sf|COdERm;4mMoymTyVUpVAH=d4RNc6uDK9 z+uEPRcAo4^7HxJG;aKSn@zqBT;0&+%NYx4A! z*GVoT>9DVS3I`@;_{rr<)ra1Ce=}$OME#QX`N_?snx9a%pFF62e+&^>CKmem5$`D5 z^aMTr!)(;dmihB?`sjS?;p&Zo^i1?jRh)#XDA$$BCD4QF!J}8LnP0Z6z4BD zmr~!-Hh;OH`#r2gVk!z3>==de=&!iIrD%{dS^VYqr13+!9AghxCAq#-$@uuHk{l*| zJ48@i1LQ{1WaDE{fb3?36pNtTZYu7Uz;oA~ zDB!XYOU=2EOf?szkK)Xq~QLpzbS*D;R1Zy*<~F93)3eVausako>F1A!JxQ z%eMkiv5(gs(jUWyQmoif%bId|sbmuxQd6!dIeF89n)0X8ybq{xExB5ycFQgO0?ls1Q(t=tjo!NA;7P6Q3GAdSE4wRaOQb=vNL8Yjrx{R7x zx{O*d-XWt|BU({g_L0&W(c#+ib!-@1T1Re(-5cN4k=sbydXjIj+@@5>TkazKn%o@Y z^x(SqP|r4`8Nu-MU_&|{jEr-p2NkL-w+abt$XiX(`P4g=SJTg8;}uGZ6DA(4RZKBs})9kcwS8USzK5b^i1u=i$rEn(jWyYyohAtRbqYvEKGxK9LUMVJ4mXlhrT03gjt`X=*h*t+l4BFOviH)CMwQIFM9d?zQrg)@9sNZ~ zf6fDcb8tF!Y$ErNJUi0vCh{xEw?pc-Fxf?tinmMss;Qi1E0t_Z2P5PlTxj(m0-5*A zHsl^DSC&3*LlKd3RjGR$8XXCI4crkJDOZvTwV^YSasW1>J!SOH)>N)JK4>xr(I3 z&^df#@7nVg@a6MX_^y(*uy&(>1fXz2@a zVLvkcxI4)7ZS3`S_{S@Hrq6((Ua(&hE%zz*M;Co|EdU!B)SmCt$Y?oM^6E*)qUFmT zxA8!`wY*gQUU&NPE}VK7rq5f-^QDw13U4L%aY^6Gg*)^|7(BmrfOfZ%gK?fSy_Fmr z9m0Ob8J9js=z0IuWzPHRpzv&sPmdhE4R3m5V>5aR{XjzLm~;%@yl=;oaK@q-E-Csj z22-ta3;H@nj*%)Rl6z~pk2JpvO>Hd?mwt()@HTSEC2iy;Qi^ULBe_M=-ZtRb6G0wr zgq{;oj`8X zILDz2?e8QnbC`sQD7`mAvt1QGGIf^IrM`_)2frsjvX$zerLOPG-Th8sJ~kT5H+WO- zBszI&-SPT7@QjA&#Os|b)o(og_&z3nb~a!SaQSpsd4Z%fpmSYuekiU!2gaA?bd$ZL zKJm1@8yeQ%NrmC@eyRK=^8QvKaQX-e?JjqeLh8}N?(!+gwS&>dJq}v&94m(Wn8(A8{hr92`$2VRh(( zUh*(3V}ILAu2}9`Z6hAcu^HwGSvUyO}n9Nd^uRH8Q$dQ5E*xG}wDTyIjFmi0yv zajH$nddvQtw}38j3%Mol)PCFARQ?0`2We(8%J@Le#Pv2W`k)=08$?awWdHI5f(&mt z)YuZ4fesv373n=uRIqB66eoxHJ{)B9WzkNdfwNa1U^E|&COjv|H|W+a~7-&J~F z-2bD#ERu`8qF+O%rtihAW$I5LVC$d0Ga=oEG3VaFx*Hq()LljBd_TF2=h8e3)+^0M zu_vY?q=8{z|93FBJ^@4Pyq>+{)-gn25ITK6DBTw8*wJx(gH^k;XxDKMBkI~Vu;%s< zxc9?X2K9EJY5iqisnvbj&|eO>Rq6NsXo-sUBcA~nGF5Y+b_3+TQkklhIsjeax%TvU zfZR)(7RZ?Z_qxV$J#OvBH{?cUc42xpP!23U_mtkVmjG=PtP^vi?{f(}bDSj|& z=-aevu$&q+As{zf>v_5sZ@?^pYRozywx)pZZy>x$O&TH>wnaB@_E5RK^vIuTj*xwd zW?}%JUiVipjFPkQo(BRmQIH(pGU@0qAZ5|?VW`=bN%Z?LxmmB-hf#$-7V|kvcj{H> zQyA*(-?GrN!4In0oy_x@Xb5l@*WXo}oqd}%oBjnmriHf>{ z^z(4Jh`bmbK3%s}evA#2y{(7<9pO{-B`Z7f7L?s)BY1I(O3(50d=j&#yZmJ zIkV5a3HGBJ%^!_%&)EvPe@@SsQk*F<2Bo8*;LR1e2<~{TISTc~Egzws%V^;G2;5+S za~zAlSNaz}LBd0tHyX?@y#@1IW}YB$2?lP&7~o`qa}+qIF)X0N4G5T%C6rrIUMM%3 zDL1hpKy^1LK7v9Q;^iXJ#!SJ!y_{el#OyDwgT019sb^3IGR4G{18;RVI2P(N7O_=r z9OOjmxRMkzPPTUq!kz$>w3@mBTWpYO*N_H{lY7*k8O)7-sCLlSCLEh_aH}XE`+ROC~4H_?RkkUL;i%pQ* zE0Wg>!iyO#u<4q%O~JSUH>rFBlY325P%6@J&&gDv*OaCjY)&gpv26Chiy1JT8kH8s zBP`uNo4lvVu1=mgm>;qP=B=xh$82D(=U|!$jI_^{N>7u^7a~y7H&Xd&a_LHwbGSNi zU*9}QjWUmZqR$2JlkH(@S7t7(GfRzKY2Gx<090_L?GPm4iJ0>+QH&o>LpY9Vx}j*vDxQot-|J;RZr+3f2`gV}86NM<%GIMQ}DZ5`=6Ob+xc4s;Q6 zP6m2)5ei~+Y7uG&)2Tbx`MOe7GIga2b1RU3$G=$Bj4m6uh9|!vEW7#Y%!s897|EQZ8`Mu2VqTG}> zkQW)b{thEcl}jo5<62Z!^ThpN7Z&JsSrI&5tsXmRt*p#=9s$yvDskoU-7%y}G2L}@ zskA}yXG%||Ec;D(hWcOEpiK%q^D~fD1=7in+2fCbeaEk&e5TU66uE+vFB7yh5E>eU zraFN>n*%W?e-X0JD`Yzt9i>>~yNe?9E5WYU9)ar{w*}{Kve3e59-Q|#ki!Mi$%WbX z9tQityz6aDY4_qiG*!qy|0y)6h z8@?wGwomVU5DKioW0yF+n#sVjx8z(m!FMRHH+Qyer| zE?1&fi$V6gAso(F42K%-M}kA=vMjoteR}Qv5Iy|IJOVU&1|<0?%1mFPQ%zQ)z?n3E{|9i3Sz54T-H^H$29^l+{0Q23W!@Yw4+n!X0K$on+gr?&~`fd$+E%ZE>kGif!ojCGa8opMJlQN&>P>M;@zoqQ8 za+%%(zx`7^dw&sTpW_2rUyD9P?Yb8S+wh?)Z^0C`Ye+X%zUX6j7|xNG!rSvXDE%lk zR#d&Q!^Z7^zKe741&UuM_m`eM&GFiSv~|3s@RZhVMHRAHZ{oKjIPMp?%$1Z?`2tN| zkCBDF!Lo^2VwuH!UKGoPPiX!T48wYEknN??2D01}A(2-W)BA4&`#S7^=DyC>$AYqo zDg5lXTGgP`5fnPO5#5qhYPS&$@R3J4HwA41uBpJa6ga0fEMWnrz18#Q=$C793k+*H z804`T)j*eX!oS`IaxNo(J1da)9|$FgMbzE`5yK72ID@i;DThA+<;@x41~S zK}iO3_I)8}F0+5X8SKsmrObW$<&^A;Y?$7Q@yk!^VsLstd<*(It+zr-MFUq&$2rYs zA!9dzdFLs?ypPsyMa64of(;Ww3_>%VK-)islv5{#f)`Yw3vXsjFO6L%YCD7SzMwdM z#FTZ|dxA%L*KI@e-nl2j=`Vf>3T?*dYo$BMw|-* z4gL(=_6E0$fxN}Yg~x=56~7A+lUc-XYaybXLGd>zlbAA`DO-;UH@ogo%?rp|VLOnw z>KMpIcZ8q`%$~Fc>_^gccC56_-+|~F&je>Cv@{6qbpoy034N{{5zIf+lbsmH_ZFYh zz+Z*b2dL@Ncdmlt`-g=R&wtS=c*Ov&#~H|J0_mhO`>B;+$7V4-gF6_MdrWD^l-XYi z%A(ssP`BL>RK`G-H;@;BMCN$<1(M~{TRNlT9TxFyIYd+wgkV9S1A8E0-$5ZZ?WPc0 z<4Yi$8OT-w>2#Y#EX4G-df|XzzxuPz?sSDI<(TrmLHR&XXwF^;x`W%>QC^Yjf7y#@ z8ex2n=g$gG=h^WQ?7mgs?h|~HPN0XWa63cbq?8*Jz7Jgi7vtOQhVc3*yY9UNu2-ZA zr8fL1!Vt3`&ixH!b%Au^$LZ3?Ee888T>Z|K$o}g>P%2YwnbOFhL@h~x1BXEJajj{zqMToHkD zTFL_2&xU}M&xEIoFA51=k3$nT1LL&CGsvCfJJ`6nBI2 zF;hNZ%F0iKppEB5SX!Nhph^a^hJj225}D(dGf0#JXLUx@`w$`Fy<|015F!PEK0OBs zXEq737taW><-Z29gMsWOkWNV~VnZTC+}tSG@17Q#Co-ivQwAB7QG!C#zJZ_@8+3Nu z5`O6$M3c$*{D?m*I3=)SUI$l;7=#i!fqp&@w~N;cuU4JpW*|`VHogN+3a=-y>yZg? zy=|S~+TmlXgFN_;3a84sx!WUB^;o)i_`{hx={TAH3Nnckb!9b3<45Vxz9R<>9 z7|ZA|1v2KW66{OTgnmPra&s~$?gqt2Q0T&U5VUcnVBda3u=i*77n8tV!=ThNDE*jX zV#81mMyXAFg5?~;M4CE0;?p`7|5AGN0#jp%{EMzn`D9sH@E2hlB zg135hv2b%~pO9Ye1_X69klh8+DVo_gjsg3vMLIji1EX#rn@2IB1``GwgwZ;Irv3ym zFBb}CEG++oB9b6JrCEE0dXen-;wU(FG$#gy&yg_}KlL})^8K~Oyd*~CEZ1QOZf(oH1Gx!pRWV-prpVgy9A7KBcMK+A7K z!nL_V?CmdvSm$4Wj5Cl!1k$Myi`YF3A|A~V?5}nS%|n>dm?;wt%5*`Y;lDzVVj!Ii z_6E$}aVXg5rs#rjLH*HR5!>~da0^S-s)s?SpcCl)ZxFL-w(#|{9prNdl}eEDU4Mtr zBA8t#42J82X2E&ep2biTNJjU`#g9M6vBG)Wdw~0PsTn~oY)kH~8WFODM0%y;-KoeF7 z^anZFhHqmrgPm`Zw*V~AjwC1T?uK3)Y z`i1e~$)_Q}MYY*Q7oN%=I!svyk(f7(C7-sK@EQJ0{!vO=%i0Ffq~~&iRO>BeJ;$WL z;x*LZ1=b!%yr#J?uu_&umtV;9eH`kr%Ap?ElNOQOm+zqnF3tPXo*uv?HtwxHOGz&g zaNG`6?G^G%msLXa=2vnJG)z}tVTt(Dm5i%F9bU`sQty>C{54jZf>zRMHf>hYh1YT* zFZRBcYe*YbP+*2!x%`9`hT6Qh3mXZ-afUnn#Y^6XXQMh!pfMR(o$_5l+cM)v8U>HJc%&BXHRhNTn;v-q3M`67StC)77nuGZ~-Jf|o7 zCzc97;`Pm|Kw8(KbX82e;+j&_AKC1{eUasG*A8d7kow4SuR3vXMn1tZuZqprVqYDm z`ZG~Gd`aY1-MFDLs4t1VL85< z{;^4#xp48N;k=IE*)2tb5fHzG}lh)Bi%@W^y=hONGUJP zPNAlSlv+}k6dG4Z=_*w%pL)5FGSgNHD3{vR9;$d8?^hsBR$~d0x6t*Y?}{jMq#?5? z&QWP>dxO?HDglx-i@tGGDpoL~BFLADzrM+rafbAzl1|FZ*x%v`@ToX24e?(W#PE6r8_~3A#qf)s1i^;ydamo1zdpzvE?|KUE^pF-1s;~Aa7t3 zR(WK%Q)0JAKyf|0ZG)kDMbH;TmBCn#C|gV!Dm9xy=3rmGx4gFDb)QX(~1CNR7Nu9DK~w!%K0K3Y%%X7exDxr)^$JjAXZm-gqI} zb|%w>vP!6QbS!)6L9^Wzd#X`RDItZlr)K3)43Jvo6yK8XeZhyaoRg|Sah#pC?Fz(%L;hlt8C!t#a~sFpkdG%8 zMLy0DOHkPs-n<^t6H!j*VWmeHA~+rx3mGt5nCrS!%McvdUK4Je&e5D$9JfIdGfk zx*bML%0|C=D6}!yiJ!nGwj8dUO21ZADoFMTRLEaxDSeYb?fsRC(qa=$^jB(1wW4Xe zzp`H{lRyJ1DXk=rp#(iV=*UCafqtljlph{NE&+-_l#a&Y?Hl_X5l)X}qel)7OvQ9eC zmrB)8+O~7x^NhG*2rr_Yw(*7=weSQ^j754}U;_g$ZXCxI;bL#na=z;ZCmHmJ!tqW% zU$S{Lx0sLhzKX{f+EW7+`i?j%AEabRU-n6LucnRtd z*lskfzA}pQXMJU~!{Dw$)Ie(YT&|qDsDZN7R`MP|)k7enN0-!5A&P^o)c!r1(n$G1 zn%J2-g`zTa>`cc)l~K~tP6P%&^6sE0sXZGjLu@6vBYoXO=_zgKK!IUOK#8)qZ1Qc1 za_C6?!j!sF%?`9GObNkldDr=KSPd#3u2d`0`FVc!avdl(Tp7!cD4h;hD)Q=ZxDq05 zM6qg$ayzme^=ztCm72Dr*-eqPJloOkrb-pAe;Iu&mYkXay&{%sH&d!eBVwsnGbK=J z8cVaAq4{u&rM=CR%3NDCQ+z5+u3DfFF2uH&JX@~2RVCjDh^teTT1F_dq)9#K`v|42 zw6zUYjD$E7-YJPxDoLH&(1b`_h7s6?Ht@I9hQ5hZ0|@UZYVn^zkRJmIzUDG)1r-}t4H0~-YtR@AqtFHiCxghrGLtsl5#QHt}7Rz|8l)4_L z{Qe>)Fhp;qOfuC1-5N=H4^w&!$6f`ou{gk|7AlBc`xMwGz6B)g`W@IG3t}(d1@=Ti zY>SQXE&`_y>#JKqi@+(y`uWuHy2Cf4;%uXu47z^GF&|w*_EU%Zl1ppFyLODhl3zp_ z-h5TFpwFFe0qf~YajlicWo}d`5C-W9s5pYqT6ry%jig;|Q2rMCP7VNcoo2i9&il)T(lqe~@ z4V`~aSu76@$yySCQ75+SDun9Vo@RDYLS)AR=)!cTi?UA&YRH|egOYD)>edydDXIa@ z?5YHI@od0B%75M_{e5&ijI$=&TnmKia{e)#xgb4-`w)v?r8;y|s@Y2YUsC<f?S&nyvH6)5vhRW3WCl*{;*J3&Rph(d7Y38He8jIa=)Y zoT6s~lz?{anGg5-!r;T%Bh_7nQMQbygg6U_sXNj$;UYKyEc4p1K-!Ij$hc&^5rdsBt3|_2Yav z^c+S8spA4DV6alDT+LkSjJ@&1WAGAzSa3MjkBfg@N2jYgIt2SzXi6#s~GgH`~P7hP&g>6EG z$3c9E$89+-PN@qGOt(5#%yh<>Bhkr1;)VrrFo)|XJLfda4k!a#WTRqaDUmr+?i-lh zIhgB=$&ILU_%x68;utuhQ|z!X-F$>nt5gy`TQ~T9?7f`i_`;Wl4_3<8ZpV!9W?3z( zYE2AG;T&(O0h8mfw=dlsfw=w3m*dvA)Ibo$9e`>Nc4@Zjd6=R`DwX=A_z2NgYFb54 zHZaX{JR8Iq+z-tuggEG`f7)f@Lb`MdYAsQBIHz{Zj*cWIO&9jX_OLDIv@zwR_@W86}ZLe5ZhC#QkEKyMlI95 zJgpzC_yyN3FQQ`_hS%)DDb>%wJjlV6V2sEX9366b${dZjUhA#Lb){Ay8*v>5Yt2{v z6Q}xd1rg@F=9HSE>uXp2AWayfR5JD8Po(T7yk;u=Yh_?c=J?kD81q=pg=%%-`de&P zPv=>T{`2_4L;dh9$WbX!=WEX_E&UKz+xqdraJ&kvzE=;vh|&EwY1|6)B_;MaW>7X~ zUtFX&HbwH4XUGR)Ua-29j^?Q9LrJd zu}Tk@?Rb=j2NAZI=S2|%AA0^(kRcixdO?0(TS*kw{NfB38_<$OxP!Uv=wp^(=c+ui< z7>g!)(ZO*_u;k=P&&DaWr7~VrX*?Xod+Cm(_jr{PCY8y0H zc<5>(ngyuV+k;k*SHh&vuhZ@EO6d}(%78KXryOPKdXoJFrF_s8wDg?BWvf_|__%>F z=U{dLBif8l-08gu&?drD*QT^lRYU(r;4$(QUZtOaq04O#oyVOcC*CiX1DOma=hU(O ztl(64@|g%xlLQ-ae4G5(Z*ydQlr0=XSI}H=%b^z4(RRhYM8+zP>9cw2jaTS}=yR=N zDk;4b`h0mhI0p;T$LH@VtSCqym<9Jvxu;Jjzan{(5-0U{r-74{aMO1$3wVetdwF{A zU_rbi<8$S#C`kV(zaoc2zuGIVj_x`D(Py59N?%IZ)gQ2EhL02NBXbC2t6Xb=0yqU@8 zKvoxDA%`hS3kNTrEx_fhyXpNYif@hH&-GqN`WNVhDBcihcKsc8{gl;dwH8tU^8zur z2og6V{;vLtE$&LC@^4FH$P)&SF!P~bIk3o&wGvmRW53wbDN0%CaA|Uxs(49jOH*|= zKP*i#Fim~o*!l!m=<8j&HW_SS!Xgb)_Va{=+8A6sOTiel3EvtFTlCN1Gx*f6JUbnh z0Sunj*6WJUEmk~2xY2NOjp=g*ebz2plg)liPjM6^84Np_VT529$O6zAV|rhMzK`i` znT`u01NJ8fYGbCFU7NsAo1z26#3-v%A3?0Z#EJ%Sq#&AbWuu_lG1XolTJqHe``vWG zp?CS1i8=V5e%eIL;i$FrPP5J>lnYH0Tt^MArEse{fonfAA;Q)Q`Z|NY7FdxyUh3Ua z9JPo1IAZjw2Kzz}fI&T9mTXO!=6~-pwJ<5(Qt&t$WK#OMRFAW@Nepox-vAfSrML!d zr<*1W=oNn|l7Pv@1AQnWK}nSCO48W`rHxcEp4_J^-dICwI9+K_=Ij_-n^$3_yq%Ng zqR^qO!BsDzt5?&<)0MJ;u1;uadIKM09)pW$Lciqu70khVVepf7=2#{1m~B+tW!32s zU7n6%m~&aurYjw|LhAUT5>vQpaSqE2x-?8FLx(?9ysFp2X+FNdw7!jV(qSiYI50@{ zVl1B`76CSYr6+nJFS1Wm0$Qznlc~?2CLw3Uq@c49&7))};=5f>WIq@&JiURlR_dAz zE-`#q#2hN?^k9Vzz8N|00ZmRs46eFBM-!EjWzK;2&)#CTBN6?`Mb6YPNona3RgP=* zdpKFAeucv*t+``y6#c8TjkG#R8R0)d?{0;5`4p#D^x9NBSR9LQJxlSGr7Mb2?HP!d z=EZ2lJjIu`%}}P5-cXdYWn=&v0KHmb?VI>elbM)oT110pq9rqxr@1qg+T|Ly*pPj92Ai}P)VGDrC%Fcb*M9~|413(e9%!(xQobxm_iMpU&iC1ow~D> zo}Sk>>v`ZhjELlOF*qm(89Y5v;~wppg^9^MMaUx=%N)T)L|6|cD-EO{9K?sm$M~4& zK%G8TrkHAfntvY8jDr|@52XSYb-3e$EcT^6^g@0GYax-r28JKq=LbQj)KiE@s}P%k{>!Vvm{ z5OocPetjMHx8q_J^)Wq~t5hxCUXVMmfe!bEyA(JNmUOv}wXNOt}iMJ0sw~=@| zXCv{p3-YjKAlDS+WrBQ($ti-ogk2XB!83>rb-f*8 zFy$b()9Mo4J~>LA%GD=d7!IQ_10jvN!-4Z5_}CR^KFllGjnli25taw7^Mk@w^>x26j!OkTbjH`saSkF zbVUW-2>o2Xil}HN?OLP+c1+0P9?0G3xW;Nf!O`2`IK^{Z=F-tA<8bo_CK~uNVVZ(! z-wErexBlMs0yZIoWn-2Iw0P3>)dkAQB+%!A@^+^31nJbU?RhccZ zG0_sGQt3IMS;L1|)x-Bkh6vvhFj~V`1Z~t|*$7{2oM1!v0yn<~gE^6NOHJG(sCV-x zpqqbJbrN1$!!|5~+L2PF_@$q8O|0lz88n*|kJ6igwklzbWJxGd>~n5N^-Db-s})|; z1Hxc7niWHc(749?g(0|lcS~Kb_d_2Y;mo7D3a_j=WgJxHVg6&)367!S5gYV@)W;YM zij>v!Q!EE4?vPmZLd;zh3X}@5P>1RAiY_-Pw;LRJ0C{)iN2>Vi_i3&%dVm%M=gSbwB<&Lb54snc_Qa zE4;FLTNVQbsCJmUs%mf6Cnr+SRS=P~AEN}m#j(EmAh)eZVxH)5QGMVAxa;ek^Hb`F z5EW(K&BfVzm6qDmo?@3P!KT8g?9HR7xD4!6QukjMxyf+o0f!OEZ}sb2@2O7sa^B1L z?c7t>vZirUaO(+D$wi$m+*v*RmGwe$6hS@0_e+h&n3uUn3hoZzHnM~xI$0uP?s!4Y zE0oeT2k7Cx$I+nP(1#}Z6(3L-gHxkbgBME+Q|A>*)&3d%5KW8saxZS|(eOlz7T;O- zLT~T5VDH!E@(UK~>T5!IWXDJ9e0<>1js!%GkrN)nS7ajQjAtS$2ZM5j)D>85YWtF$ zS1PX6wmjo_Em%ZE7@dSmYm5wgPVH7=5;pi5EnBGsyG;8*L^NUv;m4K3H&-et#ecb) zFZ!E4qbaMD3dJ6=KSpls^OUx)Qp%Q21go`JS)=gQQ;xzi9tJz7ljBq5M05@G%-iO< zDB7Pq(e>sQut3o+DilD(=xPmrO0lbz@Yt^*@o+fUIZ+SeBi!7WYl7!jMD!T!iq$h_ zBb|*ask`dr{Cs$)Y&8ZK-JX%W25UQYpHaXXrE-uXT%7LUX@ttomaEwZ6sqXw1 z-Cm-Uu8;woH8%`>1bZB>exVq4;Q^?(+T}X!U5ll(kx!`HdZlzD^v`nYq8P-Es41Ir zJXw=8I0qdF8&XftGAfScg{@QEiodv=FPS?%qCxAF8sU5Lqg`1Sb7BVTib8lcZ`hK- zYR#?4TzX6N`$N4Yikr{wjNEMpWz(Obzs8q^bDre^MHmM-r}Be#qVikzfQzZoA~*?M ztS!PY4)jPP(rs|;e7)ipb{8HQ<@)PO`9f5c`>=VMhV39*)wMR9_Cj6L9_BUF4S)*i zZWu}MUG|M?vN~!~7duapoDCEnvGPQ)3vKZ4#DS zwprT87^~$l*a-V^n3;gHpqJ4yaTC1Yw+i^D=1>zfN`g@Kcn{160C&T47TyZ>4*<5n zGt_`0%*(V$*t-En0X{PDt6=U16h&bEm2$q|F};ha76^R+-QiI@%=%fGI!wSf1Anu* zjg>RLbsQ9Ab1ux&fW@Hy26`sI>b8Js`YXcU;@Oi}!~mNKF!up|H@?{ePO55v^RP4U zzpfzc#i3LsKq#PtjY))V5I#(R>wp3p{^|SiU+`Ffua2k>fKp*FziE-Btpvp6fuyMX z-!Y~<#Jr6ESN4qsJuKj#>0fy?1rDl4XKAGX`wYj2AoQC&f|+L|=r#av*sX9IJXZT( zn5KWl@E_4H{%a2l$V2+))vODL1VVZP1{onqgFPXSVCL~^nWddTXgMaVu(80m75}%U zDUX1^Wqb$UqW{LjJaV#NH*vc90g4*Jl3>;`?5q$otw3m>1Gh8}{E)|<7ylpHP5FfW zo#XTW&_m9k#{rQD%ydIm{gz1o_CQ!YW~K*ivb1S_ zcmi@C0Db~oG5n|lnOTON{bC-|mUdZM5Fh~?bFJV~;MDafPEcvA*^$*o$;o;#Q%josDOtB{4nLyt^iS|B|uAW2yp?-H$oDC zP(8^LD(0y(2u&-%3((y#*=~i7Lvrm_oYx?vf9}WsjXmD*XyZFQEZ~PJkA?*maWZI! z{zj0_GdN4z2;P+gb0Mj~cV1dvyD9I-Ke5OEn;sVM!<3`-9cZsWNGZTeBP4xc_sb)g zdG;YT>LbKw4AXun&IJG%$IzvKISb$W0A~Ob;KmK+QkYu+Ha4j0M>Vi*oV z28@K62BA{{+prbh1#||+*%-X+hWXeXHdQ;jy9HLnGN+~Lt zde2557T_`$Cg90Dz`xGDFW zX-(H7vm3a1ursdVy8JwOW&D-h1F~PjeG;bi3?7r!^8eM`o})afgJlTW0BH3H+MQUN zrCkE?*EJ|42Gcy)|0+bi44(bq=>WF_V1^s~p6_tCbhVJx3o(ExH=BN`A6S$lvdQ-X zTK+SC4{7HGJ@cDC^Hl|I)7O8-|0|gW9YfQ9;rYL!r<}{uY5=kUr2+4s&C;$yW(UC2 zOE^h!I!il-0I-=Cdh0k7V*YY2p(pGqhNHa9|BgN5Vy>KjhhOJ070~M6cKA2$lAuVb zOjKLhSz5?z0e+TTyA{_6Jf>1v(E1H}a{wzLJ|jz8U^tutd=_}DG%Mcv{SVD@IfAW% zV&HjqE2QpM>>LZ3Ru0S7M&eN*HuJ(!eAmJI5LVpHJUr2``vZOi&j$tES^57>6aA-m z2w;zY9U(ktMH289l$DRa8Q61%AqMRd9=wSIynSQTEldOtWAbIs~lmPas@LY z7RT-LGl*}8JouvU;2NGQdh!?W5bq@Y6^-%i_QsTK?JKsM3;V=}0qmzXIt0$9; z@4plJSF}=aI~1=ARt0#y15EEi{$Js`v&RX-G82z?BxP$YV2%W&0iS?xrmg)rTML4jkmPH%WNY3) zy3ESf>gRE|58pQQOHn(`G;u+;wsbyZ0W#)+9S{V#2uK6C0A>Lge;&LW0eb-34f`FK z4*-h*-y7x$n6?Yy2B5-j57Q06W(K|)X8;x&@Nsleww46=2C&kwZ-hA;5Chn5n0sIj zT!FAGg$dXPNLU6FFmO2(24nz&z;l~W(${2b9am;+eF1v_i&nt|M68A#@Xcz(yaJ|D zAO@_1R%`!raD%%9JQTeTaB)MnHeqA7wgqqvV800_zU6iz_7?LPr!8BjcEM>S_7>1k-&8UqyZOYnD#L1e2Jvn zgS-o{+9QB-0`Tj9-Gyn={9ri?cmlW$xCrpxE6g+l$9M+*-nbu10rmir04EHy(E%hQ zU^d_ZaNP~_#6j2rS%3(@BE#e^4F;M&7Ps4MZ#sAk(fSpH9nIEK0pWn#X(&;^G2A|q zYv=DO_-^n9G4%RB2me32GyPYB{u|HV?FOab-2{Oz`Dcwa8{i&hnBu%}TLgaD8MWiA4`+hHF}A&d461MFTf_cyR;7jS0e%Rq~E6$iiA z&Ts_whB&Qt3}<)vdne3IIPBCNVCDHs(_{$wONKo3D>#$X1h5+Cfa>BTAS?0^X9Pb4 zu>0XKBLNiv(Ktru0=~R*FXJdtIk;i)L}0#!4AT;5ein$ljQ^=!gNNPlcG}&67Ht$D zqo+md*U_TA>R{3K0h$3Ww6|#Q1Mal5Xd?h`W3g*G)`IkhWkp+y))!GRPX!1h@dtsdamN7(NTxHi+G#Q`48uxJwj3Se%MMe_h`!gi)0 zz`+kKT64gq=|~p9J-n|s8jx)=K^wruX#&nowP-Z}&8Aqib(1Zc-z1CHd!j}A6lbPi zjJIgD0aM3Ww9~i;r4S%C9-fV{XxB$uG&ew>QE)fXqWv-gp&xG1rURS+Gz`fC_-v>} zs}DFn#G!tOArAoF9I0MS|h;e?MVOj+b!D9+br5Z!1GTn+BARzV9{2K zRvz%_7K;`PNc+U1wE|q-Y|%adJlJH>#sefk%0@&#V8aHBRvoZ^y+w-ve7nw~bp`ys z)}oCBWUjGjGXcc`D_2{zN~=v4?Tb|wEfjDDmwR*o+{CkXg8(mfS=TeJxP88By&MRNyiT!_2`IIsZ45^!-oN(tcZJd_eZ)?ADB zkqJK~0ITL$v;e^F6hu*5L{S?=5#V%di`E|Sa|~h#@VphGz9pg_aQn7^r-pgYFs*p! zUvhb@xV)wv=%&1g|J0rd5AQ$-!%M@wZ_qKR$Ly_q-g~l@ zEn`?yDD*u{`)p)XfJ?^z384P}F9Zes7jE+UllI!8Eq#l8^A_pvk|{!xkcGNAPso@l zucLzYYoMo=(X@_|ruh}uv{C>+M@^fJ@0egs>kC)}*k0#v!1Q;-JhVd)bOPT$)rBy? zY``6S|5Gr14wSs_pcz_Ql@Y;4wki5+59Y-|$tW@<}ex?m4|8q6@5Kfw&zkL_xKkaGa;V8$NI)K0+c zeJE3NscK{6{Z*#+|LXb@@TRJ+-F;Gagn}UjN(T^9C{jjKML>#>0s<{lQ6?Ev21R5@ zr9cs(DU+yxVR9j&rdkvPCHVPSXVWWJQBhOm`7io?Xwa(628B;O8+WTeLl4r0ujzOT(sTN1JnL52 z;Z53FNar6{jR9&Gf4qsDmN1Q~PS zA#5+yJPBL3kfCO^aZhg)uq9qsg!JR%>lY!T_+)?R4%9dU`^9~Lx5GO*kk0masRJ^I zZ#im^g9t#TLWVoym55Rt_`2YMYhM`Lfr3DaKDF_NcfueCPjDb3kUq#L*xTQP{8^qzD|$g$zRa z6;XhfF(B3JC%YlNlMxw6=TtnZ_8=q3V#pZePDtl8)Ev?Sc?dG(MS&oLg~$-^TSp0E)3KzboBDjYIv0BTr@U3JI^q!%*iM?oRI zWq4x*Qmn)?_kk$zD&UY}4Ia=!M%SXIc<4=`X-mT8atqn&T+W&y%!;$i0v`R=%l*%MM(D)Y>iEX-UG;B63*w~797$8 zc^T4$4e#Q~h#=%T$Wo!U%yA&FRelyS2AMep4t-FBj1*zx2QvH+c95pR0luwZJ!Irz z>`Fm;mZ8AYAfG@5ys%r39YsjBO&Wp>ZpQvvA^*a3t0o{#QvQ7KKO<7Lb|b!ceGRiIH-k;R>JUpIC=|h z3h8|thLC<#IC2mAYwQOF8N=Lcwe$O6dL4}gbsLkjHCZHFwte%(b#-$7Jp z4l@22eFM_<3AQ*d;vjekyMGS?_#8Wckg>xk8D#WJ^o6-7;Mdq)g!CLmLDl&;*uI0m#5HESVv_-{K}?k*Xo? z^&tzszZTyODb%fz!cSwDVlgsIjmLK@nHG zNLD=FqXhnY+=?|A4x(5T)IhrOC%uVY-}TG@ubPX4kcW((Sx&OZ(}7@%#xXjqBX*BG!tz?)w5(y8Vs+%qUz!%J4dH{BF zslyz3n+@NuH*t>KY&&>_&d-tgh{7EYBAh-t@t|B~JVLYP%7Jn=mMYbh@e%?zaC$?i}DBmYH+Ag1`Z+$Y~{$4Gd3TiV>rqRG6*-gd( z;O7;V;9DzVKAA*M7s>X><^3Yrs?&sPSgDy_(N7^`ZXw11YsT16$OhTyf@C}-hb3nk zwejXm4Tqcw%1wn2p=I54KnXt?3sH$ox^tntC3$93ECyJ=1?1{mF+Qnmp-f5M4JwH# zG>`~^dV^kFC_CQS+KIIgQ>svBL8Ss4e;p=nL+-%x7#jrH0$7leiqRuy)4j#$XCbO8 zMqfrOi)F`d!`sy2Gb=i&(zNa&!~|d+6g0@;^g0@ft~l%g+(+4q(BdH~T!en(r?N$| zdGbCN-VamCNGdY>p!gQ;S%ls`nJz7o?OR^Pa;=fcqsWl%+l9E8L){n4^yDlo;RZ8@ zFbglZnKWgwyv+#Erp2( z5;@U!s6U-vBJ*X}T)eG8BPO61jVr+r-AzxI$Oq;6yYNb&ZuU?)n!Vdn+23|_aOM1^ zGCcv~@v%qbFxg}t%0#1QAd3r+$OX2DkESn|Q&FI*<#LPBmBy}+PugosYU5wpXvJQc zLdzeLP3Xo_jBIb^=u-K$4N4tWLg_HxEBf4_m2R9Nn^YcOiT+?@R(4x0|BqqJt(0r! zGDC*()~(>Gcg}y^}T~#5D#@-6;FmF54=1Y?NyaHDd&1m*hc?y7 zB_?h$a};K6Dh$YF$rVnl7?@I>_97@ua{<}hJ~;{3Vjhw0H_2?H360$(d)W>)qm7&7 zNMj})--J*#pl+KXDros;H23<{y7+$DFhaJX7F*;X+p$(Oaf`ee;VRoA&lo*u-d4;K z#q`Bi^u7{G+a^aPZ_mc_PcDNR5dJY36tsMs9Ac}zjXvHcZ%w}3qb`nRhnXhezjG`G zJl*(|oYbkLXI=a>Q>q4jMfIwSW1(jzg>40fp8|SHHZR=?D*Za@Jy5%WS>0c$M}SoT z%ehXk23Vw??PXy929|Q2UK6a4PXcRu9p(ad5m=TG4ii?H^Z@9jY?96IY~8yqt_eMz zO$L<;Oa((FrS1bZ2H5p^tp?_$GUZ}tJ!&7Q-N3G|LKxUlV7RE8Nx3}=%tO_1kv#m4 zy1%A2HBHolnm|{`yeQtaT~4yc`k)^*)nn!T?HEfzGM<+AJCt@YnkAHv_gD;ie4orH z9pdmN48_&G_Yj9W*O4{A;Tqsb#R|Z@%==&vhCz$rb@3N?X|Mrbjgz`QA=lwr+W-cu zWWFP8*e*K`8G{@V{2jwz6n`i27c=re4gojh|G|v}*J^H}BMZK;+|ZfkHBLpQJ?>Q( z)$ARZU5jbN4vd*&BWcGD*&SEIPj|?L#u&Qu8I09^H0v3xEmqU}&tT!Td015%qgPPNitMY><5rKxiR)rM5909RoJJxGw%7V=4+~l_Ov|G-4l0eeMO>%C7F{ zY8R2?MR~J*437Pasn3g8sZ`+DwS*pjQT9xa;yCl+x;SP{GpWK|1m=C1zI{>Nnx<~n zPJ(Z*Saq$2P&aN3s6&OEX0O1Z*H4dE$j{0ylKQ z2k6f|Xr%%ix0rh^zP}-jESLDz>{nz);!c1i#mKii^&5gLo_$4*Z`5KALWQSmSE%Y4 z^uzSMh|2_EwJ%V=y{Pk69EV<{hxejxH8_sELZ2zzg}cGb*T}w4_LDPl?4-PXvX?!G z!>u7&yARbri{oQ&(~*4$V*zdwFMdHiUzG#w+i`q0LMvXC58dp<&EeLXYjI5R_+mDP zbCu0D3JWdK!w{k?xMSe*o6>V7vNb*Ts%%u5^O|gA*k|HiG4>nf@0SA_?Za{E@7Ln; zALRpQ*ejiH%7zVXhhC^m|3IG4OmpFD{#1gJnO?)G4cCVNW&9{p(%f%o`b(z2XIju` zMThYvjw%Js|3XNcw#MZ^(VA3eoIYoO^I zcu`@A{-NWBY

hEt>r>5DpK?arlU+-&Sy}$qUV@&y6|9nSIKYw$A%kKD|!vk2I4}T z(Z581j8mXDgI4wSVl-Z#c2TyX-?f}`xHyX96DkCqeV(mj^{oFi&6*46$GXCn=QJ99 zTBaCTRHd9RFtwZ__z{{8sWGedp$n(bz3^C|NuF_^r3pM*F|FO$jF@cw?tu$`KI&SG1*)jVT)(bea{YH*OE^tGni_2Mv z6%tO(ltI;JaL?G7jI-AT(#fT=ZmGvnHfW=e3YC~=io7M9mD{JYQrBsf9%bCaxaDLU z<6g!Sd5YLYRVwejO#ASSlqy;G?Ef@#%Rb1oe}$%xX(4{Gy!th;fE%|V9XJQC$%vDR zTR5QU{cP6Tr13lCWlHNFXsPIUyXok#l9+62mrnec7uGaXo8WvwLUf|dGI?m=8d6+U{G9_;f ztW^X1TI%k!i>-Gu?n=?Pwcy*&c$D!R4$kLP26uP=%Pb7$imtjaE_Qdua+jvvg&4m9 z<4a{9Vf+WiQy34Y)9IMJ`Hs$fF4|~&Yt7i7@dC!*XZw+iV*ztPb}XIAr=GUjJgiG6 z9=6H1Wtc6Git_tMm0{L0L3+qSRO0iUk^W3@nGZDUBdzj3T z7{|Cvtr?J--DnDNznOtk1h_%1{ks*c?-{D~gIwd67?0*@JS7M}DsTMW)o(p6w{oa92(EpW}-9Wq2?Oj%MI9@adBEJ z_T$-gfW|uuZ%b{kpC=t__?+yb1BLc6)Aw`&x2`YEMGkLsge>+xq`oEO||{X4o~patS*P^C{y$2xF;zPjB5tXR`H|jE7&) zg|?i2$9P07%8~H>*Jd)BYCi?%HSW`}XrXaR`9mh3)Ob0&K^j%!YQ;bKx&^4dNc-(R~PWxZacp?>|)M@Q7=2hTDoiimi{lg6n8Sdm5P+R zJxsd}YrG%R?=fERy#_wxS>*`h(KQ-B#`?#p8t&vdMQ=G^Yo2|L6$A6MMiDEv#N4Z* z65OxLQ;Tk)QfJD(irV*OIln_p&ofpGJXt^ZDwmK4)KMEVRVWz zxJ#R7nFTdb!hLK79Z>XUraez-ycL_jNGBBiF4N()8lTAYr>66~8q2y$*K`z53JJJX zQH}58#^{55*ww5~XvwiVei)GfB&^=SCEa(hbN6!z)lHbmBDx{vYDC0&N* zT!z(*d(LY7Yu4XJh5>iwmKo1mSxoO|JocG3yN~fhj7QX0=_9?bYasSgp>lVe>F_yi zW{su)Fz)8rZ92Paj9n!aq1Z+Ze8PBZs#5N{G3{xgYm=$HiUEv^7c^ka0Am<;Zqudv zncdB%3>zZ5gy|@^M?TY!(`ZFM3tBacIHfD)=2>r#S+~*;EbE9iGrwyUhhJNn^1Ol- zl$p*l9{5BT(i+?9!JDdcbh9obH>60ytf_FpebB>xT5FtA66{H7omk2BvUWN~PdB0; zi{{(92^_u?jK}h|yBM4O!MNM6fkRvsJ6gbu&s|!-gBHTYc#OO7Vb!G&w5 zaJASd?7_$20DKR#%oMJTaZ|0=}hrhxJP| z-ctBmY0o@oiFJxl&0)MmRVZQJ+w39C(-7tZGaX^vc}C}$!6l3`9(qjc@wgCYD5D|b zq2BRQ6+Tq2F|na5g;0|s13_IAwxSPkO)d}}99_IU^5J&JJ z9e}&iBcPMeBCY+mnCPmIl+&2(qV(t#0;UAl&mN32T$at(+7ppVlmB5v|Xua7pLKzOk;sl!& z@G5&2n_ZyMif)*}bz7owKhtScrs$qbyX)P~45kC1OUGK)k7~1PZ0%({c1Z))pkBau z=p~I$V*O=|htKP}Eoc03#y#8@u|sF3r!-DOnqqWTSjN1{=)y|RQBhM=;cce()sHxl&&xy zu6O^GXx@t(H&Iy<3eyfzR9!j7Bg2}ia_NAgM}sz(5hXe^mlonZIsv+LD%1Y{x-iy8 z&m6|Ryh{I-CzGX|TcqAN+`#%yz6<6niP+2f(R%tHnEHa2G(%@R!p5F^bRmjtx{x(g zj!lQOi%dsJ!wb0z2~@3UXQr;9n=eD#n9d}lIi`kNnHEbm?qRw=G4)2=<*%){1Il&k3PnfCDomK#}|ry|hunxf5xgOkdY{!KS?kbaV;BWvcmg{nc9 z_5!U&i*K{eW)VYbd(bvns}Y@z(S1=;sX6|g`3^&8`kh&&=#+-$1{w_coTCZkurK1X8XW z$Cs1FY}OnKYQ#nNXkZ27nT&flg3}qljd6du4xJT$^?_>mp&_m8Nphq*QJp@!kky@T z9f`;6+D{SV(Z%}Qs^khPZ)H!(2v}wg-96vnUiyZGSANsV-bYeShP?~9QlyKP^|!aF zT$N$}+-CHs9F=L0w6AmxwR;n6y9#LKFnjkzYYX|%3-rz~`^QGOvTV5hLz{7ka!1*F QH3|*ZC2LPrdG@yd4a~~-o&W#< diff --git a/core/container/iter.onyx b/core/container/iter.onyx index 880c8245..c9c6c4e9 100644 --- a/core/container/iter.onyx +++ b/core/container/iter.onyx @@ -248,41 +248,43 @@ enumerate :: (it: Iterator($T), start_index: i32 = 0) -> Iterator(Enumeration_Va }; } -from_array :: (arr: [..] $T) -> Iterator(^T) { - return from_slice((#type [] T).{ arr.data, arr.count }); -} +from_array :: #match { + (arr: [..] $T) -> Iterator(^T) { + return from_slice((#type [] T).{ arr.data, arr.count }); + }, + + (arr: [] $T) -> Iterator(^T) { + Context :: struct (T: type_expr) { + data: ^T; + count: u32; + current: u32; + } -from_slice :: (arr: [] $T) -> Iterator(^T) { - Context :: struct (T: type_expr) { - data: ^T; - count: u32; - current: u32; - } + c := make(#type Context(T)); + c.data = arr.data; + c.count = arr.count; + c.current = 0; - c := make(#type Context(T)); - c.data = arr.data; - c.count = arr.count; - c.current = 0; + next :: ($T: type_expr, use _: ^Context(T)) -> (^T, bool) { + if current < count { + defer current += 1; + return ^data[current], true; - next :: ($T: type_expr, use _: ^Context(T)) -> (^T, bool) { - if current < count { - defer current += 1; - return ^data[current], true; + } else { + return null, false; + } + } - } else { - return null, false; + close :: (data: rawptr) { + cfree(data); } - } - close :: (data: rawptr) { - cfree(data); + return .{ + data = c, + next = #solidify next { T = T }, + close = close, + }; } - - return .{ - data = c, - next = #solidify next { T = T }, - close = close, - }; } fold :: (it: Iterator($T), initial_value: R, combine: (T, $R) -> R) -> R { diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index f9b8ee26..4d7c137d 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -939,6 +939,9 @@ struct AstPolySolution { }; struct AstSolidifiedFunction { + b32 header_complete: 1; + b32 body_complete: 1; + AstFunction* func; Scope* poly_scope; }; @@ -1326,7 +1329,7 @@ AstNode* polymorphic_proc_try_solidify(AstPolyProc* pp, bh_arr(AstPolySolution) AstFunction* polymorphic_proc_build_only_header(AstPolyProc* pp, PolyProcLookupMethod pp_lookup, ptr actual); void add_overload_option(bh_arr(OverloadOption)* poverloads, u64 precedence, AstTyped* overload); -AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads, Arguments* args); +AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads, Arguments* args, b32* should_yield); AstTyped* find_matching_overload_by_type(bh_arr(OverloadOption) overloads, Type* type); void report_unable_to_match_overload(AstCall* call); diff --git a/src/onyxchecker.c b/src/onyxchecker.c index 3bf1c746..ca848767 100644 --- a/src/onyxchecker.c +++ b/src/onyxchecker.c @@ -435,9 +435,10 @@ CheckStatus check_call(AstCall* call) { while (call->callee->kind == Ast_Kind_Alias) call->callee = ((AstAlias *) call->callee)->alias; if (call->callee->kind == Ast_Kind_Overloaded_Function) { - AstTyped* new_callee = find_matching_overload_by_arguments(((AstOverloadedFunction *) call->callee)->overloads, &call->args); + b32 should_yield = 0; + AstTyped* new_callee = find_matching_overload_by_arguments(((AstOverloadedFunction *) call->callee)->overloads, &call->args, &should_yield); if (new_callee == NULL) { - if (call->callee->entity->state > Entity_State_Check_Types) { + if (call->callee->entity->state > Entity_State_Check_Types && !should_yield) { report_unable_to_match_overload(call); return Check_Error; @@ -906,7 +907,8 @@ static AstCall* binaryop_try_operator_overload(AstBinaryOp* binop) { bh_arr_push(args.values, binop->left); bh_arr_push(args.values, binop->right); - AstTyped* overload = find_matching_overload_by_arguments(operator_overloads[binop->operation], &args); + b32 should_yield = 0; + AstTyped* overload = find_matching_overload_by_arguments(operator_overloads[binop->operation], &args, &should_yield); if (overload == NULL) { bh_arr_free(args.values); return NULL; diff --git a/src/onyxutils.c b/src/onyxutils.c index 77b92643..35948245 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -372,6 +372,8 @@ static AstSolidifiedFunction generate_solidified_function( b32 header_only) { AstSolidifiedFunction solidified_func; + solidified_func.header_complete = 0; + solidified_func.body_complete = 0; // NOTE: Use the position of token if one was provided, otherwise just use NULL. OnyxFilePos poly_scope_pos = { 0 }; @@ -943,16 +945,20 @@ AstFunction* polymorphic_proc_build_only_header(AstPolyProc* pp, PolyProcLookupM ensure_polyproc_cache_is_created(pp); + AstSolidifiedFunction solidified_func; + char* unique_key = build_poly_slns_unique_key(slns); if (bh_table_has(AstSolidifiedFunction, pp->concrete_funcs, unique_key)) { - AstSolidifiedFunction solidified_func = bh_table_get(AstSolidifiedFunction, pp->concrete_funcs, unique_key); - return solidified_func.func; + solidified_func = bh_table_get(AstSolidifiedFunction, pp->concrete_funcs, unique_key); + + } else { + // NOTE: This function is only going to have the header of it correctly created. + // Nothing should happen to this function's body or else the original will be corrupted. + // - brendanfh 2021/01/10 + solidified_func = generate_solidified_function(pp, slns, NULL, 1); } - // NOTE: This function is only going to have the header of it correctly created. - // Nothing should happen to this function's body or else the original will be corrupted. - // - brendanfh 2021/01/10 - AstSolidifiedFunction solidified_func = generate_solidified_function(pp, slns, NULL, 1); + if (solidified_func.header_complete) return solidified_func.func; Entity func_header_entity = { .state = Entity_State_Resolve_Symbols, @@ -968,6 +974,8 @@ AstFunction* polymorphic_proc_build_only_header(AstPolyProc* pp, PolyProcLookupM return NULL; } + solidified_func.header_complete = successful; + // NOTE: Cache the function for later use, only if it didn't have errors in its header. bh_table_put(AstSolidifiedFunction, pp->concrete_funcs, unique_key, solidified_func); @@ -1058,7 +1066,7 @@ void build_all_overload_options(bh_arr(OverloadOption) overloads, bh_imap* all_o } } -AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads, Arguments* param_args) { +AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads, Arguments* param_args, b32* should_yield) { Arguments args; arguments_clone(&args, param_args); arguments_ensure_length(&args, bh_arr_length(args.values) + bh_arr_length(args.named_values)); @@ -1084,7 +1092,15 @@ AstTyped* find_matching_overload_by_arguments(bh_arr(OverloadOption) overloads, // NOTE: Overload is not something that is known to be overloadable. if (overload == NULL) continue; if (overload->kind != Ast_Kind_Function) continue; - if (overload->type == NULL) continue; + if (overload->type == NULL) { + // If it was not possible to create the type for this procedure, tell the + // caller that this should yield and try again later. + if (should_yield) *should_yield = 1; + + // return and not continue because if the overload that didn't have a type will + // work in the future, then it has to take precedence over the other options available. + return NULL; + } assert(overload->type->kind == Type_Kind_Function); // NOTE: If the arguments cannot be placed successfully in the parameters list -- 2.25.1