Mercurial > vim
changeset 31543:0c0ecf489f05 v9.0.1104
patch 9.0.1104: invalid memory access when checking function argument types
Commit: https://github.com/vim/vim/commit/56310d38d8e866085108c7b77b756f4373d5122a
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 27 17:25:05 2022 +0000
patch 9.0.1104: invalid memory access when checking function argument types
Problem: Invalid memory access when checking function argument types.
Solution: Do not check beyond the number of arguments. (closes https://github.com/vim/vim/issues/11755)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 27 Dec 2022 18:30:06 +0100 |
parents | ed8f9e6c10f2 |
children | 922e7109afcf |
files | src/testdir/test_vim9_func.vim src/version.c src/vim9type.c |
diffstat | 3 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
index a5e3e902548f56142b19e5721209918155ff3424..0edf7eab713ca2837cb4438f3784e52757bf6a67 GIT binary patch literal 102171 zc%1FM{d?Os(kOa=_FsWG=Pjj1b}ZS6W1S}5G>QB6Y@6&&(vSN%e)UiiEwhnGElJsO zv$=o!oeuy6Kv1G&r``A5<7c<A31Bc741mF4K6b_XC@;iSn8oQL7hyh+Mnx{t3sGD~ z;+J@KBJxod&kHdPlgT2SMEg5CdAi6(kr-V@qmTPn@l1UvqHH!;6!Fyjcoj$2<;Qq7 zPqRV<`w!u-6Z{lFr{d~FRfpc9C>bwibE>~{u}DUQ<6s<J42EGIk6P^=A>c3ZE}ccE zP~K|yMP6iaGJygivZz>Oi3o0@Jb(`X4JyMgqi{Mk+Uz|G^E}FmLG;f>IBik&_72p> zF3pZd>1-ZP0s0`yvNWUacf}%)L`Xx9lW;1EROC@aRJ*=Rr;(t#Vix5&5Di+qKx(~R zBtX+2lJ~ONjzSANdZGGxrMsyq0|41g%Rm;XQ3C>|R=}4i7f-+WMgWy&;??VyL@1mB zo?ZGAft-f%G^cj>6OArYk)*|?BCVz+)n>xr;27d{78lV4d}&dK9TEIy5HMo$1@QT0 zpfDRQF2qwY>AQq!1$*y=x3xq~{d~&O>%1?z2OV)8#>L<w%?8<G8fATP@ELoV^nZo# zr)l<_X1mpDi>J?oocdW<j4oRNQ42;?0P{y<m_X=H=xN8_W??cWGVXs(B-;P_7g#dk z5b6Pa#6`MD#(hPq3X<|?(#PQqCQ(83X~Ez-B7=1mwYnW~(uN;oi2GtRjlx7M=7j#c zBAwf`fp#?aI2AQhuQ-IMJdQJ<a_}1t34VVVE{b%ThGSeFvybql1^<V6nZFGPgB3he z;Tm9yC9P>h<V`ZYVML;_<{}(Kwn&P279kdLS@KVuT!qtktRN}&s^KRb$Ns(u9&-P* zeGtOUkuB13s(#IGG#*^%z8C)yGKqL7C--5AD+A!p2!pfkIgT)o3Xv7_rvV}hvpu>7 zV2rq$f?(6-vh{lT3swm3NkyC{KC142{R2<AYSULd@RzI_q}D7-3S(=(I@zba`ek&1 zOMQ_=t+U|%Cn0MF=P)C$y4~Z0e&B~!QhyL91Kh%+@j%gJ-Ja}WS*)GF=CYU#qfCCI zy*f>eHTKoz6u^nZT}rC<cVTAKHrrZNb3i^R?pYO7Q^rxz=N;iFN%Ui!7mAI~fIJ7? zUO!+$opk%bxrb8MSqew0qRSu&XVDhKp<{YrlY)+|;37?fa)fkFt{j41g|E83$H)Cm zHx?XM13b+A?MtA6)O$1h9hNCD!>7*%m1sqB(f&_SahZ-y4p223BiDV>yCdZ2;HblE z6MAif(xktFTB`6*qSqA8jogC|5(su9Xl5{1xyjZb>7rR#>K+NM;UKW>lvduP&xqaK zxazsVLI1BCi;rhk&ruyC{kd~g*@BfENSp6q7Uz80yJ91jeo?XUb$V(ZkNk6Aow#eo z$gRajL^uzxq5(*20P`#OX9p3BR?Bdb9>FR;p_`kOf2_eZoWx^1KD&hFSB#xPbj>v8 zmFWW^>$a0ed;|yCFwE{>RHw?haT|PXtQy%I`vI&HIuzGU7`M6ggb@XTmFv2y3+Pk_ ztVWDzs7VDhoO&xDo*JOM)qpG=gHlz7fu;OB88h3wTZ~3go-@@pWECx+GLKf7=JqR| zn1;bqZ$8f9?bMNxtIOMAr30wZZM@#8^V{=Kq<F}SFZ1(#@%~b&e&U3*L5hS*k2VSu z)EEq<{tPcuadD~G;DYrp9aJw7JT>WRuG;`NFCu`KUI_P|f^=24T7zL!+q1ww8z`R3 zYwnK0lIrT$?RER&=VVNW$e476sQ7^EBk<}~KU$8WIRZi;`c~{=>k8dgOG5_xjKam_ zvbY=mF>n1QFY%_WNMORozM+ya(h{(#0$9g~45?(q6@0W}@+!38+1q5!)S%jxdE#Bl zKT)gpmc0K0TD*-$i!6_?qL#j{wvBtMJSCi(;sG9WRbW4b^Rm{o4}6jr-!QCa9;mZ$ z-kNqqYXB@s`ilyTv#axV`|RMnx+&r?$1t;(h86&~f?2rKMNhj2YV*(>aS={wl`599 zN7mJgN<4hkJ?!;abEI1r*&_0+82sE)^RpvX_ht{Udww@vx?}&UN;0{o23)Z2-maS2 zishhyPrgOE>9y}s7loz6Roh7g1KM3)!xu|Y>BUP);~S$zDv+afXubL9kmWL(PNm9# zyA=OYh+Rfm6zG=Uh2ynNsmTUn=V2e{w3Hfc5njMyAwl&S77XdJN1Fqehn${BHew9V z3&cu3iIPob;NTHS(Y;kO;9x*(fp0`BP`J3*P?;o=sA|A2;lLQ=^KcXmhS5cuMT2>m zMQe40HB=L;$hHyP9zWTNZflX)h;B`=_)<gfuIlvGV|C<q-{y*so#S{^3_eE2GY%>o zj8XMPu#{SJ*&%$np)a4^qy3ZF#H#)o1Qi>Jw{)bwqZd`{ZB^a#_(R}n^qP+4mgj)( z_6~J@maISw=IZojB0(CkzMsN1XzGJyw5?K)>kM*O#Pnd(;x`U^Q10We?B1-ZhT>F( zaTszF%j<z^qflnmH!8u!`<r<rlxpRFqSk|-P<TvYxBybXeLx}r?U4Q89~0na>J|9~ z3G!1uF-|w;(^)<d0bEX~Y=3{>Iq8hn{7$Z$OX8a_Z>y_1IC<=UMZrdcFq<ssai#zo zZt*sN;C_MW2o(o)#Ly?0TEjc28JbHCL}l3*VRBOnR{Voq9(2UgPoy{p)*)c>i-y~f zWL-F-pG(RJV6ehuuud(54bybGZab}Gqf=5yv`#^+$8DnpgYJlLnPuBVgSMB6WV=>D z68S;hAlL1OO19t`s(+*-j_11NuHk=H41|a;@S>9@H4l%0S}$TZNhNda)>e%`HeUfp z@m78NWE@}AlrlZ!yW>Icn6<lq5(U)mz3s@GQ}BOR3dr`otwye!A2uS*$s_M}Dvw0m z0=C>ne~OaDX*`A7Kr0@X+bKvVN<08!BYbx|ou~7~d~iWc2e4%=pgpy#J3_?&6Xi*I z`@U`v%(~82pI7VlB}vw+G#+a^f{PSxVAuH;B0L}XFBs0L0@D`=e#aW;eY&Ao&m*f1 zvl<PHU+JWk3!G^OrdXGjqLf(&6=$%9^zp|C?ns_?D)(wBn50!n&D*6bi`7qxG%DG~ z1WsBM+NMd8^vmUPV|x3}@PoBio0^44*JD6Yp2UtY)3)_w#*SgA$<9E$>~+N9IjhTJ zI-CJyD{ik}Ckl@ru=C86rYe$Dl8FZ}=^lu5D9}g%Oeq!I7vmIJ1*SR|#dSQ2#C4d9 zX%v3M&$DQjlG>^fdE3n^*6|RMasa{&F%hcv0j)(2qE(R!6#PlHO44iA^N$K(Ng_Xs zWKdaZ_&Wk^qu@w_0mX&540D1PCh%7@BV$`^z<V3k7(vl6;=YgoIHg?rY=5imTk*6B z$&zH1f)z$v7EEEejmOsI$eQ43?cA=EX{*mxf68FQgQwz5jph8yjHQl~0Fyy+ozg{S z?b%Q#g@0cP;6Blt-p8YSF-1-9Y0}yyW#Fz~GABAZ7b6p>hDjtC>OWz#55+TmNiqo7 zEt{~O+9^LPNv;luDq7#S^t;AsN1#HxA>kcuN4KMifn|$?H4gkm&l0~d^<fXnB0NcH zV&tn&x=2v<`2f$jikUST^$ixJ=%kwR<WjBpV6@?``s=>9PP31>d<jhWNic=Yg&tx| z(9QvPL~m|zPOYw?#xJXQ?%U;fE{wOt%{Q9&*-c!uOqP@?5qakLxlx*_$f_Z5V@He} zt$f%I;r~PU|EPq))1tdq$CLr~o(;DKr~{GzD#y~)@TM=`rzxDV$&FCDi(Fi!nKlIK z3$4&G?Q{6!h8J@bl+YMhub5yOC3=(gPX@GT1<RmzPjCoW?E=mN-FjpCob&}qb<k_N zm|WIUNOhr@7Eo}W2Y<TxCCs3C-h%(AeXAq(_xE9e7xuwmsxOh9GbAte4S!?5Ilj|l zGbz930OqL(I%EQnvm^`kcJw|5RchAHl|%}WFHsEABnm3}M*3K-2XumC!dtyV1+`7^ zpUW)rcZF>`vbY9$<1NBfuxNV|eaqg}ekr0A6w$H>+Pmju_<MBxSla!PCf%|7{pkk4 zg|G!bNA%HJ$x!`z6wO$pGWQb1y9n>?1f*nvoIdjHP)NO;2QF6=-%<ynkFV}PN!^n} znlX1c(33mq+XGpxO}6V^^|7x_TC8RuR}XEs-Gyqq9kC1Zzblo}U3%a^E%Ool;~ypK zn_W`#`$h#5{#skV!;`RaD|+s(G)s8g>&_;N*+6d3Tt*2)<h(G1j)p`0bvO)cFET@P zAufUK02;x6hePk~>2w$DJ*$!m{tmID`X*>l<7JR0O@rmq*XMHCtj}Bby#hdU9D<u0 zKjHBEdJJlsFPGHZU=Q5bvPlbFP{IQ4l_d6dL`nueAW%IOx~P^hbPePS)zWv7kezjV zhes9U@FV_Tk4{$JO+W5dm;J}|W3Z`Jp#NZIT`Ape=on4ZTU?lrFKDxnx<&Y{6b+Q7 z@u2G(8OtY)4LjS#<70Pich;jvxACKgv8~o3T2UVpmP-Ri6FbJ|(N^vuJbVBMJI+&a z0OwB^4j&MUaR)lMvo|%E8sYO!90t-+YJu8uWsj&#!+@v%xrk8!BASvO28j$Z68$?0 z;k3WLj1n}J94&y@8;u{g>(IPf+Wa7OAHaOBgq}^dqKmZ(!~>8`Ld|VBoqVfj+qo4K z)h%I#n$0%jN;x{kmGV)-nvDrv0m|7Jr_ec0o}89)61HSJi^`Ke{MwAtR25H1x}vJb z;%${8Ijz25;d(0--7VYD-_S_hFTW01qU%^yM_OZHR<$p`9p)$NBZ?#PCg?MM9C;*U zx)|e~T&ek44s?fd#IjCDNMG_MQVJ2W>gr%j*Otyuy+>;eSquz(9apj14wa+hM-8;y zD^V#iaFN;&l_yW6sbFP}6S4)g{WP(VZ3N+vFqe=&-~fXVbamv_q_HcZ1bsY4s)8-I z<w7KsVW6lMaJ#;@zV1&dFpQQ#AHUUi$)%>CP&pEnp`?9G%dd|gs|^wF7As$7Weby% zUXU8#Nq-GydEbMZ+@6mgtwCqFwsDgs{APhqmE~^A&m)QT&F9W!ZL|JneuuY;?B@{z zjt|#~D0hqcy}QGmoS(K3ubK_UP?Cc*9n=lUZfF(S{gf3Odv=MRlaEPyoft|lf)Z5E zB*1W`D*H}|G^kRE4H}2+`Qs(fU<HM?kXpBOx%Q1`(vP<oklX678quUba7@iAxNj;7 zZ0*kerSP~f<l&=TU*aT>$7s`#jAMO|-t2l&K;QVlLADG0*|beiqhbT|ius=`ywnke zD&?Z=;lWemy$gTjp{y#HjAwJ1uBv;g-7w?Y2YC0bi-*+qmG;ciX0NgLML5k<^(2Ki zzFjr0U3}G+Q-zP-yYa=Y7*5mC$BkyootB!}`#<y5aK7BdMDK{1atspk5ph%7;hP%D zlB6CF{Z3x$2c|d?-)Qp>i<DiP+_8t+1YhjIr2%f>>W^-P_B)<tkNmG&7L}iL^zgov zl|nOVq~f+yA})rDY<@>)(Q3aQ?5NqTNcpGkG!Tp5JA)^38#gHDX6LLsYpq#jDniXR zs<Fo>UVEP;_22(!cIJR)0r$55D2+s&C)ZZ6M9q8KHZ1Tztqd-*bVj|D0p6OwCV8r_ zejcI*_8XB0#>!`+!`f$}ax8%-7M-FfYqo9^0LizUl&mC|R7Fu>Z3_WOc7eI>nne=9 zAG>GWqf7BvOYjUuX`89~zb&XgW9QTM9o6k`^$Z!d82@LAzVH<NHLI!otHB1o3pa>f zf7gD@VJh9p>Fi@rIsrUJv+QGj#m?(qGKdPi8YMy_>$Y1D*n5@ZS{_&DdLlV+6eNcw z8Ztz)Nk?7Q?pjs$osD{vHX9A#ku7<^0gO@eo=>Mr*X%2PBLhm=pL{ic!bc}*U5cL{ z%I~#89sEru&iX_~4nymxd_IkfmVD-u0)vTd(1u}sNOlc%6@?H0VTkNE^R{><x(9AC z741EXlX0|c1uh8!Xhg4|JE939L>CVtys4fA!X+8&c)OxffS>i8qV|`E&=3zz^(I7l zDh{_KO2bByDw{PjhEPtyHa-)^B6@&d9_%;^Y;%!a+LQSlJsi1`gm}8$td}sAT_gG= z^B0;@wvY5$SG<C`uh_vE@h&-D7hW-*JnAD8`TYGQ#?y3kdwH167`#WdI;Oe1HT&F( z_JpUmx$4{%WhSL@EB^Q^G1#iSbK2Npe&b_+f!|a^bK+O;2+R7-<F$Ea+@9(|ei@F_ z>s&Iz)-(V8g@5WAPW*Fpri!u}?G7SD9n_i@>y8)?GT1ZyLmXC-*skFf3n{1Wag|xV zZysJ@OK!O%`Wn*U=_;aHP+SO&c<}h(k=G<^2Q`G!yrfjO=cQ#3s|zQ6G0&olc=^}T zs}4xLKFG^f9UJPV3)x4+KaVIiBT^u5xphiMHf><Uo08a#cQLH@=n{G3D$ZlHLQ0eA zjj8WPi}`7q&Kr`$JZ;jn6>EjDy${DW5#(RkS4`IV6zlu2Y;>QaQ<I0C3@a{Vm?Qq7 z&J1Q@1O5$6l~{onevEREsL&WwT3;xqk!(`u6vR=jwW+w*^kC9ALEE+tjhb}vGTLio zbunCABw1^@T((`y&9#P_Z&5c)n|H3Ywi3!w6YGdNIWezTHX&7WS6HOFXXnkA?zZN5 z<Sw${CwVj^exzQ(6ezO)9!H~Tm_h3(%%*XaA@|Ac6Q9Vq7{P{mm#tqV4rwUDyYz;b z$59bj1Vf?Tv|hK!MlKQ-<r?mDkDutb*c@PV%w>)r);;SvL$IIp`~zA)BzI62L#U^s z%?GHhDq%OFQ-KGEQ~2iZcRIxKIqME*&$ow5S3w?)IX?C6OHAK=92LMbcwFQuuuNDG z-;{XdNl;KihAbKzbN_u*{7^)*`eP9tqU&dVC7w}HYM}liKBMEZb~3&IyZ!r3$rq!% z*G|E|Lr=qk_h*_9W0TeiOBzo?vsIkAXP0lb8tHl0nWB$f&xn%!wir<63S>3IQH|bT zm+37OkhZ6CgTzo$p{lOH<9Pgn;+9t9oXW&tzv)5L2P$spVfxLx*KePF7=L&$kb|hk zF?M0g-ani@`Eb6!uUDE43CPo-X~1AX0I|5t((8E|Ck2Bv2DvH{tE%=_&T5x5Shty3 zo#yL~rnZT5^?#d*_50vr?{EdL+#z6nTw=uUO<p|?TVdC5ckGpZ72%;1OxfO<!!8+= z_vpWe7%#c9O_z3AGc((TdP4Xqoc9F=ulxr8dWJzO@s~d1^|{;%(drAssCdR@^=9<6 zY7-?I!6vyYkvJp$UT{tp6sSb*9b!xg`Ht7#J%`HJ{|X<u1|Ul~-do(p@F?sBh7ES$ zK51f(?zM|7?{V5(t8~L+MR@CXde6M~ySZbaGMv3|8w*3*`svBwgezku-`(g)+5eY} z&cE)b;cPe#?FC=A??Vv={vL)PPr}Id_xA@hxBv#t$p_6%PO6Y}Sw}ZkYNYiQyNzoG zA-VZTH(R^@^5zdHY+=Y5$AyNH&9%9PM^X2(k!!1^^C0eRwPG1{k~A!Omnwgn3k(*l zH9X2JiF30o_uLzOBqNw5EbJS1rD4q1rQfyp?t*}7Q?eD3g|()BPlp|SikMP`8Y7I2 zNwad|d?Q$s4yzWAO8*`4$Cp8Ykw}xsND)D66aLoch&hic2?6@RBS!ddvkC1!K3=Vr zEBC$t&jsK8vk@UVbSs99GGZu7Vh(_qI8?%2$!eQWw0qo$qM>2qO-U`W^U(5%_S!~w zjQ~C*JS@qJCscP~f<qtwUtCKoVf7@eO*WgA=C1EZjs7D(_&G9>%|P`mw3>;id=oFK z^-dop+OY9qe^vebzX`5#M-SWTu%O5tfs84!5sR*m@6K<-(8Jy{v&*{9whRPi14rmV zn=#vF6KHfhVmaekO*R54g&@#DvNm_LM;de81l_+8T8uI5F@;+;$cr#5THWB_-~esv z$`H|d-7Ii<Ypa{9C>y4E#15|vB2F$a#4BcX*&j(M#5m~pp7Duc*{i|F#V{}80)g(f zf)5}56|{HJ1_(K761Z*|@}Br3hCjf>C}{I6_P^%q;1RR|G#i@nnIz``x9mNhj8Rrl zr|b)gV8rh(N>aj|y4<i;A{}a2Ka(={V3XkKhSUPxz(lZR%tj0Ak&&|QzDQC*!K4Hy zwjf=ka=HP8)*e@MxVQT%1_ujG-3@Ufd;bzAiYrQPO*{O&xI`W88D(h2-30zQFL!`R z-<>01Q)TywC(M8Gh9KV;%O1$ie$~F~2QSgkU0~*@|Jr<mYb+X8IZTU*N>b1=`ua!$ zIBh=?-*tKFa1fsysaplnbv}Q#SDd<G<YRORmq6v;Rti2Y>Pc2Ht`oQFm#0C(=07*S zmNX#Kt+6I9VpuKaVb5FX8q>8>3a;Bk7I~BpfI#siiN+Y>&VAO_`N=ezft4CzHw;5F z>U*$6MIeXwKHD7*hr5nRH7u=V+nX_3q9g+|59m>4{W)cxHswk4305mo&>$|K`&N4T z&v!QQby)1)9t&@j3-LY+Wp4J%FbiSDXL(=twni+hL-k*ODysidsMfIo#be=c>zEv3 zG;3h^i3fO*Kka!}V`a;dwU5ft0ao&(G90z`j>C@ls>szACD*3+`f;RdHs&sk&yy-i z<^X&!jV9sfMv<pT$-rBCnr)F*-N|N-VP^9_CWHU91Tjh+d^SyNN?#qs3Txf?GK26R z3i6jR-$Rm+^~fp9QC<|7TFUTOH~C}@tTeGw6?Rtkq;!xQ^_XO0U8maxpVs>&h=SwA zC}P=um_^}78FrW@qA-_1s4lVy1cNfp`bI1>N|PMJRbgBTssEQR4C1M=sLq1#(jkgl z@4^}W^CG0TBKcANh5wuzjrN}L2;j;z8o^N!PQCI)e1XB$DQA|h=TxDUI2xTn(RtM^ zoPXrO3)P%LC$e<~-lpIj-{;RA@#(X7yZ8j;p-6E+v_7VX0s{5LAv7o>gKWbgu%isp zIdU8B7t?aXYHrq*Bp}|;!nybcBukj<Z%&WkKkt5c`RoOH*1y9`KrXZB4obr&vyddz zry{6C;EZKt{HIu`3H4Pvk1`CqD6N!bdLav9#a20({LQen)MN+bXW{go2+n>9&XrEq z2oW=hiY%J6f?ag6<xt;nQB=?sY$w$mfQ_!{-yjr2F%n}D1#s_-3M6SudW>DbS_4ka zTe}~SX1iMdTRkew05C!fuj6@i?@nfXL*HD_tMjDaXePf9ovVh;9JL}WRCvQ_bQQ6Z z(`6eA^DSm=^0z^=IrH`|$6}D+VC9J5qKdJ>Oxr?_>&^Nxx(1fF8`UPP=%qo0KjFS1 zQ<8JkJ+z`>QID<Dx0Pik{qLi~iiWPeS-m-Exs%g`h)7L+`!Y7}V6ug#VI=C#Xk0i0 z5Dd~$s4~*Z+}~`<wMby}Q5Gd5HZh%pa2^Af@VOld21AKMfP%K=m(;i1mr)<EOjd`( zQVgRgkq19!9?)jtm~};p0&8-PxCY-u@1JhcSrQ|Qbz5*YcHqjFjOk9%5yLQ#oTVN1 zb-DOf9EiTk7ZI63{%v`k;`!swZ}!za>4-AW|5sQbxs4mr=QS{T2X!!{K9SqE>tI1G z^!f|8<q5XvGsHKg1Fhlxvlnk(zB;e6zbTI|;weP~{0SCs{3C8?Z5CM#`GfB5z9pr8 zCVfmi^%nRfok?$&)>z7Vm~6!>lo_);-v8JY5AdI!Q|Ytux81KA`_h!;bRJL}AD`6C z`b6Bb{xMykGpCOfzO{YaG1|30eeCuz6voG1UmSg=<*v!TX4_LC+Z<fgwC|!HCdSl2 z#XYS-nMj}vnXdx=(-V!-6BpMh?xC!%+93A<K1ZQ2#wiW}%Fdl<LcoisnGL}kq+Sh5 z1spk10Y|!Sz!3$@43EDyy+Vf+cQp-~<XKqJu6eSBT6Yc$wv4~RE*+8=H&Nx*#TVYF zcZ&YPCQU1_INU1A@s=5@fUBntOY2R5luzDZ>(n&h2SWVM$fHBQ8&$(?k^HmpqP@8( zQccse-UcfxZPm8;_#R%j&a0=88?2to!GCj(Gtw~Kh0WX6QSfiOvQM@hfxC<T6(hg{ zF05sdKWz@k^~+5pYX0C5(e~rKQnGHSO<iXWwu(#oGX23$YxN^Ke6#|;GxgY)zEZW} zS@haNTR?P|U)EAo+vh2{ij%U!1!}>16=^)c*6lAjQAj!`Gbql(v?GlAP+}V$ur0f6 zmt-6QgOZ+<5Ikv^GMV3`0!)bzKt_t`T_=4?K)<JPg08e36f5iE?9)})lpdu;0Anrn z?BABQfVzmT>K19t(w0G*YBC~8y0UhFD<fFZMwVOn^$Y}+>F2kOxvTD_XQHfU#VW2w zO@QfgkfnMjCzYBfC%%fuaI2B1yA6(yjUoBOMmf%3(L2F1Q2Dk@h;gvO71`7NTb;Oz ziKKm$kNXyFC7;PwxM*t_t*om_EC03%tAtgAYL>Rmt+@U^u>nz>;km@wl*Scs-}>N{ zx6wD!iP5-%%CTaJT<Uq_wVu~4b~9(*06q0|ZZ)$z|3ta9R?n8Vc9Sb$?d{2g*1fZI zFbz9Yw?%)yTU--8N?3eRhq)PqIl3h@3;0Sx#nNv>ibfy3L-mrriEZe?!Q&=&tYyRk zw|gvAah*IT`$o8MRt1w@dH-cRDrATVsR}dXLHKwUe2i`ad>jnuAPJoI6zog2cjZZJ ze^A$!=8A1|@G(c(eOf7HQL}?ckzxs<%b6V8xT2F5>fqF1#t369QFoUJqoR4j###xC zYFP9FJB2~iL8%p|{5iu&T@=#MdAKfX*vWwv%;la6l~QhY?=Pb~vi*p2_!Dgv0oN;7 zG;yLH?$y&vzAtAEP50i)dato%>mtr_dM+x}bkorO;@K*7D-^R-ea}owEa^?eQmjde zzWF<lp^8-S2C4IRGeEJu36t2xO6T!_oTueh{F1*(@p^+il&{l5w&mSQ>G+P7j<09w z_^Jp5PAnD+6B&#}KOL+H$0A)S<#<p7EANoQYC@bt?>L^bre^&BGR)jl8a>O`78!fp z)quKyDQuiC-m-?gd9anYQSq9VOeM;fio-6$-#L!!r`#or4@Me1{Yo5Y$nwT@s;KNx z6m^NWRfOEpz{b)j>C_%p4S>_CTf0G-m9(HvxZa;cj-T^LlB2QfcV(Je+C9w}ng;Al z^S|>rR7$w|aWuWbgCO<Z6r}#A-*nnGnpS7jhC_b^!+V|ajr{OP4SLe2VLxp&@Na!H z$Z*|Nx>Evox4<LsOxM)@LVSQoqx4{^*c{!Arp$CbVbuLcfv6A&`)W=ij!0#Y$V_bS zZ=qezzW}k`%!}vA7_JA#qEQN+ZjT-YT^c%D-lPw;S)fX_nr+g@Cj3=t_p~;s>23m7 zP4$aA3EpExkHy_@4k|n8fuc9#USUjCEJxv)L%RnKsOEy{uI#0^aWBUm(S1S>oWwG2 zcgL#-^<+(VcgAMg^eFGE*{qmrz&G)=Oz$FPFEUHgjG6b*FWg>G^`~gAvJi4L)vQ9J z$CY!L%xSBg{Wl{3cl7_a;WPX{bI_(<UEKyeF<G%#iRfB0&UcF!>1+tFWWOjO<nqEz zQS-F(We4up7i6+kIF4^pN7t2mrS$EyEH$9GXBX=&TNWSM#T@bizmwh*)2NAWsTa{F zXzZU>q9nK9^rFPL1Ri!*cOII^bv&Z9s&{Bh+l*r9;uuOK!wQ!AVveLU5FB<b1oX|? zMPS&o#KIM*4i8NSdG>uXksi884<*vWUgcE;ui&R?b{%G8WYLy!S=D#yS65NOx7ppB zDBrE52C(bYq@Go)k?+6u%|6Pq6g_0UiH+`yS6Gb74O~lR?l7GOe34wo$(ZthUq*7t z72)V3S_8V*S?{Rj&GzK6Y1reb>CMRG<eef5&;(XtBR3z9Yw}AOB`-mL-KcbnmKA8~ zPz`fxlBwF5@?5x$r6+xa%;9Ozjuuf#Vl=x9#V{Qsr-^a8Kr2l&!Niz#<EWrZ#=g=1 zIsTN%&d_y@2qxJ538rs&BmRY{+CN*L?vt?>e4e2TZs}cBLSi`o`VM|}%r85da4%S; zCUE|>2CSso-DV;~JQ}kDJsfaqhRr!*)r5OyQ<s@+aT$)?`MY38=Xi2ipp7nUU6)ag zkqEgUakF0L2Dmhlb(RGUq?{%FTkUlHm9teZNNh-V()86XBPnIn4*o8Or$|@Nk$QX8 zJlQ0C)5d)Fzl7mDbsuCBhhuz9@@I1iB~|y3$cR6{A?+;JVMo`mu`iYW`UEz;hvkvC zYx@+dM*s_o`53U);G+6Supz3-QNDs|cRNJu9|>=X=v5kzZ%xtiGoSFNlLaX3jKJn6 z82;8yNs0kILQ@#N{c!%B2Xa@;z7hZ6gXy9F)oVk1YS&)3cep7^k5BFbC2^-XJ-Q>D z>NlxB1u2V#P&0(WwnX6U+;|~X-0`F@eu{JQ8~O%$_nAEQrb-RkctKiS<7=|f^{3Ap zbWLry?b_(HtI2r0{oEQsmO9lL|IXfX%qOR{b4>uAy8wJ(o3P5sWACX8Vo1XySEF>; z!WiGuq=)E9+I8AUH)o%9y&a)OeoZfr9+kaN9Bu9c8aC?UksOdRbTa#LcBF=&yfBW} z#OzZr9^;6YeM<qpdi+hXJ7&lNBN4BLXj^${Zn?gM;SDHK(|{v24e<SXQz!7!P(v&B zJ7Q=*;%#UgeDGMNHSwe{#@<J>u}mBSh>e#m7&V$t><)LKYxqN{A0GRKQ*+?NTz53? z&TU71qO%FS`MbyXr2ewyphlM|#;r5dxJZ5LHeQJ(e6mc~kWywu{4xrFOu}xex73y= zD~H*{rlU}e(DQAm--@uhYn!4gXbhkaL;${`cNl$!PkYZ)GWc3hvV{aSDJ`<4S(fp& z0W`z(NzpJb@Lz3gkHo=u$&x(YklkfF51sUb(B3l*id)KN^$$oIF+7>MgHN9|VrV2* zB4$SV(1?}oJcxY?DTW0`wD`RDOhe<wvZaHY*`%!zk@wg!g3$M9ta?aQkE+lOEIf_t z`&IxYX;${p7>Y7HZ@@9ymK$2_qMi0`lUAicH|{57VMZ?2c&t(a89ZR8k@)8#Eh3c@ zE)=sc`&i#b>btlNI-CzN`N%ASYtdMlJ7Elke0)J6+Zy1h>vEOd<;@?v4VqEJ=<>zs z=RA66$9setY4*{@z~BM5iN6<w;p?ZTJKFu2#21l^v#+Dxik=8aIbZWEnn$dG55*{* z!sT;@Nx(#GO_GXQp#xQ5M$%9PNM(Pt(I}8+3n~!D;rFwm`#pW?2fRg3qGGhj=4sw) zpLJbxO=;jD13sAha4DmX(gfIK5sk}OE!@f;W?9XS%5CI?QH|+O5&$Zlp-S7#LB4M) z%mX@<R-$1;;`${%h)emT=*e<{NbSQJSLV4;$t+aK+7pzdnE__4`O;^p(ZFvSx2fXv z;L(v+s`8GoQ2^4aTvb0F&Qnn<7{CyZHZk<NrPY2jB2aX!4XMBpwfGoqKG9Ek@2$kj z@l10KUo)~cciRHE$?JCQS4Y-!ALF{_k$}fJ=|AURo{HmRSwe^WCFOrKA6{ICMWgA- ziDD8{<xN|N14xBs;HFLa<@g9#<QLWp<^m&7Mq}U~f?)?%-X(6}@GUa8USDewL-CIr zI53k^uP9H_F+crwINA>%$p9*gM(HGp|G;-alI*p=9KAiv2^bBHkUx#W0?-!x9alV# zb$&znsQ4T5hm5U(1-mdUuil*Q5*v@x0g4Wk;Gxy-@041O9jN26wU&C8t>Q<0pC-|} z)OZNtu#%V2bedXBT#9`#o0V1-Kz`Pjf9pKLvJFdwF5KEx@;-eTk?BeO0ugqlS0{&u z=E5-hx`XzXu{`re7DWRTMe(XTjnq>WJ>k>fkg29|l&g2gd>Tb_T3TT;R*dv>LJ5I6 zW6B~KGy!d~N7F`DG(xPa3=iH%*$jZR+Bl0UObTz-2o1PD%x(n1M8OD}6Rf<50c905 ziTyZOi%&fc-mm6V;fbU3)nYyliwMJ`!a6!SP$>*}6)=_qx+$4&|5*BuG&dcVoy|$r z!a%)NE&M3}u#CkT@C;!JDqoBpstKD%oL}}q7MrGd<Oo=@?_~@J6Wl{E=q|^0W&GUA zpI2gRVQZC^5dkR_;EUP#8SxJV1=Q2|&5O6sWCJT6yb%rFjgY6qYB~)Xw2-8GbZ{`M z+371`dy++>2C>7jSIhbT%J<qi#&E0hyl7kdMyaqnFrNyIH!CW0)poy)qYEioir<*N zKA7DVFuR+>yyro*-pfkEtL|U20f<<=W7h=eAgH5IZ^dYO4MqcddxYr%WKjh(ehD}z z&68w0Wd7c*I-JsHqe{<TrN^D=7YFLa{m^wk^j3<GTb!we+Anhi=Dr~^OFf_psiD;i zwI|*$(2afIA<5NOCtd+Ue_O^i)P`}dQxLRYr*ES|dgEIayWNT<9X0T~`#6nzy&dx{ z=BO5wy6+oibPlMaM<pm}`RM}VJls4I(>JjS%(cxcTbIK!A=HnMXRpTO55c~_F3C%g z!q_;nxK3B#hw;B`e^d)YNv+N74;>iKlN$!WR+Vh3y2^AB5wvfOhPkX~47kk5)K$6s zmwYBmDy=-0{$*D^9U0HxQLnb6Uc-*o!8Q0x0cM|uRiJx~K-)`7qg{3FIa<?SuUUT% zv+Lnh-5(Cu4e-!wWHg7njyKl{hr2_B&<Q%>@OD_cMHv>QMhj~_cq;G)5S0P$@~Zla zzt=!K_~W3<E*-;ZI_#l>y>%z>!||9E^P6J)*#9<sRUsAG8{%e<wxakihXgDsNU8@y z2vtZiE!rz%bQmU3>h4zH6UZ)P539q!V0cq=@&A&>V`WN?_Djq~__cN^T7~v{S`|6N z?Fr92Z&#(?r+Q&s=P-!R-nO@3Y4p>+L$r9$z8zX-qCklPY~y`huKf+3Q<9JRt;JXV zPP;m+7_r-(9B~C6O={!8GAw7fYpLG=7lXrYg^cAuT6RxE%@qf5W)&_m>b=f<?iR1J zl@nwXSGVd_L~(nQL~*;@j3mg6eb-2{;Vd;oXuB0sgOqor0C<Io8JOr@QHP0H?h(J% zjJwjE9C)R_ZKlG}dN-Vk#wcyKi`JmkU!jyQ&lbK1t{g#Th?|Vq@xhUbNVQ_vWg{ML z_qK!G`n;&eWUGy;ZjZVh61S#@b7yLd5V^HgkTUL1jS(V9Hd2;PTw|2Jy*r$~y)&d> zt=%133fOAI)?ii*J|{Y=v9g_evRQmI=^E%lIoS*fkK@n&Zy7M}(dOv3rG2D5WdF|T zyI++72k;hAx3Tjb!?lLt`=x4EQ5SUCx8BpNrw`g3&zMq&Q$0Kp5M?K8??^K*`$ED+ ztB7WFflDB-J-u4(Cd;7l3o?-$Ut&^&<c9XBmH6Y=s0a-^hDP4d4z+SaiBoNcISWYh zU2Tie%*#$YVl|)ybJJFUDLXeba+BleD9k!#H|IN!p~jOAH9I>vZ#`+Z-O?jj+C6Ut z*J(Bms#T6<mEJifXw$W9ja8WpfJOpW+^&w{rM~poe&UEfcth?>g{xml)<pwVf&>3j zd_)8QDD62+ppkjO58WP|oL6uYJEzEtXXO#Sl&Q>;EpR6Wp5XwdDz!pMTW#=GwQfVy z17GcqI6gl1Hi7T;EdVudz%toT#VuRawo?-#vIMbbYcfdrZWCaTq^#0!X<KHK*_sff zrqO!3tZLYhJPkl>LM2kGqG`mhmr){<*LbWg+N5s6*WY0@O|L~ktVUMsXc94r63in+ zkGgpgg<}AiUSRp7$EJA%eHfrq4G|yTCPv|6a#`TF$5PW)WSowQ_Bu9pFt#$z=cf0t z5$@>XAp!0`q_Qg1F7J8_n6f4s<?eyTmN6EL6CY;M4?##LjUD4*CkTUDEKj^xo~*(0 zq>81UJR<MQX!;YcZN`B94m^e->?WH<^OP(|<wL&;k;hM3VZrtXl>A3JN+TF)?!Myf zYuDPu)M=$(rPn1Smx*L;;x#ptlCPWm7N(|3*+nT(l8QY3R*+w&i|JTghF1|~iH^o{ zk@0*T9V@1~>PO2_G)D^PsgQ}te_*7Qp+;YgLfXz=^^40ay`IAkUARp<Y|eZ5KZ3S7 z`5q^!$`t9$QFXJl-3+PFu-!5?>=&Q3|910rw0^!e^j0y+KOUmV%0-&8fqj^viG2<2 z)pU)A`)Fdgat<mfPQLhb9Cyp<s3+<G(Q3F7Dsl}Q7dXLGoLt+kOQE`c{S@)t%M3TP zi}7G!>)b89|ANvujdxXDKwB*V($|gdvG>ZhNIoX%b+Q$j9wc9<#j7QpI({rwsZx|x z9L@4RfF)+o;9L4B*dr-pux2*z_64k+ra7QJ$m7|3YM2$LAgSP66(zL5^HB8(w-B@p z;tH6_sv@XR6Hk92_JkiJ6*}7A%LK=UY0%tW>M_rv3+Zvj<7E-q=!sy0{B%irWiPg} zY^Sthg(e>4;c5j1d1U}+>>6@Ty}eo%(9#(MbUPmN4Gw{aR9+U>4-aHL9Ad7AW#T{= z2Zq;b1G@<S_@uQBBc^$wadV*?lrW;JDA^c>kgW_lGdzp%Ab+~-9*%JeOLlKJ3zttE zz&JS|xmz2kzJc4}{bAlryKrm+pH?g-oH2~_ltrVWe(Kbqc*OP7R${7%)e+?kHh@yj zo)?s!$flsSoJ1Tysd!-gAnQE0t?jMd0Dc+3na=yc&pFmDR};6TjC&6$m7d-s<llLH z$12B!-G5!SKNl@%HGn@fS`2Ly%#7dlm45{zaoPYY482K3jM`3gY8!-V1u_rBw7L#u z{fCmi56hZ6HfWuTL-pWXO>GJ^=~B{8cli*FBXlMY#Wp+y`vdo}UD7+GCI*l0d!IMj zwiBpqr+1K9I4@l|J7nD((>w#fR_sqnkDdO2J!O7{q5(e1!~@au0kNG(4?E(hBOU<; zG#Y@uO>SIX2H&F+cl>-l=WU>Rj^WjJhljzns$MaQsg(hpMt#!fCIE(iQINhz^F%9u zwNjAM$!CFpy3ii}TfZto0zQ~T<%;l*i-1*aOGC-Na(uzwFj!Sv7wh_?HTCyKHd9Mt zlpnmKlM&hEAgdF@c9YUyLsqJ>BDCo%^^7K&Rr}!Hy?cH=6BXEMxE%3jJ2E^o+dD?^ zQj)LaiB;8Euv3$qJyhSxOHCPg5W6%7=}3XRabh8ql~_<M?>QySZ>!f0a<$dC7%$hG zM<_7we9{+CIWVBIEhb|&a**nocK@cSJ=)pR0F`&7+zQy_%b#0(n@9sTZ(&OCZDKxF zMqb`uP3I!@T{4*#bC<dl^Y4tD(iaBbS2jeeS9`X(<Bkb)``qCUoo>S(&o#dI*LN)$ zU)#Ri%d*5hknFb)^Ef(?2hkO?O$BJ#b@QnF&O*@+Mv4sRSd?aPdZ+WPNRmb4EM%8z zZG{N~(d=-a)`XDCh#|<ANxGO^at>u&CyTi#Qo)`$x|O+(dWOe}?a9Mw4)mwbnqa)d z>iyA70??q9ZgR&-Bp)V%bh3#5wTh@aTwKt@CeZSic=khrPC9Xd{JQr}_<?`Qpm|?B z?uhF!E{NjUVj6)QaqyYXn_r?VzPN#zjH2Y_Vm5C<FCCfM1W8^6iIDo@@ZjL!vqXF} zjWDDAoB+Nn(z%TuK=eJntmXv8V1U*b(Asgm+g7!%9u|{nIt-`Pb8w?=>MdMRvOIbP z|GjyQ&n&t5*ov^a_Mbg}maSPjCWGBPo{EoAH2<CcJ0~~QnXvae+Uv1$pJjjS#K;Ry zz32vG^3;5DagnoZ<cNq0W=a)slccx5U_WS!Jqh}O=(fdw7|d<#6|&tuIFiJ->aV_0 z*YQ4!mJyE?5an?o;**E}^$<&TXJUVkf&rB%tFfD|q-E#?p$)@*ffLxSTZdOrB==0( zAvrkJ=BBN<m?6!yb->dS3GB8+0#Q=d-_~iOnszXBgNprdLdS`W(@;4wY<3-R@aF;F z{bdHe&Dr<OLZyr<Sz#%km`wip0fQ%79*$TOO<9-5w<Q|4ca0DBQ&dNosiSSasCHp{ zEOf-udtjFXXf$o5?vuK!7yTu9FS2wt;5bfqC&zFYYgoTJl94Jo)l!P<CaT+DSR||L zb4gO=6Aov3alv<G@gF%E@$o_5I`v;BSIT_Vv%Gio#B2M)6><Aj<TJI{hL<ouAJaQj z#-0h|XbCgUA((k*p-4*`lRR7qb;kS}CvV_BB);Z1(zEkY6d03d?|d=Gx)=e>%4&X} zg0%>e8jG7bG$v1L@;;^vbH@D#f6lD@;pk{dzK-}GdT5+r9zN2-lzp7Sy2T*zg<lRG zbF5*f3YDbp0DbN61BoMioO#GkEFjg;n1~WMPqLnRzTqEYn366Bs$YUpc2hPA7xz5a z+(ICphO^;#>rig)+vJh)_m2d*s~6aDrL3pR&SYiO=q}HVitJS*tNZT>XU83J1bcqQ z8_wNbt>lezBSO{fNv+E$92*yUTPbb-<uJQkovl2Y*8-5{NI=O}s{m%Js1B+-oCJ$_ zk^VB8(?z`GRQ&nuT`Qhz+8*p987{z6b#H68(A){1X0YJ4_qI481EE_^0_qNKHwm^{ zrhXFa$yzf9lJ+4hn58aclPTC^@;`XM69E5~gvZjx<losOJUv~&SPgOnLLXdWK}Kwq zSJ+Q3^|&q+T9xz4@vF$fCurXGQA7TEcVnuTAQ<iLfr*DT0=}KL?796I-So?*p8Br9 zp}eStBW+l*CO*63M2R+P-Zo!k?=HhJrod=bHRdY+5C%k)g{I38Wv}J!`>2O|w#o-7 zn^;3u-B9(iPtStqB~GDvbE=n@uKo7De}sOXaMfJ}jn$F()KZ2wVUyt`mGC#(O$;vi zA&HAPoW_4dZ=*Tf2d4R)GRbB#%p*uR&uS-2{3A<oO4c`(xaD&+?U>#SF2iIzh0Bzz zieq_Z<UJ7LlL%ssTF`g#G{n~`&@;2?d5M>Q94x(<1Nqc+QQGepcq1IhP<J5(X#$BB zidt~lDtAv21a9u9d01Q;6{6X^xWPu|QvCqe<bX;7>uVo`#l@6fA|>Y{G!H}8A%~sR zVvhIuidXN#pTI{(uz&$!>#ff?vcjhitZ&Z?HDG()a1pE>QajS)pHw~a#>6nTdx`SW zLyf4S0##xoZ<8mO^6x-zvz`+r$$FTW2aXVHD=yN-e2$mWvT4Q&hnDe_v1~ZC2K`r# z#*GLYyu_==3;fS__@C#&`MN~JHIv9f@7bq>%*<wee5Qo;9xRv3;PbgLbRVJ2EyR>O z)E)Id#(n%>?u~Z@{qHAr1v7s^z8L03T);iJb+wPz)%~w=_%}D?`Wv*pjoN-uKIry) zeQa6E^V<lG$Y$m|*2X|OP^%0ROyLH?7y1@Ah?9%7)rL##KJIiwxQv!#*?X4T@l*L* zNsHZ9uuJAC4iW51L3@{j{nXb9)SdprAEc?45RLOtTI=EPzu{3o`!N3Spf%`Q$=N<6 zUA-6%J|seI=Rt>tUw;-4Q74MqQydPb+vshv_Qli|Bh(X!^PpynS=bOn|1_P$<ith+ zK|71j^$n71mB*C%2yk~IFXpVu7G>mBsa%o>KC-^o4S3CvD<hNebrs_gk^YG5BBp=& zfvVnbF~@6$yK*KyZ(au!agrI8A~aL7s=k7XQMERt#0uP{6{tr2z(pE=tPKu#o>nZk zp4P$Ew_;Y1np>O<eNT6?PfOTA<io9?7mDR)itrw+Kakb}a1nlqkrl>u5kPwf{WSqi zo9J)}sTLDCNK$^4gR8CgYAh)sy>V`(0oqy*Emht>Qv1_IC3_hgi!gYOL)$fYXQA`F zDoo<SYFrMmwhxOW4hZ*=z`#URQT8mlKqEBuj_r1QO!LVvj=0<~T?IZQ2Qg`LqiG(M zzsaa}@kK>|0S3)vsr*ev&n9JY7KI<HZ73L~Y$bnps}vbYGNh9w6*DSdr#G?@ma<Id zb&ZviMT-c>g^zFej-~wgyHBL^wA?hRH(0c=k#wR|j$;*re+!oUQ8F~ihz>VqDlAnF zbG)w}1L}G5B|U^WFD>{q_leqqyoyf49U0n!doJ&u<NXVBjaS&!fnN1S?r4-<p5?DQ z4!S=`tKC%y;|^DcFlj?#bm-VOh=K14^@FJNS;@K4co-F2@mb1`t3%pKa*p+VZgKH@ znV!beBFf%h#yP(4cnz+1*iM1XgJgbB8SXiR!}>DHbSXbrDf`$RMgJ*3%C)8(!j%4Q zO-;iYnd0WEBSQH5DU0|j$5*hVs|mdn<A0VtenL9md&aO^O-!sRmb=a+W+_3#3b)7t z1wI`WAUrSM8C>g#YqUgx`}{JHAAX|uC7=OtLTTnanwbh`3|U|jBb-tVCddZFq`r`r zh(*;~+!|^V;`%I5a@ceefCy)NBbyVue&h|H?84maY3mg<d!5RN-g1R7MCro0WxRM7 zwK}^aa^{6Gr}zenrbl8imu`ijn5Fp8I7_e8Q*8r-B)iW~0oo%4eesyIbsRMr21CJs z$?#~m9}Y*m4Na3A;M<rZks_MFOm8UJHoMEp%Xq*&+_Ss^C;f3e9>laX@HlV{T7L#M zEkQXDY_3r~+fD4hYP;JNxU?}MeNb?A7YatN?(A^2jz%Fp4a21J;t|(m4TrarAwIr` zqf0wfeLTUa(3-Fs3ErbiL=rM)pw&^Oo|y{FIW`%B_NHC~(k4VRu<AVFPaab+&k)Io zOl`tjz3*}3>o~#qf64@m-eIhb(U9-pnhWK)D+a0k>{9Yf#g;++sGO$eJ=wk!8@1;6 z$S=n?fP-VfcoKeo?K-!Bbr<3qpucc^F^Ik#t$q(Hqj{$vGSn$8lfrXbYjBdE#=|rT zN2AyuIR!|Th;O8KgBe5xWOMVI0Y>bhJ=+84Q%_30@kRAW1fgk><?&TircWyy_YPd$ z>*M3ckKAFrhYjo3aQe}FLr~%fDo0DH04O|$O7w1E>rz8H8Ler*Kzr_43Ru%agW>f< zhiuTFquxKxS@27<n@W^=@vZoD29?kI!o<;r)c)+Y>f>ko;|lj8SWBqg$G&GDad5$J zvIqq0hXs7W!)N}s5?Z|5<;0+7bu8*uYW8|PZ_Qq%=HcOCr6!_4)erdq)TA(LRi04J z0>*`IVb~Qch=L}VOQ4_6=N_`ieZNcsg0r~gHj`Im+J-h<9BgZ2UC3nH{!X^)jxrBy z*X5HZN84$8w(6}el{&`5jnQtiLE=R&{Eh5YQFCeB?9@loyF0*d=}2Y{h7+OfRBoM} zOAY;}A}*$QPou{+y-iOv0MrGlO5M*cqgR@5fEE0ov8bZ=Cu8-`3!Uk9Qz~)O)}7-5 z#My#6TVq4UZc$<fTeVOFAp?=(P+J-&H*Ocez}u4n^(`4dpE~ge0=A1Lh-nSDAjKc3 zQi5nb@~EOs&F*d95@?C1Y3m<hmZRiin0{Is6CBm6<y=NXZJE!Q`gd8CGgx6>9}Hv% zu(4fpbJ~N$?#ivhvi#F~2;8KFN(zU6vp=JJei|=#%m)EIAy5g|W4kPMD!`wrf*bX( zBddEYTNJLz0@J2h!7JA7cVpXj1Y}C&Oashki_b1t>E&f56|EBHNCwgXzQQnkbikqy z-$r~@m1kz-0ZCi2ycQJUP+r0h0vl$jbA6;M9ZD^$Km9klXyYwJb&#u&OXXGk8e?y1 zBO>>9rvlXo4S}qc@n$!JQAJ|{x0vs5ENGxp2m0a{d{I*NJ>jBAQH%V4FXGY1(|Gw} zHpYBJ;%mU9G)zVmpL5OpWt`(%*w}nc!3#~d&O@25q0akDlB$m7tI7)KeDRB7j@tpO z^OZ4<vP0vf-Q<Zz7_eRQ8fS{%q4oItl!ahx%=AYO{y606#xdcXVT!qQkrkITQBrXM zK)y?hmIpR}W;6RNz1Hqxst3L^dKLPdS4$ZYDf4dGox-^^0$&xQrwa4KS?|O7{=S0s z;p|BN2`I~OK0Py<PpQm!8||^?HJ{VtX(rUOKiap`vkX}Sl*3`;fE@X6j5Y#y>wRil z`j<CwxP_W-FUmKDwWR6?Z$L}avdQ*_F|O&@{twHy#;fP#|G<{=hxY)x)mtNMMo}?9 zg-JBaC+n&BH}YN^PQy!W<+TvsEiQhIlOH3D`t-H9znZ?JfB+yhiUz~f7Cps+uZ<kB zvI*u*V?D;^^r*`7Cq2x3^#mKN4=yF?#AK7pkQIisPba)p%I%pd<w7;;uwRVyO2w5g z-@Y(k2SFMx;wb<!H+p)e$S^>2NN2&uT)xTlC<>FJ2+e~&DGQ{&XoVdyBzCqZj^}Le znK?IYJ1?E9$+BiENmB96>ESc+%}8gVgE2p2)V>+%C>mDcxWi{3B2qW4$%%z@e~Z&l z1_G>RK{G3z1+O0CeG*xNemUozE2qSvJ4VjALqrT6V+`_o^0^FC=!{-arPi_G1<{>H z<E1o6(0H<b8g<nNPsL&NtI{QVCgZ;JJVrJ}Y)9z1h{2FGN78u6O-da)_@k7TE8OZ6 zj`nibPk_?gnjhSAi_oP8`-@Rpjr*=iuE{-4Bbo9Y>F#cDRVp`nqTY_k%*iNKnN<F= z^rfxi6B-2tpW()Xx=K=2e)@bC{AQfXO$hy0^XP00;=1BZc?Y<opc!=(EeE}xKkatD z`l}Av`|>FYpPZ_vZ3ol7vMA23pM8m!9Q=h!m5yO0xhU}M=TuK`<k*q};+9WHN~R^z zLB^^ij=7NOugbu?hX*ngWeG#GjxFmN;V6%SjwKcw(yV_eGVrzh;N1B)Hr$qz7?|cK z<?EUHkrgr0Qt)bM%B<ekCaZer_s_?UUSwf@S=-SIt0Nfiy)~G<sOie?#wPZQ;j7`R z@C8ck<=WlK`x4V1&mz>9eW7j6RD~G2CC{?9opud)<UwJ@ZE3-dcy-=xEB|9;`SDp` zY>}pKujAdj={9-rrS{1DV?4)&k#9|UmzYC-do5{dGtqipCVuTd)Hb~j$6`=lI0sQ_ z;Dt@t;G6BXjG4~0d6kj9S;@_)xZxU4C;d0{3yRK@zwPMAAl!aX3F%5&9~GJ+c>eC? zsnnb+&%j{EU=fbTVYa|9!_>kN(EkU?=cdRl*@wC?0%EX&S%$-~1?;NX4iD0h?bg}t zI1T)UI~Az+DWH967sE0dMu`xTkZqLM#&JHMhBt6M%VIo3!t3y6J8qRwQHN;<$E$7x zp1oS0Y6)8pJuIb4WKBMT8Z7;<(m4k0Pcs=_m~oPYCDWl9=`$gdh5xA63XbB(R;>?n zF!f4hz#-^1MNw7AVYL#(MYB~f`5T3eOoD3BbUK|HH$h^7I#VcfvJG3PhDJ?J>-9mF zeueL+Y4)7ffV3vJ<%@s7rkMlg?_a$|H8vVXsl`E7PmkN}rl9D~D$oyB#@a|16bhca z2mmK9{73Ef7S>a{Wtfi<Zknh7!E50%E^5L(P{5F_qcAD0%C9)BFEQAs`Plzb`V$7f zahESudJMh5oCrAe5pRe`QH}3}>->bLEqW+iVWcEm#bF1zsfM|6gMOGn*pcw84I+~) z&BXDAxTjc=j(f$%dwV=jdn1Dw@W($FabfM<JEg+WbsCi9LL(HSpiMWa4C5^A7D3mU zsp8_u%y`_lxz{j=#1qU4E59yfX7lI4gJjjrcv>l`Wq@>iYQ?|uJgqSRv%QK6UV&F! zrv|*Om9{?Di4x;Vd9Pz(faSJyM&mTAtesW#F5b@mzns;o$XhqPV;S<+7sbq;UBeK} zJKeJUQ;e_RdImAz?PuSlz;O<{*=c#`Df9PwVHhT3ydPt!x435&ZzU76mo^1n9gwlQ z{Iq^Dv=)gC_5W8obRNubSPpjwd7pH+gV8WBHZN7~LN065bF8-kBScv4JuCO@;5T+J z*$18}wX-U}L|H~>kv)RdfA3WNg`mK51IJ0=s0<kP0Y$I1fhg-ZyxUs(<K`M%xU^Z$ zY~I7>Yoa?Z@zkjW@qO!5CJt<y&+L_zaM2g1lh3ta{<CGh($|h<ynmtM9$Tvj>9m@~ zVH9VaC*wa`fHX+|Y%j9nnZ{|-YnQ3~4xN;*b*<_3G@V7XkS}C-{<id`f<h~Wtlt@m z7=`YoXtc1NQD|bNxAs+4rnj~UGJ{Y)6<1!NL4h)=n&QnVCbh?Y@ZVLvV0mpH1VmS} z;FBfNl^v~RRX<p-wjTnft6BZfIitb}H0THG)%HWcbTz9Vx^A6b)x>dM(P3$0e_GS4 zglN=N^+2S%4B@&mx(q=)oEpyegp>S?!<WCBVnr1dS;-iF<pk6)%?3`lzcc6jZZeLq zyWcI&sdn|dVjcsM-&1@OTO6Lg=psa6#qxjJeEFd?R$V{aFUHyxs5-j+YFxVrRafRp z+HOIvU5BbGb1`kVCYvus)u+3ZZm~4CUX2QuJ71i&3sUuXCu{SL*QAjfsqspz6)22F z=bO0t1*#!e*J7L3qPHufU`<E7L?y)PYFv}@LodB%o$(@-kgMylZLddfXNHgUn$CEc zO32j}+4e6;Z>P@vU`@xyI^~`=T#;?PB8@d+qT`l2t6{}rE&K4S$u_OYnm)~vwf)g@ zWtexjDk=UD+^^{>!`GYbUzpR>*p>G7#?ffHx2HdR7iO)gcZ<cwR63OlL*M${uyp)~ z>PWpK??P2fNhu@u@9O5eXg{^c#hbtH$lK&u597B`R=la<Vr3fW*634KHAnNm^R+M< z0O@u;V0;M^4*TM{lxsw{Pj<{YH+iRwKJHLcCn-0#pMcDiJO(nPZfs@}!+O#0vh-tQ z1on_=Y~eQbiLZ~wEXtT5MiVugr*W1SRNj~N%oNZ}8xO4|&LbemuUTq1<uiTIM)ZMl zVtyBm(nMMbU#Dn?P-Hiz{q!V^aci<ozZ|Rs?(hUURN+PNiHBZLWOkXp;L3s2k4hZ_ ze`Hi%%P=vn2{&FGO|yqBX@7R^(q6sSj;p@l>lpYxxiaVo-D=Q(9R;fnbYwF!-azd4 zZe~9a7&geQeV?kc8}eCoNPze@P`by^Sl)bW4cad3ux~sH8*gfkf6PaK4DIok3e>{d zk5PFypm2+3WO><JlfDY_#F1ciU-l!xSr@}AV6@Y-!*hHqph#4QzL>jbSLgJVK3&tN zYf2|^7ZHHX8C<Jm8~CPh?b@hrJl!YVeuJ=Gz={JIMrniiR2x7?YxKd^(5pc|(sVFG z5kak}wHi;_e9*fOnO)5?&2YDOSe@M!n4JM?$B)^xw%a{;+!sB)spkSP6NnjV;#Shd zi_qW}7#Rq?Nh0H%X^K(Jt^>f-v0lx2r$@qx)G91nK0Fy<WEtf~lMV`X>&wR#UfrgA zuw%{UFwD30Pkw)$KG!@2BQ0aZ7?}(0p+f~ITs?XdtULU!PJ;%7*n5WG50CC(!}*KH z2V>*GY&5;L7}={ABc)nJNsl~=0IdxEorwZVn~8Gt=<&8hSs`0X^`IgOW4?`3xkZtZ z2$YzmW(T+}MS`Ja=m4AD>-74CnGlhGfO4|Ivifj?Kc1FbSvpTsid8kt!cjB`3yy$0 zNG~YxaYKDkZIm`Dk-x9r>}&9pk$PT`|H@A{S{=zR<TLt!-l=%Yk>V+T+z$=yp)Yvd z#|X`;l-N~`KEteFq{}Iz!?P)yi;@g~idKbXkYE+t&x4ybi^e}*OPlHmXAd(%`!Yxh znXHBW4=s${`=QNIls|NJY+#jaNXG+iu|2iwf%1`&>;ET;d2`hJ+~#CnmPe~~!vI9! z;t*j<`h3R`I~8(`hHKh3aEVV>=~BI!2M$8bWh6=+-~5w$I+a{x7VrOOG^Kdpma~SI zOm`(e?s~;@Gw!ACZ5&1OQ98eA*&S(l-E1__yomOJt=)+qw_UZUaQ8yj+DV_nX>HJY zbBmQg76%;{-PKhM%&hoM76{|JQQwnSEgcM_n=}~@pa^#(7`=9+m4<9+4yEqH!yDjw z_9i9^&}58;boi@u(_N!NIo12uNJh{x_OZ=xBuB@VH~B6Niqs$&7zi%w7`bi4+7+3g zi**oCJx<t*94>8wP4NtiT9x@iH&^++*w&creUZG)0@+RazcE0JQLr>#aXg7xOpAuk zJC^OHVPLFTiV6yHMM7K&O$>DK9RK=Z+zKWUi?czyBjA2;pc}a^e`sPtQvcymkHeta z)utc?^X>#d)qnz-weOy1XP*JbQ8Y!<{Ovx+Xe;xeh2r(kKmI7lafI~fn@icxTc@m* zrwsF$QQc5Fwyj7q2B8&Jryaa*<j%Qjfd5W`UkmCv?D?nX^^hpDc;d={c0CTK@f&c; zcP*^1YW>E>zfF}``4nxhr#E68U(j)i3P*|xwxJF7I^x1VRf5oA^1mHnt3n-GeWU&u zy`Qm?JXi0|@BW_`Q}cj@QDB$&xmFBpd=WT4KCWuUpO42cQT~F{)ey`l7-|E?8IAXz zMau#jw9axTxED18k-SycAczwb+1av5rzlnmG<5>Nwm9i)EP?_Wpg2WO+>r|A?gfvB zk%V8t>y4DL>+pJmmcOiibumyj)06)C5h4l_)Q%l@jZ&qPDK<4b#pu>$f7-0rEUda= z5khw7^e|Imr^e}6Hp>xqgqj1k@lwA6k$dvruKf2vRgvwaX>{4KDP^i}6}bfk7JMSM z2DTz59KeVhtR8BYCXumNoFEhk2#(jk{a**}#}bMic;c42(ZfeaeMf(f81DE*sd<<e zH3HP?K^NDlJ?P5#{^~)SmeUxJ6<?)57P-b@Qy?CSpqt+$MYt4~a7fWX)uD{fAXtT3 zu-xBK58v~f;xbJR)q0UJm-ypAdO%33%x?}wJe$K!L$H-Be}dolRYefv$86J1?-o+_ zuL+|nP00;bPidCQqoslnrurMFBLg8lmv2rbsT~yQJlF@8&(DH!JdR<fusm;7!`fJ{ zvAX_9B)0C7p0rkV$`y=mH7%I0^rTG}p*>;n!J!SnC=WL%_FyeY*N>>u6$}K=v0?wP zJPY7@9mvP#=_<Ujn6TcLL0&yGXkcjMUAOikaV9$t$`f2?DIkN|SIg+fMTqZy8qL5S z+mAm#cM==yx`RwoytZRPq7sPRP?_lJzbpOPi4bZdQ+E5}=Y+09aG0n7Lw!-=P&>nL z`JFmz6252(8s6J$wsVg-q;HFrCoNU>eN7py0>A?aZt{`&yZTYDoMX$)AAc$yGP?5j zW+a9c7A*`EbAU=?7JWBdts}5$4O=MCrZ0;8=@XG(KkdPgbNDYvfv}fhY_;P0>5~I- OF`hl0h1o~ALH&R5UUYB(
--- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1104, +/**/ 1103, /**/ 1102,
--- a/src/vim9type.c +++ b/src/vim9type.c @@ -848,7 +848,7 @@ check_type_maybe( { int i; - for (i = 0; i < expected->tt_argcount; ++i) + for (i = 0; i < expected->tt_argcount && i < actual->tt_argcount; ++i) // Allow for using "any" argument type, lambda's have them. if (actual->tt_args[i] != &t_any && check_type( expected->tt_args[i], actual->tt_args[i], FALSE,