From 65ceb0844abcd1ece8b2bee2742860fb8cfb0c2d Mon Sep 17 00:00:00 2001 From: Catherine Date: Sun, 21 Jan 2024 01:24:11 +0000 Subject: [PATCH] update to wasi-cli 0.2.0-rc-2023-12-05 snapshot --- lib/virtual_adapter.debug.wasm | Bin 265403 -> 261611 bytes lib/virtual_adapter.wasm | Bin 231165 -> 228284 bytes src/virt_deny/clocks.rs | 31 ++--- src/virt_deny/exit.rs | 2 +- src/virt_deny/random.rs | 14 +-- src/virt_env.rs | 4 +- src/virt_io/clocks.rs | 24 ++-- src/virt_io/filesystem.rs | 162 +++++++++++-------------- src/virt_io/io.rs | 92 +++++++------- src/virt_io/stdio.rs | 32 ++--- virtual-adapter/src/io.rs | 99 ++++++--------- virtual-adapter/src/lib.rs | 2 +- wit/deps/cli/command.wit | 4 +- wit/deps/cli/reactor.wit | 23 ++-- wit/deps/cli/stdio.wit | 6 +- wit/deps/clocks/monotonic-clock.wit | 31 +++-- wit/deps/clocks/timezone.wit | 48 -------- wit/deps/clocks/wall-clock.wit | 1 + wit/deps/clocks/world.wit | 3 +- wit/deps/filesystem/preopens.wit | 2 + wit/deps/filesystem/types.wit | 83 +------------ wit/deps/filesystem/world.wit | 2 +- wit/deps/http/proxy.wit | 13 +- wit/deps/http/types.wit | 4 +- wit/deps/io/error.wit | 34 ++++++ wit/deps/io/poll.wit | 29 +++-- wit/deps/io/streams.wit | 40 +----- wit/deps/io/world.wit | 3 +- wit/deps/random/insecure-seed.wit | 1 + wit/deps/random/insecure.wit | 1 + wit/deps/random/random.wit | 1 + wit/deps/random/world.wit | 2 +- wit/deps/sockets/ip-name-lookup.wit | 2 +- wit/deps/sockets/tcp.wit | 4 +- wit/deps/sockets/udp.wit | 2 +- wit/virt.wit | 181 ++++++++++++++-------------- 36 files changed, 408 insertions(+), 574 deletions(-) delete mode 100644 wit/deps/clocks/timezone.wit create mode 100644 wit/deps/io/error.wit diff --git a/lib/virtual_adapter.debug.wasm b/lib/virtual_adapter.debug.wasm index 79832766050e4d840b511660a5b50e9f55fba8de..48e6739275df935c529f4571dc94e5df38390aa6 100755 GIT binary patch literal 261611 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%0Dl(&>Q9(9uoz3qizZWu7 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%0DqpkLda8Gp zV3dZ;0(sVH4j{H5Xia;5GrV4J04O~Zhm-;!TiMjI-aZzSh3$6Ix2NX8)fB}O5DvU-tsvUr(up!mp1hDy%PgyJ&9N{kVt17eIS z&jpR=iRUzkwPvV6WHbR7YLv3zl%*m-#Cv-o*)?u#MH9hF8{`xdusnOS9|;~RW7UjI zU8=y9R)EfR6fi?>+}gObT|;{2k2d5@N(yAGVQ5po(%N78C@hr?@a7-wPBH*%->C<$ zvV%EQ_Jz_dUS(rhD*WGzuKdAmYJNG@X491yEH5QG-PY1G|Tw9lyI2cb3o)0o(X2P#Pi7Phd1%18Dwjl z@#w=e3=LQLXT4N@-N#+!uj7i0u2OBZy_&w@V?8we3t#(BsC<+vFL9MG>ZS6HfA5-J zL*)l22qe!{iZS6fH@lV}PUVNFvM1Ozy;Od`uPlN+Sd|ZRXn&xW%HQ&pkE8NRRrXx+xn3&2@{!9JwR}94m#MO6 zkoWdd`NO{Q?^8KZh!Q`d$HKxOYN6_-Zj0R%0sH``RgscRQ{B&{Ao2ksM>zC-qB0#mwln6 zH|}7e3qIIOU*Hr23V87t*@u8YR;W9~42YY>>@ZGMcOa^vM@X+Eh7 z8y6mYQg@Bb%jD3`;sTC27Z86>E}*7zc)8bGEjhn8>Ta&7+}mgMt=s+UB{BY8FA)|6 z=;YVW6=9hxRPyZU>B8?;x$3<0;4z9<+I(8x?`(ee!C_orFht7PV4T|)E6GEhn$V{V zF=X!?tcdWYMQm_!6|o`crNL5gv>2>7yIKvm4HiL;vj4rzJDzX2YaTxv?q978xMuDh z6A$yiN2fMMiXcYW>L~yb9bilpHKA|JwKQ*Kj_x$`UE(k)R|OHQ*cw+1ui_-`1Vh51 zyOS(ZqPyd{Tg|nm$X_y*+1p^4^#Uzlzh@^M3pE>*tmm3x$-E< zbXfGw&2$8PWh>4S0!z#s<1FPS4IUXW2TsG}i-Ok-q)uE^C3_%f*5VByUTeiut$MaL zThGugJ*!pAMowFi)}|EvjI;Bnnha-_oJOdLIm|i4V+NRwqFNjzV1L!awpc@)T@aq; zLZQSnvTOVVxz1~#g;U#-uejo3{^>AR7eV9gQ8X&MY2lzlt5!vJr0);81Ku@*BdQQo5HPI56$zr3k7;)ANYHoUw!FR&y>TP_YxR8czp4kL#q?41hEhZwtBqkM87WcRARQ*ha| zCh(bvEsXWxKU{7f6bs##HvZX)QM*H2|-j^5b7?ytuo8l&Oo& z)Wra=n!4CbU2LYVCR4}4%M4RTM=%l>gpZS?b(*wV)uh2_6^mwy`XxQ1^bd@r%r-x#7UAN~zBdQ6iRO@#!$G$)75JqI1S_6Oe*SC*AXRx+NXpZei3U}FdCS0zVS{xGTySa;u1qECI=2S1D$Ow>ECBv#l0Isn~Q>vrXxI#LMu&J>gib7A3mXY zct4i>o9}awHmuQf1Z?Ci(qq?5mo`Yj@NM8M%lR}kmqQxEww<0rv4fscG_+1}*S@^g zfpVra*oUHIG(Z#QAFFIZnJ=d1+G>w9&LoG&me1}%-r0DU+rF3WyCxxq@PWib6Zna;OyxncAZv19t(|vPSo?Xb8Tp z*4h30=?E^Jh4Ai5mfM((< zB;DKUpoAI}^?*S!Kg1G{tglWj4JF?d%Q)&Yqn650`I475z>$zrbW+tTC3&T^q35Xp_ts zHATb`S5FiYtiOe zVU64=X+q=-vdGWU1v<%&10?PD#5(~^{*mj0if_;q~BZx=sZiM`s3f za~c5!bE!eYjg6_pjZSk$815E5kejK%81RIzT~Secu+!WpPIqX0-6!T!LF0dR2QiAm zQ8`_65XfZ}1fQTl?8iIO;Ks#xH~xRP&<2d45N>%*gb+^z+mc44pVKzL4g~W z$RuHkoU3{kO|^zZI5KODV4ARtfFQc9O11pG2?eMbit=vwclrvAHKo&FD!Wl$k&QG} z9d{El}f+fq2GO-0#UAdJeMtFXoI%DYnRi z&Gny}5jRshZ)Rx&+Wj#douP&qGKRoK!m~RS76$G;g4?VDfY5(tL*mgw0XbJS%--?S zH$F(2x3b7Bq~kGQO<2aK$41_rXOtZKnt3p)1dZ`P;Jm7IkR%kv3%RXoeI?-tz ziswWQPBP`58{d z(kWX(eI-zX9)hgkdkkuRsR}tIbni?Rca}eZR>Kja`0}abGIbFEVn2b9*~A=~HRd7? zw1n1YvVI0@iWz09U}7t2?pkt*(J3l|vW;I8N&jNjk-KQ_k&~Y9GIB<&pz;018L3e> zQg0Wx&oNY^zuBS6W~Jc^=BA+xidpPMA{V?Y#+GXr%|Whc?{Ac|&o^>qXn@z;gPKJ& zx!tc@DUC3>SVSv6+a($<7%VE2a5QlRor5mt>CQ#0PBAD_q-S?~nV`|6RYy7O8 zH^WuV6(*8_5C_sC^8E{>P~~V62{ixEA5!Z4v%BTnCF$9BZh7S+jNUcVB+M3ts%a9W z9GuOeEV|*f3H>&0BF`ROB3GfJP2>*=3t1&24!69+(>GFhjbeGBe)fr-QUU2%Y?;?6 zVX0A$MoG~_nlmk*29K4c3@Q3j*=U94l8bfcCe2=HF)_eoHtr3}`2(uARuB#4DRnso zg(3xJL80bIhR2=q4?@L|jDL2wX1iSR?41}(BN^VWAc$nRgi^jzt80v8FmtJVahHu; zwnK(>G>TWq#gdtnFBb?vr_j38mRp=F-@25qmWQQ$iS?|znsqii?p~wYG6Yjgz*=GjM%ywa~bH{SA$W<%Ibzr8&lOM%6YNfYu zQ)(jIuiH6U4p9sl^X!tBi8zgq^1EI+5zF-_FD}9ycZ|zWtG?R_O5M2FFULzM(6=?x zgX`Em!X=G}VXfB8cuGE6tVyyK&lRJ>Khwl=)l~AYk{iu8R$};Wk`1v`0!=MC3TV%V z;!S!DBPIRw0ao4B;ZQCtjtAOI^B z1JLTHLLZM}B@*4m>v6~+@C4@l2Y}U>hQH14d{B@*-vR}>+iD1Gvj$bDqe+3a7Z|+k z?Y_QhlpriEEjv)`9g1zEhFP9`yN!jIDpkh3AJ3}63OI&v1lc@pV-y4AvVHuQkIX~Bc(gHkA=wud!&-jTmXk_(p%k|!b4?)l=T@l3teFz zZ8bsGKp_QjJZrEqCZeve!e4irY&$Cb$}{L5hnA3#i2u=JI1X}*E;3gT)9+$liXriF zXKP@a0y+>m3;uM4EEMeGLS48NsE45O@~G6^Ri1^kZeY+VqtOO6aabS8=&znriE!l-m~wbe_rOv$lAx z@l+BR2|5ujhRfe-Z=Vl21{!HCmT_5`yjsc?R^~w=VlK7h615`Vji>RMsa+Q3Xw%U( zucNzX;sFOGrHEYeN~JRj zvK*sw;!clI!(sAy(c2TJFtD#JyS<#z!3SmNNoX3^=HRGw)4ss3Zk`{VN9angpD907 zF*z;!6MsWLWbst?H)j#Hvz)BR^(^*1^!-F^3HIgP)-?@bMLOGx53~kJ#uy7WLYe95 zv^iuqNpl#Py6pA?(}9YSh_EE)$3B!lpcKEHuz?y)7h} z9oU^sUvS~RXDa?Hl28E|jW;kVphaQ}sAvOsa4HWTA_eT0?$%f--WW88$l=z-y&lo) zh|KJnXk(Cy{oo^{K(|$T+?c|4BP!4w5h3VLoZT5ZtN8=2A*%SHQ?{#ZlqPsO@2qUc zDP#3?B-?Q6*nn2wN3y4$m0fZEqsQt}>Lc0fA)uu#TMB=^==@-| z)U^_wK2{U#|2`(g&fUF)Q?;pX?ck&m^k;2JJqno2n&4?El2i-Uj?5?6Xm_&yNI?Dt zoz}jrG?cvNLMMATOXw2s+`e8fX@fV30;-}x2>s+yp@k%A@+p+H&0}&!Ui|3zi5sK; zfs&%Y(Q%sNl139jazcO`?OJD}pMNs+lorbFw%h_Y-aQbGbn_#ja+KXajl^Y9a+TTy zvot1O*1kmkzyvT{gZIW|wZ#s!&ayhXTAJO(1Fq1mTs$RX2B(nJ!1pWlvN`0)8*k9n z5;yMp>_~J=4m(JvbdEQIkkcKYCspkci>{L(t;jF^c}M@YOPie&2-8eO3> z3gm`?bFc9|N2%Nz#WmJiGrkMVGJE-c6Sp zRQm3XpGO0v7h(oO{?+rX=29MY@7;riw5AL_qdhd0yc9Jh=Q~jc6#R1krS*wGp_F=d zd!V#E+vKbg(xMWX)hcf$XV9sdXnlODNd;-@8l52ut<^am&Ebs5v2_xMUs3g zdV`8;;n(mLXQ08d+FtRr0&}KCxQw&I+q}D<*TUgkNy_W3xlwjhm0l!E1Z_=qg%;OE z$0@9){?%+f@80@){Lxx=tQ^=H8x8W6XaO+Y#0vCjEtDRJ4CIQ3ciURS+2H9Gm>lBJ z0V&Vsh!jt(@f=Qv)cav9sl}t}w}k-83~{9EG_&8ega`rPJ`a z{G(}1$`xWaB+u$2EY^XVqF*9BDfY$TJIm2opp~Gr_`XX1>KlZsBNTn+Npc zTHP9M4xoeSmNbOLD@RcO;W<#FHK0*#am+yAY_H&`mQ_^%Vlc7%0&#dN76Irg4uq-H z2Y4g`U=(bK+Bmh2k`uvdS`YjQGwBcp)`T;=VD*Wi1dLW1A{*Rm`u2_LgrI`Ac$)X9 z81?Z$Zi$W2M2`$<$j=M9w6d#$HDJ$o^u2C9k&}hHt%Ys5jMn)O81jh;j#xzav=yy- z@_>Ra@C0cLbl&xoJ7Th~tIyP)33qq`zVXoZJWV2n`vkDgs6)hbU=JKgGQ)88z%Tye z+^MtRFXveE0eifMXZNAvWJ~?Ii7>q7fC;m04k;l7W{-BLp;9O-(f9LCI8gm60)Lgn zkm-H&$x<*4YMeY@FM`Hdq;y5n)g6>+v?D!J5DbvzL) zk;8)GmvIeM;k~Da|{Oj>vCKqC=}tcU;yauQb`Vht+wq7bI?3 zkcDs{mc50Jkt!i(gXAFEk8TZ_y~C{>F3>*OE&sXnH-y=@Xc({d;MrBG@QEYQ zfW}91&Ht_6!^!hSMd>>mNOP|>rB|5DRI0sUyw$iCo3PjebVr(7dQ`5nCC?ePRvI-i zXHe2D`qDTyOgN;>1M%+6QFlp8M)p+ZjIJ|c5*&|EN*ih(twBdoIVkm9^RQi*x1xs4 z{&F%F0o=yN!!iQju4w2zlVcJh9BVqZtoe*01=KaCK^1Gy8f6F7L53ujpSa&CA2&fj zDKp|j&5%-B?}7<0k&+X(?9>;wT;#x@9jYn`FUI1!8UcL~lhfj$2rfm>ljX|N@qdcS zwZ>cVZDOyO&>(WgUZ*6Ex!vT=ew zG;?&E$iYNDz(&>$9zxK0?NCTA6VhsPBG@3B#@S64RYKDTxkX3An?)Ded^IYr$zo}8 znAG(RWZxl;VD-FJmj>5t4DZ^JvGJX#j4qVxG(agv%xV8vK~M0^4(vDTNt7>fF1-$i2V-@4!(BRF4f}2p>nO|R1@dE-0 zRKcNEK*&)FC_;0U7+-x)?iJ-#EMHG){Bym1QJiXGq23Y7M$BoAui&!|0xn9ZB<1={LYL+~GQkAEHBA!0Z z@$_+?r=_t$ETRH*l*9E;GdFz(8>>{@zD-o@=I1lOpYI;SaVx+3$$#0xEQMTqMO#a{EL% zt3h^~ogxU~V z-A?Y5silJYqM*5=xit{>o0;?;Rx$O@o#wxcn^Fqcn5R(Am@cEuC25T#bz4g}rWak+ z)E+#;_2lNVGzS0J@t`mhCxRUt0-z!7E<;3!<}f1=ZxG27@B0lp&@M@SA_OghLqSm+ zmM|IO-6^nyLRk_VbpAHy_FC%^%|^}8*q-KOAWh}5@KtYE%OjPRH9)Rqc|dBm3>@{^ zY`TOkiJug<09bmJzilwAXe-w?qCaaPQ*xvv8ZUE>lJPP}IqeHmMO-5`vdig(^X0Sh zw_sOBHD4e(eg?}Pk5y$1PclAVJLB_O$EnAO$#BpM+e?)-O@g(A;3~EkP+6*ZncJVh z*Hw%#my|9Kc>`SsQTWpOvCQ`a#H}C5^tAdz>W2Em^yZn20=&=5&Tg4B0Q*$owmLf5 z46Oni%c2b!&e~qfP|t{b__^0In|oQ~0!~||CMb*2LDEJH2?a{&^fDJ_1(anUnuH`s zNL|5Fguo*Th8hSXwuwq+cIRd(M{eogO}eGTW%+R_nZ03-CW&Y+v*{kqabw0%fs8rcRRgngXEfn(`nMHbHkX>pux5UpcQt5_5)#Xv+c&g%lf( zl0*Z~Nj=VI!p$JsAjN-yHn)(!akYt;O^xhT*KM9J&}2A*R7eNeBwW}W@>oPlGUL`C z_^N;c`4s!6ry-3kNy%(xic7|t_M-^#Kod*OY_WtSL+Iw?p{>>WJX}^OsNk{!H5BFy zxTesYjonySh~c$5V-RMfvpAzhia|3lk&nPdD+IYFRp4Km#aGPLt8+1UYZDv)Rv8b1 zCnDPR#t+xRM!rCRV-c*v=8@Zy+g{GEcy(?C*|Llk#4Cp$g6i?KB-1$aTTP&Xwwjn7 zqwZsE|%Ni39VUTj^uFJ1vDhKa&qWCyTzc5tUOlFG^~lEFvm6&#%Y|0A|;kLV;k|n z45Q3POX~`BZNSSWLdI~*0n{EFEnR8BGFEV3v;uQtheCVA&hW7gS=f>pi-HkayCU$v zEgRjD=Pw!sG^U;mx$e!;S0y10Y~qh%2QAckyC%Nzvdb;1!X%m@%RRY5ih*y3#cM>M z4^BCym`gYzL?g;$1PivtOW3sdYt+k|CkXT8zF0P=Z+Dh0n3L9wIo}vYI_Kdi=bm(jZz9JI2$9%nFeJszCx%Jp~n@ zpwmM}L?o?)ijAXaJVog!B*0hWS_8uHIc91!?hM;PDM5#jt(vmAFtx6@0L`Uvd9j+C zatmH7xr|DEj_31uSaY;RSK!cM9?wJ4K98sWXeRl*2c*l{L@{*M3Uo(!)(U_0T=H5G zun8m`J?6=<(k%+n@VNXDNXnhAG+%~}@(4y6Hf|2fSRBEk*?V~N;`Xq!eI=K^VLuEA)8)Ts!5!0RX{F@#8i{q$ZO+Be`&+$>k&i%TFB-4u6XClSjxa_~ z{ID*%qr~p^PVDSO-`HL8>;;pv!0xURyE{9vvloqv+O+1J(&&f#mIdRNT%nOQ&mtem zG@1t{({2T^Ljm@~c*z^OVe+zeeu~;OuohOF21Zxfnq_uaxpq0~ z)-H1mY-^WZ17|WbQnbk%g-~*xmxUWInJJIu zuB_Wco$EFwL|| z9{ie(b0Mrx+(HcNJN1jD64&9zM=G5~>cT3Ib@nw>C&eEteOw<-k@pd1S3l4CqtgKW z8q}IJH$({PD&>MfMCw%H~Po^xR-Wjk5f1KwmJqQa<^c~pW-ho=z4p`{LVP7k- zCofgl*Rnfv>}w_Vc;6m-?u5M}rTi(dXM!s16>KT6=V2)MrilT(aeX^x^CazSF8Y;_ z_QcSbgYn2!pQq=076t3ue7$_$1?C zx6MJkEP*_pD@?PB3zNAJx7w>!n0UG4<&_0D@GjrKp!k^>J!wg6;*y%joxDX_Og@IG zr|&w|r6+QR&hko%R?rGnCDqAT2hmR^v(g@wycgv+-|Bj-!+HyumAWa8=ym!Du9q?@ z&4;*Ny0+*i4;7isN2oLzp0PT_VX&*9dacSVPMT)0z?#U3WOXpR_yt}Z21~3J#&%e9 zC#(tBa&BXZ^`MhgE+y7HbisPCQygxt>>8`A*XOoLCdkZ?#?{%VSh%NYOyXf>t@$`! z+~ja)$uq~D_$?1)go?Fvn{sz5*Hv2nT$@u}3-eH&%bJ4fJoxoyUtB>y^2D8C)N=bO z&9RlTSM$HaW;k-%mVyR~JYq-RuHq`SmT+{0!sqrlMG9C@$ik+sityRyf!L+MCRfUM z^Kl>>W5yd3MVJU4W_Kt(RTL0~IR%TTSG|dytR=R4C>^kgKcmE|x~A`}3X5LERb-`{ zaL1AsTm7{;JpxjH)Cs{)y?D69WwU3_xaZcbVllLk*J1(h+!+HBN0ua+9TjN}^)tB*)o-i;WAFjN-X)Mq-m(W7H)jl%|RHf=v7=oMbeR zoMbMglgvXku}L5E*$-MR@BU2vab+qOQXkJ&9Y8y z^f-Vmn|_gXPCpdkJEz|Za9&2LJ13LaG36ALUd9|Avt)wcU_~aJZ7O8LrfE!f1(9jm z>rD3}7~`aETB5F{_>-jz#%ytFYEy(3_v>8s<9Mnsp#q<)oKRt}OaLTaK;avk74)X= zBv?wAN88Qd7TU8r-EIbzWeU8fWq9e0pdPyI*?IQmsMj^d%R_>%KBX4YUuVN-O9Gn zu_For&nxE>NCJ*D0H!VJ&SSc`q7_!t)1m?z{r-?66`++0t7f<4CsHE_OVLO^IX@Qj7|o zXCbLFF+60KI)x~kL&r|$a^s7Pmp5?hd09I$R9@1lyXD-mC4)OTIBU7C(qszop0k-b z$;07NdN@3I4=3kicU7s>9BJ%;0WrqbYi4sud}8_kX^o7-F?Lw6RH@QBHtTX%d+7>~iOA|P zL2#|V?u`dG8#W?dfla-!krjF|^m5o;_YEGT%EAA#P@DBgUkMR1o}a0mPLCwR1R@+A zKc3|kE~jcY6oqUI{KUtY&AKj0td~NGpv)nZR&C&_TqtJ9rItv@B`VsYMIm>EX z5-x}rJHsT4<7^kI7|jtcn58U^IHNg|?YqQeaWxeRqdCF@3?jkPtuvasb4GJSMpN*; zERHy%$)z-!Jmf}`Td?YCG)HDQ-7k&W``>-mCsWCEL7lft!o@ldJNa3a%?QVBqE~37 z!5L)WJWHjI4rVv!WGJSICj-+ehzz=QWYC=>gC?6i6l7q6DBpogNd_KrGO!@)7dUx2 zs$yNdh`~;Rn2!E%eNLiyEm!L3uB7RcAQxZi`Qlea5RWx<;0$zzO+yMXoodcWwA`!a zLAG?E4SBsrXF%7yV#YgaN>Rkg-&)`~ZqvBZo>F;W?3=Z4GP?QH&XuN8wcP78 zXC4a2-pno(PV|W#%w8QC?q8QnH%k;>VGXr!;nWqH4_z z8YP(wY4O_`b8e4U;*GjPW17JlG<)>bugfDe$2+r6+10@xSuZJuT3;Om>w-U*gIr)N z<_ES%x*Y;7bcbMZoRi3`WoAnc|IqbLj6tRfuRJ`j{|bI`NC@PguL~UT=<(}L93wmUN};?R9qmxPO(lf!c^ZaLr_jR7=hVPOZvU~OW_(cQAJ1KHg<83uB( zJQ5I_?{YUoDwy-l+@rMrv{Fbp}j4%4(h8Yg{uUtLc@RI*j>Y;P|4*7yBZVtw7qf4#K+ zU}g8WR^>XD?wwOzcw~y_JKu~MX4~o%N6X|3C|YNiPvYlBgrnt?@YAW;eXeslF2R4) ziJdBM8}qpv;*OIWxznKxGujV8F zyv9mFK~Amc^{`SvaMw8ptdS}@X{+F@8&v1=N}Li$wl5T%M4^3d`?n5f@*KGa2rkiT zgWbtVW_f^ja*~yGg_A7kTk0pt3=tL}2lU&Df$uikuT-V}D2`yuZQadRX+{ z(DwrF7#U%PrHI|<9LR!NR}M_$a(OLhM#aQC6EU7s4+rzzJ7T-gNqC-8qmgnN1UgAC zr4T&Nr6Fpk^S)SDzry5rEw^^UgtpsCe0(mAZe1>obN~-UE)7amD@|O=l_nm#t~40| z_~=%f6se&iphyd_bFu_wtqzf7NTvHw(}b8f_zWVmqC+MEffIdk2)xZNnxe34<+|xw z)mC(Hj1wD+Bp8drpgwetMFScyUeZD|MTjRExt6-BRkNHsoJS=BOS<508;n%aM z&Wy1|Ts=QnAR9VIdk{@+fhBF}*K1hsEpSkzhBLWf8NITAjP{+fBzj!2B-$CK0q-gV zjT{)a*o>prL_GKv-DLeiyX)fsOSrIDJNp=5hLoL(WZmf?YKA=>JRxAn)7pu_@9UB! z=bR8c0e}WlFl4hA6d$f|!T_>pd(c+SXK#nDhe={K@Gu$l9jKhBA(XV>4LY@Arm- zS?Z>o)@vCEmUTgZRXrB?qUNCA=f+4pM#s}Bg6&QM(2hoHhUGy8$943l=8NnRC87X& z+8A3;UTV6Kw8hQuy9BZIBbiq((Ee*0rZwN^tqnQCh1o1O9v zA8YGcx%2Jhmd?#WT$-bX02`sLeL}HphBk_@Lu)B}bL;U2ZzMP^PI!)TcpoNN2Mn;V z$@G$?V(pG&nM+o?y1$KeufYEp;)v@yD`zgwYw1}4vCVoT2FteSjcI|Pk&c0z+v_IL zu5(5@+j(g#aElLY+f8h*b}eF@^PNu$AlXPSOP5iU-nSS9w6RpqQfOF9?sde~&e!AU zChC#n9>o_g)Q19;NS<8PJj7I5ozww=Wsu44TOC~?rjmL?aplLw9vW|u`qAFG$bNEe zIpn7J`EK7M13d`o&@<|eo!X}Zk08Ic+(Bu^QXDbNlQ!T{9&B~2pSoP^Azu;&9JC^C zIK)S{w44*U(@^asLBUh!Sb1?f4A_yVla~Q_CXP?e&KY?ifw75}&}6Q9}WC6NtxfIi!>enx)^#ziGj!RX4&6W(@`XbxuGy zWxrdeTW#mmMo4zzMJH=NqT-=IM(4{Qci11Fco%l+hp~C1|^9Ie6!S&wZ>=}1Z z4QCB)qPLCCEN%Tb7cv&>>ym)|TCC@KdDyIZd|4kej1Lu??g2mlD|>8}1}A=TSK{0{ zL_-GlI)wx(iuCNX)UjkF0;n5Geh>(q@wF`-IEBYSonG4_h^ny@=@|=k{t&i41535G zyY1*l@ZR@S~VeXZJQ1uRYj3oFFm=(p(EsekSRqD1gMaEz{q_#Uvx&AzVXAD_REDw zipxB~p_mBHxt`VDi{R6Yxx?O}vP?%B4W@^Kk5C!VLCgTE*+I>QQ4ZY>Fpv)du5t2H zk-{s0VnnBDKqH1XhOObU8Wig3VJqMd8xR;RO763&U74ZI$c@8oLr&OBZH9_8-DZ;2 z9P}dr@O2zu4Qw5oU_^C@;eXKjsunsRmqngasaq$Ij2z5*3a78r9L4xVCajv_&^2QF>wHXybIKUf`p-i~Ds{5Fy7#YL1efWHCi% ztS&28VfKboWK#SrIxs(B7!*X1BC!JtS4Y=5y$?1`+yS%R@^MAP8}vy>Zu{x05&>67 z*V|kARh%Tr;jj^6g^|$ldJJz};?EJOEOp1Eo79=Ui8t-EUt@U6ik6(eYgl;eiaVgh zbUWllwG0SYmk3(5^9D{t_!Scw9C{<8a_~Ohv^1Pz>*>rIG-qnO8O6WKw@-;fZ1E~tlZJ313KDCtO=&(V>u_2(~0o- z)$41_tMwhud*fXMu@4QIzh=BlOSrITO+%*`HU-UYb$OFA8Mo<{-j_LA_Hk+9jRBIT zMNv-wSZ}T{Y;!VIa;oKr40yq|lRmt6s-K*P0wq$UV=NJ*5C!%NDX_+0v7sI^`|GJCQ52GL7iQ1m@Q^H|=zyiOQ_DTp-AP-h4W@4Dlscrz4|l+y^CS++ zH3JPz8quuglezy434-d6mb>F5ijxiS-|S?AG@vdl?dD0i$;q`EB`O!^WOf#K$H5A` z^I!$8J6M5t9jw6L9<0E-4_4s%gB5ts!3w;$y}$!;Sj_zt0*O}foeU&*f=Of}nmpS) zI+O?_r4v=~b~q_k$G)I_fa+gtZ5P9EAwUSp)Fqqj**_TNrXQNc+l$xP6m^A%_%=<<{_s2FtPF7 zFnFVyllQ5!b~G6R&#Rn$@BotUo2^HXlCRrcEqS-DKw-;T5e?>`cx9w;R;z^GORa6u zlq8@A>|`H(6)h>i)?oC5Y_Jv3MovHu>y#dyjLU&Mb}}wPtC^(%WRslL;6Zwp&AKus ztL&}!j8l7XN||p&-BmRC0qxLo`|g3wcOu^7z3( za-p%|0Bp!V*pQh{6GecrC$JAlZ3CZ*s~ zT%_dvVp4ixCkKt>3PS-9H$;%z4G}}<83io!We>)KtdSu?L+)rMDFfRiYHC4V5p6dV zy-+NJA+Uprqzo*qWsbLJZ)!kNu*=anec~ zqj}D8DAo%U3m)13#sjh^2j>w~dWoVvbfPGZO+M(f5qB=2Rw7&uXX7We@^t?>mk_EZ z(AEyv)t%ksP}XK{&(<5b#RP_>2_#y+#>ex0%BThRy$SRh6lx?lIEjWtHjcUxP9bVQ%D-n=7)&b*_#P?Nbr#dbP{T8-G}3RTM=(1MN@r}jY|JGGD1 zT(4%eX`d*zhSpMWacSJSV2qwWx6dyYAV2<#fV%Ypw7aON>~cGkP_t3z`XZkXD^>t( z%$z_-x{?ox1)Q7GxIAu?_OPn6y(r1$(W;b_b>m9y2)xg6C4I@cGUZmdfrXcK25HD~ zWm4tJQ7Zt&LMhtN?LV#Gj4v4`?i$zX1A{}ue!<4*JZeu&ciq#FzLAXUo(A>A zDvf*6KD(@zKWPOgtLIO)W;BpL={FoQR&HFqNKgERi+j?7WX9Pn_C#0R5zY{Z`_%ji z3@&*`Zn-(sx<2dXMi@7Ka1eus+BDA5+$mRUxhb}>6YVDgnsPBy6Qf+V@)OT4Qi4IT zvvZaNgIPxJhBtXN*fx4->h{qab)%PSYSSt0YEYy1k$m)QtYkQ~x>O-pK0rWkC)gu# zW?~%=7jrxuTqSx*It+`-;@Cmx_0?!DE}ol@@99d3dGhgroD$+>qlTmZO06L-0ZZep zf;h%^IdL4-j4g(3gu^>OKrv%KsZ{P)^~H*J$}7avkyY>H$Hv;g^P+kp zr&(-iKQHf9JufS#Up5*GVaqG8Ttv3~Xg(OfDYkrVyDJrTQLauccTul*EDj}-kBJC= zP6}@n+9nMecN`qOS+vLHZ(hV<`nws!1e&HMlDBITMBVLl-oKtE^X(gA)BVJNk$tBJs=925#TFQghvzmqQ&(6f=Dtrbre*Op{ zbSLNX$o^hbt}BPDV-enA^L!F@hXu=}vO9)xYuO6!qjcE{CIZ1JOfSjfNC#G=3Xf_V zXRNm|zf-BMs_(VrCJmAQy+0a19Zf)^{2rW+%^r5vT!?vlh4u6A1Sk29Mp5m!yNq82 zORmv7=3yLEO{7`W0%Y=WYiAJR;T zh}va}=h)OZmt!}hFkpqHc5Q1=_H%F_-f?6z>PRauZSUO)%C=Lg?Y%D!O+G0>AJTZ=xzSQB)!VeJQR*Y@(Iz>QZFs)gow+?xR|)6`wEZTT+$nMgQ2Vr z9%ay!9#fr^ScuZJE`lM72TsBRP zS!`iiXcgqcsVYY^TUGT1_k_lC#x7@frfoXT((Fss-<^|mVQiXwTKzZT6w*VY)&ucb zjfEJZE3WbbzCi455q67hh;CmTkmGVv$}KlEx4B%=3BP- zi$cwxblQR7jrFQ6=@MvyCW_xUuZ{)X%9Nf+M0WLC4@kEw8nM7Y)A3WuZNgL1l>a9$ z{CL;&Nt#4hJV}vg?lEV~?ltKt=0mr+}ROUmjf}1m0^)7QJSH^16 zF?ua7fpR>MecLtzg$SB~&IrdyE-V~#m(7&&X{Dpxxh!`m_Y1lj1k~T+CSf%vZ|R{@+Gz0WI9|pw#G)RSvh?YCSSG^A?+3VBwT=FyZ>z_s2#Dlc}8#kLAXgs zi)k`=yZP5b9NVw8k5AY!KBXR-VG(X#%--ETqjwoDqwk*`PCrjO_v5f_e%ZE8l6F}e zxj*mK0@g;7uc$Z9amLTZO=m*toM-aKSXRrO=dZe6yWggXl7F;nA~{vivGScQGg=mf zS5b0@N@xa%XU&{2`6oTojhtQ0$$j?%?aO^{Kd^ZA30$e{4YszVqDWR zxlDkWoO%#qWI`h5n2v}`zIDKb+GevSwx=MsBeOaYn2aF#x^P_Q^d4rYJ<^wJS}dM3 zU{dzBQ9%XsukCfLARW7<&2ZuKm@U)zMg>8NAMtbs(3EdVzSnvdVM6&kGIQM(_1$e| zu6xb4^@_qkx|+G!>Rz+E!E-fpGt|9i+SP!$nzNae;~Dl&vx2B7cv;vQGc3Ham6|-f zz7TisM#t$3P|#WE+`T)+LfzfHuh*l&w)p>0yN;Dcw=j_%hNxfb6(0MTM4*X{tz*Gv=EwfN2j&pA;r(~ zF1R5srW8Ze&5GtIvbH20ZYsf!%=hM4gP0S)XO@lWe&kvZ*F`@STRUmE*ErnPgpe?Mav!V= zkXL&*k=#X=DCH$CRh(rh>lCY$6r^Q!WtJN*Gi!i*l~ zLj-_p1@V1P^Z>E_bP z;n++~+gwH>Y_aj0)n*f;`$c+L5#^z~{8% zrJw{YC6tJ)A+1+QmH(iXfJ2esaM61f!QyNs|abp#gEDT zeNd3$LaAEqMqDb`bv=u&UI?e|+jVXb*l3ZrPJZ_`U zAEz7Ce>Z3NZde{<*BP3iRq>Fb+5xKvG-RWqb@|FsxY`4K(Q}}e6ik@C*y)v&(sC)a zF^oG!6BX#-55HFHei0faI>$E7j8s4$5~rJ9tnclMC3k8i0`4YJjUCCM>1y+6vW` zI~cA4;B+}tvvuw^vWt9cs${2^*}f}`?9e)UiRvqtL}Wi6vahx~4L~t$7g-PYip>-Uv???tz zT0a()nD&&(P-;nhJf=wN`B~V+j@uSnApl3A4vY<576!hc^7F+A;x=pncqvPtUmZu` zx+6C5LR296p`==9C#<=^i_THl7b9UrklES z^UkuHFLkzZ4W%pH^twqXbo5lZiQbgDiH8o|l=pblddv?%*4PBJaeDdyQ$o6Hopn&Z zSFmyDl$4N|T}jDG7fQ;<=q!02B_&h~C50DgO3EmpGc{0BD&UnADC?(~3E6YtgjvC^ z+Nq*;)aB)}poSk5W|wZK_OYM_Q!b}!T;*IZF?!VOR7WrFFg9&5LQ%18IB{n+nTQM5 zC)NaZ6)*O`+PF65)(@u+C)M$(VprX{AA5@Bcf|4;9OEj-n&IS9{>l>%{;+d}ygU-T zOf0I%I!wR@_bfE~Ve!N?luZ!O?-!#PPw?v`_{vs_PQ-3rj*FAmjQs>!QA%i|tpq8v zf#gSKMQBg^f4B_kD=p;K52szOAk@WCab~2A?ppHi>gX`1sTd&d;>0tCEeXuNM!hle{~8JW>`Fp$PYR4=*@ELuPs`cg{~FKn zVaf5*9i_9M|GXI-AC??1F?I^9rfg=KvdO0fvF$DvYl+)?(BPK z$$9yC%(GMREY2X@{u>;GAN=+YLND%$yafb#hP!hA>kB`ny8(B83id%>%>vw&kid(q zUKe-ehZ=(Xy?8qh5P5gyIUSNdV=7f~Rctn)sZu_zkDP6bvddrVB|R!7UDGHh>AG{0 zZgc9WlyuD}kaRAkr1LOS(s|iU(gBP~`%%GW%%YsE>!3emT|u})*6k;{qKd5BtO=8* z5R@}%G&7s5^NIM_Oj*Z=>08!kdc}(~40ruThvDAe{$Y4ut=xhjyLT|h!bG=l`P^>C zNLh(mb5&sYa?wQ7nAjbV8E03&&O}9!pMa;$Q;F7 zg(C2PgWxx=IlHL8Dv{WN5TOU>4+0u|YdShfJNZ;%dGa2)a^9Tsg5wL9)L2nvV?XUi z>tp{Tj8;(&ybLVmwCUKk1OB)eblgeO?F?HxL~=$1qb96qxR@Ns;gsFQ6||7EpB&JZ zz!1nFf?>pUG$>{Uw2wn%{V)_MrLMd{s7UGq(}s4w|IBzsyCX_PZ78nJ1M;Aod^8%G zIfoGWI&Jl@fpLENUyE^m^8XkIMbLOphsK#~7gBV#@r4#7EH3p^(|&j|m)P>zN2Ah` z5oQ~xF4wT)n5SzEWH-5mFl{I=vgkNjPs?9+c$|Jm!`q$#Tp)IPaLKp0*h7&_mxhc6 z%ZBVYX>l}>ezJ}|DEz843yAzNNdH=l-vHyM!;I{`TjXP3aG3x==DybF><80X;!J*~ zn(j;={iX+Qos0%ex~Ky^|9Jr$u=vB&e@z+x*{@p#@&I;1kbfW)WFNEzKX;8Y_vW8# z;aDEUn;EH;%`8ShbIM8@u9m)TxrXK}HM^v%Qn>k45LENWp7v(mr=C&sNb5Ft;{8x4 z2nmt8h0)9Bw?-TY8)i)_uf!rdo7wV09%}FS#gXhGcBh|Qwp}H9acsx|b@{QWCOUe9 zDLjX>3N*#%k#iiv?BRAd%-w3c8{zJE>`s%6Rd&ZZYSyy5F{o}qJOzY|y23k;5WUJq zCO6FX#Al_gFjk~3yul5khV2S}%ckGg`&)MWzRukWxQ(k#wo?wgyT+FpJ~4coza2R- zyxQM3P7L4TZ%0oIuk^QLCx&nIw;Zmp7Y2sByH5=Bra9bYFAVKo<}JfUuI1c&02S+q z^DI1zm9sC;VhhPm+JEgr87vE(>i9QtS3XB%%yKzMaRLJk6#B2wGykr_y!U$M!diK* zGD0$AgPtAxG$?ApK=ylN91QN6 z!`&Rh`6~8i8Rr7n4aWkw8~tLKz2P^8+|5#rk*aeDir7~%Op=<&lZ>t9*gQqwvtrL5 zvM|iXHB)~}vRiTzA8g;>a&7g?m7+a(rDy^gA&bT^-~zsoLTh$PxH^=7>aM!2?u!h= z>be!9($L=B%{Wb<-BL^RlKUNU!kJEfi_apLLqCtyUV zwL4LLF!sGUfs0KzDT;NT*8i6sj18pXm;jdYH?SnKY!#035BjkVyL*moq zZ*VfL)Zy#hZM&2d!jA3L>K%U834xWAVb4uNMNsB1{a3$p5vBiu4k9f~`sd%NI~TK4 z(|L5pd3+00X)K#nH`C9>&MnP!B5{D3LVoYyx*o?0XR|bg_E5|Z%y`NBy`ZC8nonuZ zpSae|f{dYgup?72m*uno@4d_mhOI9YtfnxXlmFwK|8Fe$KNkfo(Bg=~zs;#H%rxb` zl)73WvDVLSb|jY9>}O&u3-G|U&mx6^TuRY5pNZQ;erT1Zfv)(oMH6llbMU#F2u8;Q zYPosik&Lnozd6{^iD6ENFgtu|br`G*KTv9h8I+Nqo|cuQFMJsqSmQ!ww|XMWc>fr9*SP(F0 zs5*c*IEr`dt?X z?bf__Z~wdfkQGKCg%##27moLy|C`{wTl0>z?ao~U-h07sevtNEzxadn!r#Oo-I#Y| zu?OkmMIEFMwJV5jj_XVd<7MW)yo+rD)whLllJuf-kV^GtI=$5BGd1^D+R^Vtb9*_t z;XU0H_&oHRygjGmE?Lx(`A&P+x{ZuNPgTqB$K|Ja*A`=3E-gBhhkj_%uL^nRwsb5l zjVpI0Wq)08{DiVefbdfFsrv%L{B_^{8y1P~rS7|YQE8vz0k^M>yiD-_ zZ&@43hv&C0g#2=i(md8iZdb^nSR46@3t%YxVISJoM(mBvZRQ_HoPNLO|9Ok2t?pso zn0~&Z;QU;{${tpF#A`g7nVqUkL(5M6*IpaR>Hb^C*!zDw82jFwz>C4yuUu5de$&!; zoXuOs2DJnHL~4h-uBb;v@00t?kJyd+SS~Rf{Yv2fVed=8a^n>a7MO%5DlINyq*(%1 zKhET5-~5azmG2f8GLOkM&g3MXy5t?!xqPQQ$?+jsyT6l>Ydb&xJ^LIZ?kr#uuDbAK z5mtDDEr}5Fp zbBUB%9z;NI+xvcwID0NWvRZxKQoJA;qTf^QIxS z+gv%qyEqXH;d`tOyNHR|K77+84hR;0LgvL5+{kJjU`_dRi1%?OaCR}^%Qj;a=6S+z z^~j7J1B?j0#ruA!KhC_~*d#^^zud%q#ccK^90cBJ!V_dL8bqEq8=WSaK%IB$S^3|< z$rA~D{s=yk_{1HO{Yd4o$+$5=!VR7r!;kLc9mo~N&o*~_>@7-K{J?vXDx`)h6t#k(Zm4d7l$!I_2a`$)bUv^B8W z+#iY*BL%*-CbO#vNuf?wo2Q=1Y>Ion%?{jL9YT!ks%(@yRzQ3169qF)<+qebasI;R%>SmOVRf9XnE7iX zcJhB9CvKrtu+{-Y>#S`mkHi!XP39XcW4yqkCP3_DKyjSFgZq$}$i;I_%w0(t;r(F7n?qq5eNw%u=<6vt^5#ptO$`)x0NS)aj=WwK-8dz3wB$G%lgdoJp)009C zyv|}u)jNQn)@1(DV3y6`gg7_mggO3{=yJFU&`l5(>be6C=D$H_hiy#qO?oZG*fzZy zsXO@S;|0&#^a^k;K6?96WSj26>EZau^g}Fd)1Cd03fpwLAA)O>j`Ld9oQmP5Wqd>_ z>$YhJ42%y;?yJTA6LD6X^MR1QglkJV=Dg-lq%p25LKYk(DewK^)4*g_c*!Prh{UiV zNwcfSUp6FZw$D7Rp3HWcC$JPm5r17VN!i3FY`KH5;u9uquYnB55;EoZE{?xi-6wsK)w>bE-W^kwUHDK8E51JDO-gN%D4mJrhN*IE%}=oayaaQLMC z2=L^J?X@qB;}{=MRE`qCaX^G)dLlys$zky@5xjqsc9jdP3OMqIOVyJ`xtQm(JHg+; zXNWKSg+#1x7P$}79-AB{T;)Q(jJe7M5_y@-iF`b16F1LdI#YV!S}P;$IY-Sk+K?55 zvrBFRrm!cEn8KLKuCPY|cLS>t_N>4pU0%uqp2t^SxNEb$I}9fzA$}YY_IS_5_Ygiv zl_3n9oqv}r(Edg7k}R9@wm#$32k4+!2fd6~?}W_p#X2(v zeX))!y6R$G=*Zs1T(RCou@3A+te@o4MX{cth>w~Hh$EaPaeF5iKT5IQWu73`)2>)& z?lWY(Swy0oxY(X@l470ng4u&I22suq>T3||yiE?@a1R;9I?vblW)64>S2!~}8$HL6 z@fK#@qYIKnfj8y_MMlh5#E>KCDq`JuGKyFao{S>43{OT8>&25%#Fpd9C}Jz{WE8QL zcruC@bH$A!hV{Z##8yKQgN*L)pm>hDY9o2esEvGQ)J7s>)W!}7dRAG3AIXV{Y?2@7 z2ss6}?ee3KQeP%n%vId@TYn7P0HuON;g#pvBy}M9*nkfx4Ox8P0(T^_Q&C%u56C4T zPDKrUqU=L=DGWggN=Hau3eHY^K$0@8ay8X9+$l`8ElPbYiVx^(IAcEBLA5QKT|>1k zO6`pd!rQXhqm#7qbYnXZ)qUo)OL- zZ$0+8loOV04H+mG%V84SfTP90wD*C))O*rgg*(hD+~KamDOrV6;0y3un$w*5r%tx( zJp=LjUAkrgGFKNuU^>u$m`+Ox^K+sVVAIz;E+#-Dgr7}$cjQT?FBWH;_e*0A^mkF_ zLUkpc!m_Wxg?{KSB~LVepL@_)G(Sdt2A5rfg>m1PEJFBwf+{6=p4aE$H|P8g?nxZIdAx#Czu%gJS5~iEPT57Tqu{S&?VelsIR(Y4rnKMG_Er*7b-9mo|5V3 zLVerR2S7I$>S_Oln+x@I|Am_i^|gAFrky}8)ItrZ*+uspbD^Gi-bnw>|NlsTRk={# zHWYupa-rTuviDOP_A-c|=U#0t)USS6CgSsi8*qX%`saxtWEfr1ZZ4Ftxp~!)3ndQe zKu=r~;3{&VzUFnrw~4dR$R!y4+;X8FVQ)li2LpO$-ioNk>rmG^4dbw< zF2Cq^iql6jcr`S6IWo{&hWz!3{O3ogIK5C()^;h`km?`N1vbZd$-@!=VSbyORB@0o_MY!nAddLIGOjb zPvNN!AH)fto}(ymcnBhpi4ZXx;Ad*5{yk!<9>`3Lo))Z6C7>7k;*Cq#GnYz8jljC-{!=fz@{Dt0*IKhZK9Wbm!q6x{G`#~ve4rJFjXBC(| z;hlJz)v0C5jE2TW_HVKed6jx~J<~hmI~>ulnBe#mrx%XbMVelM=&1aUh5$`2IF_ah z4xcCnK19i%c?iugl7(t;STJIcaW#?D?^+FQTSh^V>ixXdKk^ZBRvP3{TEN6-5|cjRqQ$J>t^hx?oTq~8bq%RDXJ zl5T(>*kd|b5KogKLWf|e(%ud>*dgE0#1qmWjyU9T_zgw6ydn#b^j;VsJ?HbWbNQzY z9NbVy6hvRtX0*uv9`P`8`TF6e7&(u67I~4YuXaa?6O|Jq?M20W7^yCgA2QES)TI8G zt`A6dYQQlA0)~Qn8GW!NT)>gwWF4^bx;B7`#L09gPhsHT#^vd9HNPI)pk?&rN(hWT zy;X9+LLYd6{EMT=NGa@3#%4kz4hRY_dM7h)V+0SaVz$Q7AU<&V9XJX>LewTSm8WdD zXijNx&?$gKq)194*n-iMy<0q)0rjDbnBJIMqs)eXIF$bW39=_3XWq;fU80+sl%pxK z1|YAtFLOqo!mc(!p2$#Q*}zd}{*{aasWd@ z@Z9t~<_Su`B(o>;uf>iJunFdP-r;NTR^~f~;W0G_$nCE^M>o5D&b+5^w(}Ook>V7R zA2O64$Ou?n{v2HcC)sy#9z;BE)!=jok~$mhw`^bl91u_iE$~vYem;X$0`KHDHQ)di ziJb@h==ng?xRP9OG zLHODxj5$4Vz6JP1M#hkl!{nsi#i>QInBmE(?10nh;6OYj{yWzP2Ny0}ml#>#E5}7z zd3_!|#Rr09=XqkJ>!GJ{ONPhNj75vsz(w7!tplJn?w*+B)eR7loSpc+zKo`XN12O& z@i(l4d7@H>z=UYjApna!C_+&igxoeUcwBCR(4;NtVOAea{f@@;Ky9I$<_Doji*nxr zgc2rzB79f|1J)Dy%P$a4#BlKkzNRQgcdYz+99@8tR{kscP84$TQJjxaapBlf9Nbf5 z9Se1Ec7c?BTFY96^68pa+G!|lvowD1sR6U66>5^^shx%b)MUsapdGsjfFTkjR zGr^!hk;K&<^t4;45ezC>%O6-OAUNMx+Y)djmr}%O%3ntoZh81ADm9EJv$#-CKJz$v zo#WyP2N{%Xvwp!^c3bX z1b|QrE!(t^_p;b7^pm9rSR@O|>_PXyUblCMwCA17j9SZbh8bf)6-1}e2t@Bs{@D}r zOmk44HjSP^{iHOK@wiFKTOxc-xAQllL&S%ag=!!ev(FN2qCU)DJ$Q`QfEb(?K?TxE z-DCJ2d_~WPoO7Z%Jirb;l<*nUA4z~=TR=D)p#*T{2MGT(WR`-?Rz~0lw7>^Q?!fm4 z<@?VzsphW44}*GU2E@ z{IIhL%p{q3nC4z_;ZllDuqvpJ`ew#4w2NtoISp>27=+S$VE6y zxeP`CV<7Pa)H`(?jX)|g?E%+Au>qVKq>y@vz zJHDP1f8X0uR=R!z9akZ1gG_0&g4kvSfxgkN49!HZ!7*V2fFT;s0OI$VftY6}Q@?~T z=AxAahFChW0~re+6@<0u6L}wh5DEBa&Ia@fYi{pALX;8;EQ|IMHSKujy;$-nt0)dp z%2-Xz7x0!)NN8f>HQq1hf}&)`WJDN@>wl58bYZeH5_PnWfS(eFJCH7rA0Ukr`7gsz z;IQUXwSF0we1E^fKa+Bz&7!0G)9HAM5D_=m=gGUsDXirmkqL&y7PXNgle zOMn$d7{$RL!o*Vm!a=a|^Ui*~HEZE42z@=ie)(gVyc^QE)NkQWAJY6ulGd7QeOZ3O zqPDQs*W@Q!$P3!~y8J{jy5Og$1PvmcWxwe}%96JV7 z@{jq{K!J2t8KZ+#NabagQ&Xm^NS*7)IHWm4IHA-OQtSv&{v2JC|K(Rh!vjMBzKs^p z23VJEVBL)oyZmE+3mHMlhJna-U}|PHR#6r;#lhz&p2%m9%2+=G)d5o#%m$MS8U!Ao zsBrk-_TAej@dqPEo_O*@)k$Pp-Dtl3_dmzCh%MdOr~br!{>0noCi7905w8V;!pN2Vk%z$L9CRS@CG;l0CI5B# z{Fu)F>X-TA_wCG&vJeChMmdrH=2!T3Q~o1Q@$=`c{9k^R5AU~3G2Rh}Ifq1;O&nYZ z%?)f0Gs)=7WJH$%>jV9Bamh8B0s!xka!XDfRjy1xsP5x2CpMZz+s81C>Wn=nB0^FCTW@L=!QUw9PHK` zps98a+k@H8_w*~5IYhXdE&wd>-#4K7v7Z(QwFN!7Pwm5J@&wq2z>Q8M>I7vjYJnx_ z+oIcu&otQcFwpr7p21z1v>uX3wZ%|?GZnZOq7LAh?uOPdm+e6cbgV1^D^Jun@VXW7 z|Cu{u(0R}>o6P(Yl~$E{Qiu6`U>-qkD&RhEWqzE@0A~iiX8y&MqR>l`TuXwZqg0Hc z|CtZy>3Gc_sI1~wQUed(V4+90F=UOSieRCONFzoB14V$34~T)`;8!Zal;^+-f?S*} zAkW9t?W<91zHkE&)N{< znQ{VkwqPYC3|Uvj`yxvkYRTxxx^_re2l&6NCMn>7phDp~m(ZZ=Tr!v4WC0V-M!8{8 zOwSI*URbFl=#+UgiJf}W&bqAzWmj*IMbbKuhiUaNeOA2ZkPY(1m;aG3&?@@6$$E<4 z#O}@rfl;L%W3%A`Km`RXY;s493{5Lr5tOEr5 z5P`rY$Bi$`II{Rm!AXZW!}$UHA0CKvGH1c3z~>y?DNxgp+-cXK61!xCcyK9vvmKX)WqQ~-;Gyo(+11F85*desZ zdXwNw1(yiXHxd~t?ue}lXnSrQ^$beVHL)E@;ZU8rm`p9DM zf%x*X7+zq&%`FB&_Lvla?=u_0@x{U$$RZwKCL2f10eTY8isvt$bLm9eca!xF_Q1G* zKpqXH*gjtyNSMQ}V%Y>LOZ(Y~IcgKWxHwg1-|q9ER36Bk3@fv+@x zM<6BC0`1uD8-#LL@vt`F*W}c>395x3{0E>T;VzVMfGqk0UmAS3Mxo(yhijW4qL@@G zM1!ajCxcs>+2QaB*hdF&{W2X$D7vN}!{BZS0^B~y^Tb1X04kJdM`RKV7Iyy-ucNEc zKX3%HDA^;R4E_Zx_9A&!+T?m5h%hakyQ^^AsC^&{&vDj)W*#h;kYBS27jG_Tpo&T- zQ~AquG{HH?Rfqfz3}(e85g-qEp`VVX2xcxt(R$blJgW7X7;8oH*Mo!N=g%U$?n?=k~u0kwr^cs4Bhfa9Zt zLBIoR&<&t&(4d(ExlC>ljs+RnU5p^ERs%RZq%pG?8sKvi^`?DC2-rNSIC^W&))&b%r3jt=K+|~?plfdweQ5z9O zs0s?1HA2=(sQ`t-lV-GMU3dnftm&?9@HH+x{oJqh?79IQNxp9I?3w|yQ^j9Tx_lDm zQJiKRFq|5Qor9o=V8UU74B}38;^6o9!~90>bl0#C%6Gaq2B69F%4%#%;3dxl-w1#z zmQhWda~+PEspcea(JYt+VAvPS7&Jd}r7$@B0kAGb>Vf-=TO{*SP>vKZzI>!3l1NVi(r_*rzC;|1DFXy zRp~#P{1BPPsQmazzM*sGf2?RUXHk@W7RjO|u1XjTkaQpcqGA~m!DNz7Se=z+Z4*vq z6(C2_U>eJNmpyrfxvS;!Cusys>*=w01R$A^btM<&o+RG(0rdTcN6E!_Tm=B8kkQSjxMFac*xS^OpUVHjAh;1-|L~t?D4 z0%$3DmuozpGM^kcPDyNZ6;oA&3OeZbkc+EVwJwt&1SpdX--%4{r4r;fO-wMq(M8Fb zrhlQMLSlI0KMLYuUoA}%Xc1=Au$P4k1X7KrL_}ltHfl1|PIo2Y_!-i2`Euz+#oiDY zQyoOY66!9LesxzrXhQu-vG)897h0ml^&>zxrHrrJPR2FsMDMFkxyQXpQiOmD-M{U zU80DEA1DgR0S6q_hYuGge58R48m0w+7GVL{#sUEIfoJ*^m;;;x64EGRz9b5)JKqmd zQ-en-Ol+g!4?rn~B0`lFS`$Yj*c|)LRypjg1T^=uK|sR>^93}~H{y=dAwL`t5l6*i zF`3V^1}}TaOu}W5$Y0w^ntIX!MDe^8;OPvsiyN#z=0e7ureN|L%Tc#)Hn#LUKgUXpFGJRtS`;6@1z7-ACR%^ku|xS zl^lu{i9*D1uQz3Bzl(VSWznrdgbiguQd33xMChF5(5yVG2=GO@^A$O+X^k9=#3 zmAus+xO%I-w?5jYePgbGM!rE}afPGHTGk<9uSS{7HJ&orU6n;9L-dMIYyeW$7sm)W zLL4(J2rIW)9AnB*9D{k`h%w?A2xkmbh+JB`B)a*H5*a_cjrIXW)V1?nWNOS+F%MnC z6T{bNc#?A=L1?`~$bey}Bza`OJ0t4_o|z?FhCPWLGE2A?!%ODP5}Lclw}oZFpCw=g zvuc_SA$8Ww60}E7fgWUL3Gb9KP8b`r1cMSjOQbfA!wH=wAihkFh?yLm{g@odY{Z`& zkl$oM2mmsqe24}BK5H>KB6O5xBmVTjb-P@vFg-*UGSef{Fg+q>dWi4|HkfwXC2d?@ zM;Y?E!N%~q)L>EJb&->@09uGWddvvKn-zpQGs43LUXZJxU1kihVoF#sMOIW~MN?Qb zg9MNGAS;SyBJ3t!JF+5*ffeac@mZ04>9L~x9Arg|ZjcqxnT4!~bxf38mlbKM8jlI2 zs?Um7^0FG1^nI)_k41Md!mx#x6-4z!54t7NNqQ&#J@AI-UIlZC%F0etJ~3m#Pq}eS zVCJn4&CjdUqa8^2Ak}2<<}Wg?r1Gy7LRpwV12{E;QA^82f-P~m>n#39QX*9ip(@{& zWGL8zE1@4khcPTyyM{I@5X`hhMT%BHI!{l&uL?&+6=s4T)PKpd1pC)j;YeK-#-xO` z1XUR2I1vC0bfF4?+I{qOuz3QCnsB!?iNa8Yk=w&6sLv{5EAeWF0f;vUDTpBw%Kw&! zqYH&Fg^>9HpB(*|{*O>Rm>$c?AWmqB0)Ts=Q-UK65=3Jygt@;QN^Oc=!2q*GE>J~3 zJyqCYKaK1~KcSdI_EOnJPr&fN8g<0UjWl7y@Mt14Ai+uL9FB|bJ1KbTcjZ9dRcr z+A>{2N66qVy9OAPs(Nb%#jnrGpx{J|!2$*~ME4j}06|#LR+A?S@XuPxxf1}0&o++z}qsL#b= z70EbZDzrr!__Bto7m5W`XlO{ja$t#VEa_Cty}`twNJdrwrHU3o#HR7Bi@E_ovq@Js zsB6%cvF0FEjWtKv#mcz-(&z@5OTGr}D=#7z#N0$85j7WxJ~WJJ0xEO$kph4Ov4~yg z9#TY+GalujCZJ8|(8xz;L`PhMZafX9J{>bMC#WV^R1+Xls70e32FJDNFka#|Ai3Fm zLxaqDA~Dz?4UGYpM1m>zn}IgOO_nk(l!8i3>OaO{8(q^#NzdvvZmc|&`rmQn4v>zN z&L*EgWPr{ekYI5~G$&fU)^%>MZ)O({z%hDEIV_H^bqZiKQi=7gI5!IQW3BF*MO|h z)}QDwby9Vu0y8jzT&&gjOZEkaQoUk#fJvX5qKC)y0KyQye+}KJM~P9%)Wlg_u5Q6Y zaR$(Fq#L0h;%4){fdHH&_JOSKN89LYuxOmR1v*5TDH=Iw1*Sr_pQlB;ZZ@Q^dV)e4 zLLY%UFaX(_bqmp@bqfVR8|)=VmiMP-Y7s zxW9pslE$Q?C5|w3qRt2ig9RCZ%o)yUOa$=sX;ebSn$JDJA=xl_T%o`eB8mVoE;QIY zobEz*O!GBR&M%%5e&z5UU1PR!g1##A)`vI?wFvXnXVch*oW)m3oI*!1y7cTy79<_K zRHpEb5jd1Fvj%eoz8W%uFtX8hJ;yKJQkf9PZ>;*R_lU^xVFUx-N=&I)l`J z!A1TP$aawbum+I-jJpA>Mf}NBLI>)$^xgX3z<;i8Yu9yKzo_W8fJFXdOwqVMjBYFI zC8z`p8g&NNCjSWr5P;467tn2Ck_2=HG3GqomhKl%XFwCKn^!tVH!q6Om~-8{(6h*Y z=(yW#AMF4#3x>_;wphtPe^0mdg^aA(=mZ3`r`Q6xIM`jQ0zlIsBFN~%bJbgmM6U~L zu3-z*TV~{Wve<6|1Av;Y6voiCRBxq)y0m5su8<@ESEZE}T!HCzg55E*krRtz(`QqU zBhi;u9BF#$@+7chV<9{V0*6qFq7tw@R>dRjFN>@yO+Fi|axXj;5X>!BA**`d>a6O3 zRc&L2c|U>yAS%Tf2v%ugRb_^c7+f{0qPqcBwOXmSXd;|d@q-(YXl7N>A6?-Y&Lmi0 z{AE!jn-{F`$C)E;7?|^&`MY7D*S`)Z0-KqTX5s<-YXhS1D>_0~4~DKL@aCRG=l zN6#fb=y2kUV1xK3>McD3a+HENh;{yYd}|S`kjlR6D;TVRdP_#DE4K(%$g*!dlb`_D z$X9N~v()4R17$#{g|P~o?9zzpE0QSx`^t?jbwWml@y1Uo`42~$7oM9-6ponBra?CKMT>j1C z4;t}!UL=Xs*Ky`ja)|swfDaIjh498K_R?ifuG3pZ@h19p2Duc(gu@za4>FiqEY6+v zbZ|7#q)T8Ocfo_6@yXPBNDLVzP9o3PAneRfP*F%ZN~zRwDb%5E#SqlovEa@lVv$E$ zz6<000R+C7LV}T~58h>PkExgWNrF_^FmJoNZe52xcmcUU@JD4eKaj7=DN9L?n)pCB zXeUA6!D0tqM8JTdOgr_rG1;(egdR7Y0C87q5kC;V0wDKwk?5Dtz+p%WQTeZw$aoji^^!B>6&4vs=WtBhc9zT&&= z+^qw{J@hPRl3+~ImRDq(l0AL!Aeu(;fmo9TKBp=Q818tA zNFb4fP&PO0D0$>SciOhnNW(Hsa*rUM0CAH>`!ww%*aUb34%oF2eZsMxF!v+;(D_a{ z03tXD6eW=%+=<8t$Y#Khi&#_3sri;5gX1r6PyoaJb{jDG(D@Dl)4`Ge(*-aLPsyOk zAUbT(EIk0}c8Sd>J){Kk4JtCM02b$)s*e4tgHJit#Z8(ru*8@a6SW@X;BdRKi{}7% zlbB+#apX38i!s8JLD)9fa}9{#a8AJBuTM;lAm#fd4+lUlse5H3xn zMWo0<8<6HgS>Oc$!|hV+mUNEwxoV&TT#H120xYBpmK;M_mNl(FB9Ky$gr+QZ-7dN; zw&pClES6s!eyuTL-q^wkB{Nrg07VyDezB@U>`AVRX19Qn^bRr$@&{2Y{Bb3Tbeq-= z6Fe!Apd68LY!r5FjXz_$Q1bWRA z&gNqF1KzC_Z!lLG>NWUa!&q#vq#BCz2r!wz5L}=)Mmb{G79R!`x6?97$rV`Z0h%8W ze&i8DZ!A$h_8y)5Ig1K8CG%09WUk4R!(+VVDZ+ETen^4>1CDYLUAW2zKiA~ZWiFl;g(rT*=Jrta4dXj7^A7Ah*&iK8gv)*&{&*& z(JSie00>hBTF?C3cP>m~w-=7>xkwn|latobs*EqNno6a9ZyLHPx16QEGj&^Gdiwmx z^jtwHwF3X*?!T4z?884N@bB(IwLDiDEliA*#->pr`1>l9`}XDx{wlTk#*EVVJasyM z`si)hm%l<~1nwHVxA6W(_xG*awr;yEf9zQH!br8aZ*;o2ty&u^maaWpsO97dW#>_M z9X=P7E6>%uf_PMqqulzia)nC8D~Ct*WN5isp)yk}jZB+nrF`Qn^=;I{!q$XGu#ksP z(>v4|)ETw?igi6CgLR3mQqv)I%cE1(Z8POkxmGR}M{}docyVp1eBp7F-O$udXxRz| za(b>-ESJ>hQ0KYT6J4-Hdh*%DdeWh<*B*ZYX$f7h1|&47#^#Is#0%5 z-5m{Wj2EX1)l1b{VP;$H(rlr6?O1`x&(_M7t(C&aSnhmr1Y?cIne356H)l^AIdbao zY2y3GfVCH&5!>)=o$sy$^FpOqD>MOxyao)2?Ipq*nVl_^nlV(_C_R2t2Vjnqb1Rec?GcP_dvXYKg($l0pY-QX;>E(c1gs{2rP@#9&g zv?#vXt^4qj>(+`h1%vY!mxMF<$l%)>$*8T1rjziBR6K@yjWXp*V=8<*R;(08!Nr#d z;33rCv*>m?wg%siEeYRIGz{kUTh5Kt2qt?nfBKG_)pr4l^JZ@}qoRw)rDlLAbrSU! zPrEAWx$UE^H=r)%>Jr-qzsQ*Tfc_Y8VAL!T&UCRf<%3YYv8%zQjHzCS@sg{8LB43j z3NvNM)#h;qoUZ}i(#N<`5V7qJ^scy(2TL5QOEZD4T?C9>OYYam=qT0+ zkIEmuDm>;&f(ECj2Pk3Y-qQLr3f1XsAt!KVsdH4TScI$h8Y0~Rn1`0!KNn_w+!g`` z%!dK{=#pVmv&dB^Mk)nY)TwU+4tZ;F>!Q>zTpXRAs}|3Tgx-@}ip;82E@9no#^EAh zaE)FZ4nB+qJU$EU*55J_Q)mQx@_v^g5#@Rj)0UX6LAuL)^@W z4wXGcy{$LhtUtD@bA}`=md@rVu%z-GsLT0WAIDa8t5d~U)80c%Z_ls%p~bi7DZA3> zw@|N9hYH{cwLd_Z(TT$7)V*ej7y4}JXx4*T)(zBBY6A6OwT08Bu}z<_Mhk^;20d&J z{6PdB0h|MigHx}B@?XD-_JaVjon}o99ot6y4cf0RRLao9i1U4@+mbID>o)b>0Le9y zKs^k2w=a$c)!FIdXd!$0#Jxl$d*tpDcgd6b24GOvSl5+N@ar#WTpEF5?gIwr+Y(@n zmn#=WDq|jEN<9P^)RC6}!?)nfOj7DofWba_c6)uS7U-dzvjNqhP=ZtyFzHP5SWVPw zv#!-OUMx(HRkw~}iK|uSsJE&+P<~?r{T7yoC7~{&T%$d>upBgh^~fU1jTNQ~HQ246 zLfL_5Y1>#|N_}e)Wl4o14A5+MMqS$qZm~34hHrsl@7!FWTH6X4JW(DyhB`RFD8NU7 z{w=68J5rm-T`1xYU{o%l-aP6zuESTVUxi$nDLk>HHb>@wC+ylw>RYJSXs2AMtqHJ7 zp#rm9ZRu&2VOOe0E}5IbFsZRC)x-QhTMp8*RJedT52Fsk7vc0=P)9_LdJ=USeIEh* z;9QsmMp(Nc;72N0^vG_?S=Q|P2-FFTo2k5&2Fo02u?O`U<@pus`9z#Wy+-@!iuHUV zKE9}WXUb!jfFsv*;P@2kw4|ZmH>opTEETI0sMFhfg*xMNwYf?mSF4ObajsOi`VvT~ zJ5aA>znbeoAk3pYVo%RHzAoK^B1e4ybsPN&0U8E)!>!8>s&Al9OWyG72rbOIy?inF zHPY@R>a?V{O9P+m9zO<%_z>zh>VAQKwX9F+s?^6&x6voLIDcDR1B43^=3=RE5f-`e z#i18CI#~&J;^y>Jijw95b)|raFdurPAk6 zr%?{KsAJjzUzMQA!w0&unSWcwQWmU7y+oIj6LSZ&H zG7VE%O{31Dc$sYm>OF#bi=t<#oP%C8LS5pEsM9EiTHwdF0`=0X7s-=z2vdwyYq^Q? zEa)>+#QZsgx{WgV3T=kepGSTA?CLsei~8`F7C_M4nYr=tLPf^o3Dn)Sn7Zt5Nd51k zexu*DMcY+6@&gT{&70P=lDkbZifxC~zli#cdS9!yJrh=`524QD_raA%ndm44ZnDdI348u4%Zn&HXX)~n$F@iqlYtC?i#$ykJcc? ziNwhfIL*!Dp!ObLHAd;UW|!OqzcM#lDo!gg6~d>ShQYDsvZhJv$2Jkl>j?aJ*U2vL}-(IyaL zk&dI4GQuwg&PhM!ksT|PiiNQ)*(&q_&@)>rXYV_lzwNfer|!!ZOWBhrP91&8*1O$| zlk8k+qPitpu4EB7tAH!ZrK}8PR)(?}*zNhF$M4I+83@StoOsc(LkEwYxb4mW z_}h#&PcSYUuxW1qo53Bs`*8lyO9Ryp!jE0&nWo|g^M{TE${rFr5_Rx~WYJ_voaRa| zIu&fd@4m;2Zg0z@qjQy}s)vBwv0&#;!QBRK$_oEx5&S3=#ugC#&mfOM z{N&vyZom8RsUXiBt-g!r15F(@(=&@%4F^=IwxINj^T&e4x1Gph zW|x~s;OL29p=x#{>(BLOh^G!64I*$FWTY6#P8ZG>rmNZVc(!_J=1dvB=&VSFruxTD zoH!Y1t6rT_q^ay($BrHkvc+9S$Y8#O58Yj-Za;POWrqXc$rBVurV7MSQwzuQcO5=` z;>58N$Ae>jyqu)~!33cIX|8hO(BT&cn(zu!XmF0SBHZy4hmQxD5cMbrLF>A7Xb>pJ zPaJEQ@yE-xEF|LG*@>(O#|3!Zb@;9(yeLC4Fypl>#6*kUoH}`1L#S#53Fu()&~S|R^;~r#7`f->*VR6@Zcg?$g)B}&M&NX_u<=4y!i0l`Gd!T zV@^8xE5gD`r(Oj9GlKQ_iBm6aoPKbjSIV=MBAY*oxdPWmtx}$@%j|{l8W8uG!O&W$ zXZ%ae^n zuc_k6!*>UHi-tDcKSz&jRr`A;E?h{8Ei7E;NWM^TjspP4X zjnGeH@il-$)|b;SIeoBUg}E)TIE$!hg8q`mc?xZ?T)7SE;VAw!=xtf(R@B*;KkDEg zbN*a?=8&&e`Ft$u;3@GtpG3+amvsSsltE_m{)EI;%`;#H^+CpP7=ugUpB;F9JeyI! zfq%b?e^21wr|~aX?^={)ekAR)8(wZ;rtwUCug5?7y=d!Y`QK}@TeAD`k=&BJKYRbC zP08dd2QLl|4sIXZF}QPZ*Wm8Kp~2z7J%f9<4{qPSeaH5l+jni>y?to=@b*31_wE?n zv3H7S- z0`y)~+lyC?^rW3ny`TOj{qOuAPgCo-YgNbE$h!D?y+KbpQ`Y0kJb-~N$bkH!*1H{bH&e|qw> zPH*4P@Qd%c{NDGy|95vk)$^l2_Lg@!9i81hH*DXv@9>eMFF1Z;tniBe@tbSb#^T9T z@5-UQ`yT)0FaCLA_-${0JeJ&l%XsmvKha&j_oLtZ`h)_0#db^2$2ZtJ#){u^`#pdBCy&Hdtsc1UmRtYs8-M@I$3Nj@uf6X2 zO*{AOyW<7NPM&(vi(m4xSG?-J(Zcvt_2T`PfBdoczW)PHJo&!&m&zacudf<-O~iI` z_PDLLZJmE`oxQzlt+OF;wSPC7AU?~AOCIqBHRqr*EpcE+~GlMh^f_nkM!H?LTI z{o3A@iQ{PCP{*oRGI~dRV`46K@RrTd{gGt!g;5>J*pc}+p1J0Zcyj*TuNpXo?+z~(3aWs~k|Cb}lb@uH?hwaXIGP*aGd|+r*Y`?ws z#ky-p$LoJ?d@eQru^&G++VRj}X2o0I`{3=5{?>zgW1F2oo~Ye4|1ZgEe0KSf zSNEoS)AuA+&Hv~Fx7+{aVAt}8POgte=RbdA)7HXVpeB#{%2qRMW@^D zurE0GM$?Y&N;`YdxlQqb;}4upuLCYa@lF&?#OD9#y5vJqrR_*08nt54cr4MKT$@^z zUfq%DOm{gMyQgPaVufDm^yyXh>ew2+)>^+JYu{++Qd{+)z1`ZO-(&r<^A(8g-#nunVd&v~`)@w_f>%ED7X0|Z-~OFXeELs6^R>TGKD+NHzrSj% z@X*_T?wx=5r=RKQzG2_~!$4x(ck_YOSx73aZ2@ik7g z`+;BWod1=``osfk>{W5?Y;$%wFu|5W6`57?`t5B{6|(%6bbUxExb z8BIo4M_(GdF>)li#Q|^F+f!Sd)wt1P{#WtSw(WP>^N+=Evb*e?Vte8@Mjm{oyDz@2 zJ7@QI^>@v`$$9W+R;8A|;U^>8BKyH1Zu=jr}s`rHT31_pME?NE~zKe?0mtkEK^S+aGlv_|o;U zbR;tW?#u)K9Mjp&QT+O5XZ|Dh8oR4waQlv(yLJx^@7X(YW^}AD{))NR$O8X*C#&8b zxlg@v*(0iFWp;f!d*AxM-}1-0WWcj73Lv{q}&+KV;D zu`tg18q3D^K75a$fbO+cUHz>e#fowTmO1$`Q~LniblfCp4N0uG2_<0+vMB{XXB z`&w%+@bg+(r|-~?25=qMFVt2n9Y3S3L@IXFS_61m4|i&`7)j|32|e!UD3G#NS&p4? zaEg)@)m<9OmA%fo2LC&N>onuqN+mS7PtREc`n>H}2_3cn0z?3|F+#NB(WIpZ*KcCo55SEaVvgXo)OZPd4c@)kBW#`QLh+o5gCilE<{t+@Us$)>USD1-DJ zK>4cvsfe=COJ|eq=wAYSWu3H-q_#V+(L-G~pr1*5J7C82&Gv?fj^BbEnY$7YzWQF9 zqy$m)JGC8OE|k@Jh3<^mkw1vDGb>3|j1|ji>;C|^C_dL%FN*WcBVc!w|^{h4HBD>B17LJ&8mIpif$z%LJ2j?CHi7Oh1n{9vmMpJ-#jNx z6{MV!Um}i5AswYwMBAem#=w+%lfR=Z0P4Wt)*V|1bCuB?)bpLW?Sr}Pdm>67j5{jM zjZ3sbKnIcxbeeV3iI&=03tm>!R-s-xDu++?M_QebSYF*bZ=4$*5QxRuUA^h`wc?EQLD zr!cJ#SW+=*!!2|{r5&}(s~v1sa)fnGkSH`vw}9o zbWwYKO{$Eet_j7*&ppxIdLrgk=uyC-->c9-#I2I*o0H@py-ZK4I{H0vx;((V)s*UW z)SB@6rsi@-Z4Lk3r;rq^=d|kOb?jP0mt0)E!ciNZ1-e_X4ih9=A6}>L^cW@p z9{w;lQpq51@^Z06s@>tBn>yQ^$E*8vF{%&P!gxJ)wKBTOG>qX{8xGMV-Rjkjx-Ptc z-=tTv-Y3H6$otcxu}^L?u3ls7Yemr1Q@TSZzO4^Nbj6BQ;WjCaRWGDUBPC2;`Em*K zAD*cKgIG2sppk+$c5_lRBpEC)J2kn0Zg#~QU7p)6j9{;&?EMUF)Pc0I8Uz7fGztQ~ zG4cjawvUHCIFHsW4Z+#~0Qm8Bbb&lkP-L)L`NB(~aZ6LK*1Hzf7x0}PFNU{l71uNI z*j#A}JuRhWEZi7T1{+!`BcoVB+!qPo8|;i1$IBg_Yg~e6=}O`396}HhZ;G1OJXVo< zSVq<+TP1ZV>M&Xr5sq9&L~;z#on?w^j+^6_(L>nuuGh`lEsU9&E(J3)bM&p&qiT-I z1R9i0kT#AFD(Oz(N(X*!9E(C31V~CIuUn#1mz=2CURUp9!r!J6N6vI<6b+#oR)CV( zU1_U~F4=K*g$q`k-Qh#BaIr87yzq!|n1O$;YO5YBAyE_Z)XP-V1a`P)q|8f~IK3R3 zq#!z4MnKh8EA&)MSE3FV_Eg}Pl@3QQv0O;y!QckU+Q`go-x_(1wu=Z#N_fufw38oK zq6~6jbMAg6*@7oOG!7R_*=m(OXD1MYG=;JHgH4o5_?2`Fo#;U7Z@mFqt-&NS7(0wt zU|s9-S;xdpZM9C%T<20G6^H`I-1uMTnT9y9Lmz6~i@rr9lok;xb_xR_h+=}l%R{5V zP)q!9FrNK*aLkRCTE%iY7!r0E6YeC?dQdp+dQl}R+|dvgCV`BTJdP)5H?5!;=@rifdFwQJ^~TqxECT8kiN^@p*uW5 zW|b&0#ECevB~0Ae7$;5#1I1uRQAKieG}~&uo{6H}%FM`g(!>v`?L{jHL6m0_7eIU@ zq87#yV_0|Pi3F(>=Bk(rQErAF1(1HQM+CF5P`MC6up1waTGqHD3dqf&zucOZ&aw_ulj*13pSSPtyEipwj=ARk9HJ_-Pzhi!lm4R+7?j6f&gWgxgM;y zjDr4h94P2-E7#l6%?>tcl+TT7M|cft`XVJ^;8E)g)Yui!r~+-U2BnqW?GJ;IRm9#` z!2%T|!4ASq4|$5k#&EH=_DW)HEy0KOnfOpL!eoc)T(d{(>3QGFqmg-`U&x_CVR+!CbYtpUw8Ko*&+KDUE6LUH1V zVlZ7(V57rjtx8f{AA&>34swlSN%ZOHr9@cxV2l_UjXn_T^%Wai4SBEsqn%Lv0 z59tFD!{7@mU+swd8ghVgWGESNHhS1^w6lyY14jY9%Hc7#o;SdsMm67ls$(t! z&BN`^a3%=ZUJfSkM9*T05;oKPjpq88&n9(vjYRb|`T+8tj)rdE z-Tke%hxbZ~_!=uq`F3D{!ca_t+qhZGH_F0_H30Oz3xSemKXyO>Mas2_LS>`69FAt= zK5Tsw+`S5EGJIUp?;Q%lakF`gk&rS!{eeS=t$ z^`FgV%}^sU0lUx%s6zT+jFw%pQ9n|ODp1+7;K#FR!NLV4emoCRY?7plY)f;)vy}n` zPBpac6s%@87Gi~pO9#d%Jab(3<*XVwchp)b3qREeL>hL8M4zr&5cg+l2PC|!O@x5z z7%T(pHFW}R3o?w4!m?%*ILN>ugbKi+)oAxVhXy(JEgNjb1k2$pCykpt#x&hwPeR$D z-R_ZD97vdkK?jl})5dZxOcdZi7&#-JrNU)}36`k4_TW8-Ye~*y6F1XL<2hrY1F}LN zd|ivF%GV)NO&mszJ#qB8q>Z70_~7nWe9R&T9ZUnqwNg=U6L$=5GqVLRhWu%so`M6m zu)}l|JBK4so<=9|DXW35LJUTYV;c^0codvFPMMzGIQ7mIg1=U_=zxn<%+cJy7CpoWz=kirzsh8_x8d= z1c#WnH&(u70=qqBvpCCV&~(F&XBeGRmvqJMaVa56C-Ix9c0=k{5HOIObPsL3?mJVc zT|oN2{7?;6z;tn4T!=CVIpH;OR5u)tjoY8m>TBRPqEbyKj+o_eUUvsjHZ>&P;J@XL zSH9_L+SAK--GQD3>iTcJx_zzovH~YDt*Yzv>@~WW#tImt8wBgkdX)CalYCB+jMYQ>Qyv5f&w*brtHNiF4+;S0d5nRjgPjhkT|N6Qnuq?N{ z39R8{eSIk8bzwD(<*qk+X7hkr50^v}ShwSFM7YNF07=l>R0_l0X!2^iF(zoS8B}6LJh^&S0fjI_s=B& z;9^G|@L)iNTTscJbI=%zebBsisCvDfSE@(;K~A{dr6)RcF$1H{6)3T;rfzPD8sxVo zd<3_6Q+>A@VlW}dj6RdQbcUB;BBP6IfZSdmxjhOl0bet3uCmqG_WO0QR~J{K;>~cB z9Izk+aazGm@DQ6hbqhIa-OD*~i=(gf-ZmU-pl{U^2A)k_Bk*R`7^_Fi-I&M1JUA`#2VHx4n-k^$B#zHwFC$DKCH>JQy?j zc3oV>3bl!1b%&U{YdsP)mN)wYVen3@(#43^#;29~Bedb8*d)E`oA6Q8+n0pK$L;5(k00Z_J_#ApQt>WVtQAW(lzD}FIlMfSnOY7gE2iNo*%^D4k8?hqJO zf$6cvxEeoSC#P$9_?Y^Yg`B41J$ecqgfoET-0Lq|UqmpU1L5*kV@;Q^FVz!kb#Wy~ z^cN)2r2aCRp889lP+wB&uK>h%ShkY&TS>8dy$+)m$7i!Agj&|BD>nCeYJB~WgivK> zCA7<~1&c0UHm{U?*K%#*k46E|2Ro?+A^5ofsvA*T6}AeCiiGfG%NAgo5$>9L*exo0 zu1!9k)Jdd|9I#@pe2IJ7Qi69sM9mStI&JH%qU;Gx{P8othT9@*^+9O)u@V%Da%BoD z@XT^AjMw2hLCn@J2?Y3i2%y>+oyyDKU?ehE9(T8`#av~j7c(Dwo8ZzJy#ytrG>$DW zHHk(9Ln(p4O@{}UJXpxkgJyz&W}|tpx9yby4IUD~_*kd+5-<@W=yA8y&XpiJ;9Nlo zPql)2i7>)A3XNre4fRg*3Tu6^%*YwpI@iPa*I7v4`Yyq4iP#V{&&wd})i{+FJMBi` z6EQCl=ww<4PD)u#cg~1p)HMGDRbCWJSMvhdEeBg{ckvGvmu{Sr>-EZz2rF6wHMHAdVi0JBg`I1*F9dPf~bIxNH|5;DW3%EVk}4n^Ii? zEzc|NF_~Fr1M6T$PuNuSib)`|jL0}1fxC^0?N2+ypgo9D;$XQf?E!*fOEez=A3~=i-334J)psj+apCKSw9K~vKT5Pl9v$FgTig1 zOg@+Qbih|D*?Dqqc1poh;(NpEK&aih=jrHPj}^LE*w;e?g#!mUFfFOM$+H?ghk}Sc52#A)gmDJT&u`@=~>{eJ0eVr@-pz)9gE{VQD6DVbxF$c70*sfuy zxRAU;)cMQyT0vx85D^T%@0boW!4+_}rq=`SRIoUvdsu4?L!!YAVV!FvBJ5Y68kpu` z6}&lW=9$KITKaMj8E~YpJO^+W0nEMJG{y( z*MSZC;2sL%t6!{Ji0~_}+4M|7O`=AaY?6cUw=gkIG)1UL5aKwK!&PV~#5=f@LWpAx zH4?ScTS>bbg?NnltiBMh0|^T8ZckivHYC3W3I~OF&%!2~ktY~m76iaF3UQ2{FPZ{{ zngn%^o=t<@d+WKgovE3Ti&Tu~rfby;3R2pSg9pI4%#5X?A#b=d;gPl4t5yc`2?ABg z+(;*#gmvUAOq~iASXiGL<#TZH2|#R;&%ROKsS@EtXp+zL`CJYnvo4Z4EN<(; z#_!J#D`yEitTwf`6Zl&U+S>`*+X>p+2@37)1YTy`rH1rA8h`EW1fIdVu~n{ZdpkjU zJ3(Og9g}L?+X*Jx+X;}7;_hUsr~hAhkA-i%2Xf2X+X>`Oy7qR0_I83rY$tG*vYp_D z=dypmS>pbI%}d=s;4EtYz>Q1F@`qmqXR|DB|G<_dL1qqlGvrpO<2fC=f52JV{(-Fm zWkGg5jzkH`oHq`oP*>-+=eAiO6zkTT1qPo(o<2v<3GLn$HU?~e4h?cpTQ=Bgba(uK zHU>CL-x#p7y)mG@F#y3l*-Fsf7{K$E+o z<$jFz#sF_u6Lb`BcUXI4!1ValYz*-9^Jm!@u6QzBLD7o4zp|(`oZNedkVCd zu(pUC=Am}BGSo+$qlkPmKhZ6i4cN|Bu1>hQw8+42XDj3Uu6DNac(-b2D@$HeP*fmG za6xAC4=!8TS!A~Ia64O>W^y}Qd335!!=3Z(Y-O|er;}$Mw6m29-`8yAW+BxoTX~P8 zS4(cZ9QwYk>6~{Q6S7<{IQ<=aonr%X>^n~RUl~&S%m|O`O!a7$_5kvgjkEFpqFX8^ zo}VOXdl5;}*vpB_th{64-Hd6RS>nIK&;G{i_F?T8cwDx>A+F&Z`1WD#az10v6^?>$ zAJ#sLeg1_Xio@Ei=SRjYW+Mj9g_k=Z+G2$#+_vw4Xm7+Y`*O^#lm8%hKzPpMXSo9c zQT^p1I#00-jVGg3($jc~Wg7=b{Qd#acUC_?vS?BIPWxCF?mBHB>+&D@SQp-~RM*h) zMSB~k`5ZWeMZPwi@uHV<#tWyYcL0((AL2x{8BM{rj^v3f-M4~qcei7%*f?tk&!jT>=k9=w&|Jz4CwU2xn z^$vl-;cPQyTrlPy6w*HO$;%6D3g@+td@8h$dySm7?yU3>{TRS;_4kaF1Bqu zv=cBxw9xi(vF+nx3)3T)aPdp~xL6!y&)cDYNRNwc&TWD%8M-|g*QB*=hjs#{@gTMn zFaw9=wi7T#ynR29i)|KCt!#&kqt}I|6S&7nSCLlGr&Uiqt-$-ij;h$_ZAmXc@C;$c zdPXBoA5(f3cdA{&5nNWWWGUDo3Fbh`4ig;oAg?v|E=w)k>0aQ)o>@7E8yOHR8!A+r z(<$ZlgQmQvABLL@k^S`pLCv#7a2?y|RCU{8E?LB3A8W&h+yKFduhgnLFyiLD9apgr z4$6Qp`}Z60cA{IcbQT#V?L;?oA!qxZx(Y`KLwXcf>OORE}0SLUWkY~)azA&$ST`Z1zcQ3bXUl&`y@ngYp zGv1A*?dxKjuYra^Tx(w!+rBQ=znZB*{JK{X|NnGdYy|3!wcuh`z6`l8)@r#nu|mUj zvB(o!0M%8HaDP-YY*$5sIp4Ac+gulmK$dqe{SV^0*koJRYo7qvJ^>JmrhhwP`vkz+ zMDE;Np>j#*cw?-4o#ke=HE=EC0+p$2&J04Zj<(Op>#o|TOFBU!UT>Q@G_2q zn_lXheA>~3_MWf*qG1AypbFmEA9w5QWBlzlB zyt@t&!)O5DTJA{LZ3N@m?O0Geqg-|$xHm+*U5hd@9v?4G7npy5y~27X9-Avop{J#^ z+|>!0a~=n%WJV`ODkGycBx0Et3ICokXS_IG?x!G?&z+s6$y3k$BZI7S9z+wZd8dUc+U)ce&|Z`>wGf zuJC10`>w<4Xr(v{n{DgJ*!g0$pa(sprG3|7ec54%DaS>HE;Qh2EC4 z)HX(;KcB5lB%I%`6hVHLn_N^r*GE9 z>jB^v0x&00ZdA8A%HQeM)LPExc3egmiW6_I)Z0B%V52iTQk$sqs>|y`a2Q1ouo2h? z+P>>BC-l1VwSKEZC`pZn)H|Y!%+>#-;($gCJ0%G-H$FXbw%TRJBUzp;l+2s%i2TqI znJHtem#I%7`!TEmseuNL0(zCejjiVm@TXDjnh?Cmq8@H{hBE=S;X@=QrpY0!viwMR-L-! zM9msqH?lbw`hsGsj4s)63jUEZ(}g(o3_c_a7Yn1n3y*LI z$ZBJ&9(~S=j*O1t5)8deMGF^;)moKD52wsa*GBK9iy$e8j+W<2HCwIFQ!!nMI<(4cKZ8d_4wZr!)eb2)I}&FwAkuSP!;Zr)REn zDU!NSo|_)ai3=n)GEItJ>O3ZhnO#fUE9@fh zwi)UP(XDMWRLoA-L|p9c@?ln@XX>@h(E1vUg!qyLjqEj#EkSy(E6THBjHv z(E#8sxLsNq^`coUZ#CUrT?jCahr4&?N=6Z6_yeW#S7@nihI%Tn-W~{Y2Zjv9#LmZn zAFOSLPSL}-2s6}KiW!QOl^89-tFk+tCEA@xCGBiy>Q3>5zjX4k;uFI^wFev0_QvwjOXZ zNQ&F!RjA_)$s5gyB5p$=nIGc%Gc6_EmcZX^>e^saco*7MbV-nrowfin-i1QOxe!RC z=|mdIOtCaFjl2#_8e7}?Mjx-n-$J3p1xlA+(#&0gG0x1<>EgDgA4B0JK+{MQGWwt# z#EFxen|^Q|s#6w+5QE!8!uqY4v2;Q^(t1!+Kp@)O4;KTZ@HPL^jKZ>J6gbGhA%qIR zq19;Put4eZ)ilVlZ`oigCcwdWOPe9iqGkwAR}!#Gm=E3!D`c1}P$;t`$TACCJkSdmnwIW3A=!G#Iwe==n&;~$-N=NnmLBUx93h2m+ z5CQ^obgWyelt(_iu`??6TX7*C=4<=(p~`4($KZ~gx$T3w?Rz5sZrQHE1Xj7h0D(h4 zr~yX5c%Ofw~2b%^N_;qEGdPV zM|-&e;D7gVtjm&TAIG?(SB1zD|AebvtvWq%;vR3+qhfD~h(y7u?>5Bog$tCoj4l?j zVQh4+Qoz06g)t4yGbeJjGEy2V&unY>HI%C$TqDdtgIh*6Yyjpe%5cA?fs{LQsfIAU zm<kZaI59> zN;Hps7DF^F$jxmpfoP6iEYTw2Y-&)%suyHa^V05Bu^&G!Y`XaexbU@a^=seihm?xh z_N{)^-1x{$5vNtR58W4kUv=&b!@Fk+I-@6S?!zx8k-55zPE^Oc-LTtedY$e?L@o)J zcIdvXx5-juHW*d6;o3!s_Dz?|Q*+@*Ft=~@gQnCzFS32BU+q7?YhLnX)4>hSaJRN^ z^@C83F{Fj#QOur~ZcirnbcliET@II0%L1FwgBPULMk=-3nPO>7_j=K^ZWi`;Ap{D$ z_gF~jpGybF^>fC?PvqcDwyB-^^j_4GkJ1W_qZr zqJ68MWVUsxOhAa^h5+|y|E)nG-s1`JPH)}lY7*ixg7GD108FD0$AaOfUjzy@3F;m_ zn}&$*t*2mgre;Pi()ga6u2nB6NNGPEG5`j-{RM24z)~@(F9a$lxDVlMWn`w>t5yc~ zQ3k433s~8>uEbc+tSg;rRd}BomP{R7d;$;~7dgGU4i(u`VMJ&&i}V^Gb2*62+CXA) zpq=9E`5|1L0QtPmOIYcQoFAE@IhJ5O8OLM?}nbRiB?hl|_?U4$yCmwZvVgih5fE$kG3d-hHt@c;kX`wlosj_UlK znY}xOQ#g^aF<=f%no(EhCMr-0Mj-igNEndE9jfn!+ud2s%<6RJj}0d098J#A1`HMHF3Z!-=?%lB?B<02BtDJMWwdH6lU&0M(;q zs}7nwV{uU;DR;KupQ0KJ-?%6-*{Nb|Bw~Ciy0GvOswwi{@dNpi7o~E(I~fkU0HZk} zj>zZ`kp_OxEkygCD0sx2_^1I>9|GSd_6Hld*|{fG@%mf1PoMb{7CgW0G41Vjh)|RM zWvd45>8q;9Al%N@aQ*4{-#V%$@y*o5!k%mm&w5(&KlMj@`o}{k(UX*02iGL=)>*hH zItOvCgnno3Y^rO!!v$f}o0T*&mk6Y}ClgsG`^`!zPx3a4o37W7n<81~DiZmS$%Tjt z6cBxkbh)|cQ%H53Hi1$o(R4+hYzN57d1^#nFIRNQmMxSjRLtSlX6I01_Q9Opiq-=Z zpo6pV$sMG>okqc_M4dv~Z(a+bH`RVfgn}yjArVq&>1ED0N|QSmSGr%$#dh9es(jGi71ct{{WU3qZ;i-)wpdhI!<^$$O=}rj& zJ+VPP(9xWeQQ{-_t^4QF*>m4QrFA639iVdW3bwNE>^CbV0H8Z^NTl2c5Gy@bEhAfU zzgg*ivr=Wj0XShcNWmSRE2QpPKP0l=BqVaTy$cuYNepDYQ4Hkn zd-oQ567(p)#d1N9d(6icPh3r;$mOxclTSN$T|4x0L*~fc<2KBZL(FOF|FkaK?^L>< zd9t5*@_!)nWWQ5s5<>3EIB9FVc0S_8lVLdA$UeDnXTN(D;tktqw<4&wD1ztVaFYaN z+HLfLcxOT-29psY(qc5GZyiBgzSxpQKAU}-K3mD-f90@QB` z^>~SDRezn2O+o3xUyF9DxH7A1w~A}Cigv5G{;F2t>LLwz4QXeW+oIhnvQNH~ZtHM= zH}3`zWxaE60AaJ_Zvb02pVL7_A!;Z|z2L|8aE$-z00v}j?I7+M#6+yE9ZK%^@!N2l zpkjebdjMuoh`${GUR!t)KP9*{OiL{KrkI=@MwEJSb7%dkuCs}klrIOUYXQ`^tvP2`AN^)zQH;c8}WX-)%|v> z4?UFF$<`WDf9_S)K2z!|G#x>z!GMxEJ)n9hE8L|HBU#}@=E$X1xIz+pcx!Oy*5ICa z@R8{DcS##U5XbcqK>Akt?@^@t?)Bt-gEgIkOk$BkoTM-B8?68P4b~KQNt%6>?lZrQ z0U)SkmeJSR3N3U_&GzIXD-mIEYwd7~ zxj`Rw?!I>DeJy!S1H6R}s?Ghr@(oTT{Ph>60D-u4Ps`pNMZEg;c zNIcv^&&kCNH>Y?*$*ITaw>xxA3fPjo%We=v^6IcOznTAsQph$kh3~TAkCDcWyk*s1 zgA$nmP6M|HgCJ{~fNKt;c`$NKRTLg+{$*#50?`!aLO!_qCR~D(SUP2^oV7O2<(kRZ z{(f8HbaM9bWOLglm&|-O*sHR->>>qq1k~KD`*dNeslZwHJH%)R%%i)nuUTofVexCS zDGObcNZUC1eiv~cfavcaE_wIX;9y##c2Q?M3h$u?M&57MjG;&oKw{`|OT}CF-(|@3 zo6~n9`h+B$p~n|V$HUQSe-yR8u9IM|4u*i5q%%0*GC@Z4+Ik_tLLU^*Bz>YnKWR56 zgv<)hBx%{u2E`{Kh7;o=4IRn4oT5P7ZwkEMjcLCd(`aWKrBbk8WSFo$7#<#sv)*ZE z)`2mzeLhtdp+@M8YvfLv1N zbr3^LCTGsakMT};GUb528l&TwBq@6pPVlDd+k!Oz-Y|74+S9hp#bi1PylJ5a~UWA*$*YH4o^yZ zkmizpf~dycqn(_GXv)DHo`d|)DZ&E%=aK1urq#ifkOc*HWw3?H>>(84}8rD#oC& z3{aD1heEmvoElv80pgc3l}ZoXg~~KIf5(G*J(4b++IiVaDj^2a6oozK{GwcfKBYT#iLBUJL;7+a6AgFB z=MfaVYNV-9ho|U~Mbu#l9+_RHO)=7X$O1`GhmWK(a38QTJS8Uk=nMy@8)6@w;cJf0 z&?%wnR-!XN@}8TM1A8ZV0ocUPEnFTWRd(lkPyL>PwcHX1JiloTmbN#n)z>UDtB6!ec% zEmmVBSdGsBD}M9h?U6v{)z_5j`FjVWUhi-5n;VMV5aAGNx8hLVZTk)O-ftF7L8>&~S_WpsB&jp5q4 z7qr&SrYvRo-<_{tTf6WuGBQq4rbjdk$7@e}`q~v|1K%Lp2~nlrI*eaK#OMT^s59;J zP7kPU1yE)QO7@`EV{T8okUk^?+!F$rwmW0_x!Kd!-uRWa?2FX;(wEzBTwi-{tN*0O zGb>4v?j!vHIVmGY+)7d2u}LY=Cgn|AGSl5N`bV!hesr+8y>WC$*N$S4elkd}cMPK( zLlALi6bkuQB&NxqCE~r_VA$(j1)^6cMU$7Ig5v0v$B!Do^QC{7bJB8sI~K7P$C_jM zM!;LQE2q~cmbdnrBPusIOy?S^xbvwUaCjXTt zH1<6+vRzFVrssH?&O7g}$0plDHZh%5d+PC*$Rj6g^b&(EW3lGOvF$mA?YSC1__5t* zkZDs(BRT7PHdbUKC**iS# z(u$ySV8alCDaJGyQT_CHvLRqlz}&#>noN(vzzTH3_aR+fe*SlWVsf}EUW}}XY;u)A zZ1gr>7)60_4d1j)O+ap5@a>gvGb=8cHl0nE-jC*(X@$4bgr?ad2!$C3fp0|o!jlb0 zU>2E~{aXe;=8;nUOCuSf75L0$k!PANGb4WFhRTt0r--qf0b$Y*CAv_`j_$|4AI6av zhYr7}dXB2-G9xXo=+7B}xn39=mKA$}6FP>^@6@m4eDNwk;rf%lKPkO}?z)<08V<8O z+lV!j-?{MsZC!+6Y#6>S_+6rgZ@?H$(8gfv)a)oQlWf}-mM~l^GX0R> zbY{O*sfq>T+FtvruRy*}ZTmxzV1Z0#t5EYdwQW)Z)~#v)>=MaJ~JNY>44 zd&=scKFWUjvh1fcnjt(Ra9xXen(#f(wXBK5a5tSa9FF*(;R-U$1NmmK?Mx9yhIrcwn}`$4X~kKbU)A?Q`dF=4ZCZX;STmh zLQwu*kiUUt>#k+M3vz5bhy#A_kL+$_$fYwg15P&k+(SP&XTM3=TQc8_m<49!n{E(e z5@Ma-=LwZ_YO6|5W@Tloeff#8H9TFKTjoGJI4rbmQ`e$^@%!FXn=I30hR+V6=ak6n zjxbD5Xr_o_-LYN%jnzk^ifb>+{3#Jf*ENW5KL|}wwoRYk@8xn8wc6&-097q;Mb2=l zmPx$kMy5l=3}!?k3L@9iEX(Fc-?sb4%IU|2K4HNWB=#1@RjwXpK4HOTWS$i|mT!AP z*qRU_zyFEK6<@4ZnKTUgX}J1KX?Z-?bX|mQJdGK`Hf{cZ&+a}K^G5ud_@DEZycl`% z!8UXqgYeaLCk*&EJ*DA9nPh;JW{1Uw9r}R*yfC$se+u9p|R^C`tvVgW%SsG=LqNkqaSd3TB%Iv-m?l-ee5t@N# zd%X8-nzLjMDjc}N=xI#&m;&IFo^fpl**6?`T8P(pQ5Z7U<`>sx0~VpgTU?2a*p9+T zkC|n`m(_*CwI%%Y!fcc+=w{PlnK+%khe*0WEGV=&tINl9Rg^{FjE?{zJ_lia(~2xZ zfDe6%*hyhNQa)rHzS$1-;4^8M55sab!?3vVEV)DNMX{3t4_8RcFKANvc1ZU0jZQs;_(pEh7j=juNJ{sCtS1PYWWCkiU7Mnv-rb~)p%uFVQQ9` z)I!a6e2-ay6I;Ry`NM0`^ih+&Rdz68?uTY*+g=cvrtf?F5!ct?(;+KjR?UmZW-Rn^ zlVi9p{CNJzZ>d4lf`_$Lj`Jbh9=QTROi;8##M~cMZ9?X@5VNK`Sfcq+UiAEA`&1q$hRYmz zWcg-nLEtmf!au&o`3H8lYjb0GN>%Pv59awo-Jmy4(!LPnuXLq_G5`&4{{^{((SJq<3fXk#= zu^DOnn{U_IoyToqb{zz9V`2N6rF${rI{dNA$sc>FW7It0QjVZ_%16UaP<{NNKK*u1i$unO-;%(T#^{f)Des{m>;`LbM2U4_x^ekV^O+S zeTh-#w6LE|M7Mok^AXF@BHi%#w=`L>7`GGSlcl|kQ-Z{j*ogy|xwx0($7)W4wPzVS zBsfd{V=?*|xu)i7afE=s1DD9)*DrT2%p%pw;5o7eA_Ftw+0c2qsq^DcTCbl)mIeL?7PBD>TbY%1U?|db!6Q}{H7&UM1Fnj zxhg_qK5c#k0BpmK^oW03bzV!(&CvDvk*7K0(F1W@hgv3Lu*_jL@87N>EY-!S6<>0@ zY#(_P2C`g*!;Cog__r?=W2l;sN_8Y`JJNiCsF*Hn4_e>9!}+4qQ(_?8#&m{+8(eT0 zp~-^})jA~$9q0O|B;D2N6-7Bq5aB#zIw3!g32?5vJgm<1kb9ch!$d_O5r}#mjcoO^ zr0HWl_Dol|!x-izZZ~+eL>_GJ)G%$4_^t0Z&p(5u9Ub9z5{W5pAS^8~W0Q;JG7Bl! zsMpJK!5iH^MgG>wYQdRHcqk+q<`M$ujG$Rw#E?qj;+7&Z1Dg-3 zBS2LnRLY;oWHA%SGeo%BGjad%)aoc?o_HZ+4B_LGB0SZf7h(!63kJQ8Oc)Vq2GjVd zYHO`>fVtKhJb%yB0xJp;Dzs4{v(bd|yu>y*%}Cp^4WS{cO^5Hl8C3cRl{_PVg0N=+ zqCGcx&a=!AKC~+w_@@w0e5=|g&jRnHM?uI(Vg2{PWl#D(a|bbyFCQWS8V)ED#vP51t6juO{+$Hxyz~MVW5_;4 zrUtWFh-K%K*GlEg7TzK%+?Fvi^tby2r`!kV@~IuA+6H4>ODWFlVIrL4lq`=bA}YK}whDgedZeQR(5t2EXNVyW1v}!zEX* zdlBNl9zsA&#&hSh82WG#nn32i9{GWfauAE3Ug9n~Tfi+bIXxVm>h&J4erc#CUBo># z%MW!H#qi$wtxvB!2351CYx7=~a+>6p>JuJXx{jqy?4z>7@_l58S+1?&g7eJHdo+Bd zsDwj>P)5cWt_qLwDqvk*><^-$oN+(5vD|G#QAQ$d_5hf&tKmZ-y&qN{k@ zW}0u}KHyQ(h{DhANi3s5$`D5n9tfd(fM{||rNbdaL=j8^>#N?u^@0EqwKhF5oy(k+DN zSp1o-YO{9!3n1_jitTbR6Ony43Xo%g zx+P2#Au5^@q4+UjNfP+v+h%5B?b6eH6)BK&{4YqHw`@^k`a;5={ zCdyvYHCu~N_2cvBHCO;-<@BotfJGJ}lLpdJ7buvq`SV-Vg=6!X*QxeK*36(}DFC*> z#_&X+V0>og$uK+^gCR=9MQla<1+Dtx_>>UaeSc$cOPM;{APWKfz(W2(fH)q1VS{z1 z7pWWp3FjCB5o}~7g*s9UU(~90i{?+2yEW`f6u;8cpxnoW`wWo}&kKPM{^C{xX$j^l z=*MvwAydT(4V+{a#QY_#YQJkf>&)3fvoiGP>Yp5LW3@L2GlI>F1g73}@h=CrDg33a z>d4;wL3Bndu-ia-fb$Gj#WNT(9AS{YthKw{TM`-`>N5m(QC~p{&fBj@hk!@qYe?1B zStFEDj%f>1*Q+70+CT7F$2WfSt@qSt{l86qBn=wcATUEr^5iJD{R z8ZFN*;~0q8xUmz&2nQh#*5j|LFAl5fb3BCR!9CMaD)0K5&0k&r2#!zgOrqiGvO%H2 z+;Wh$3pY5>1^oKgv}#zZK<4W8o)E2MtqR9CQ8#77RHaNrlfQNu`G}FdY~Tgvsv}U) zr0D_TtA=n8c7I)K3466jeSy8o98?4|*9zcYgtim&*Ds@}isTm>thl`n5EC{c%R`vc zHTfHsk?+L;7F(=d?4V{16?}*x*l-s48(Y;;?M!|ZMu0CZrAkS>+W~@TJ^*kcl&&HC z#lNR@eD|YQpls5qE0Og~L;yoAAkYvf4u`*~!JIF)&JceM0|W6cm-#5=dvk+1Uud0K zZtOvydI${}Ced8?KVnAL* zFrfI`8Y}>b)GF)D2x1d25HLG-U4}#Z_GR>Tf%)C_wt@R&02KJ1jU$FEZT^mB^mbv8 z<@7c}nx+}s%p`59BVhf`W%PDoAhv|w7Q#oM2O)7Af6IA`wg~c#}b-AtB*C%joUG7)$AGI)J9>n9PM08W|dY zZ~cQ(rMCmz{#!WZND4-U4*baXwT|@rr-7Z)4}BEeQ>pCu{jFE1u&Q!z@%b>6@EZv9 z_j-tv;%7b%6b?tC*BfqAh;=IxxAuBh(+@%s%l!$x+fLwX$LPluqv0m~d563ca&^;x zEJ*+$Au-GrO((PtfNlY70r|@mCNqg3)YHhGpf+bRwo7@+x$(-ZTrJ1Q*VcjzeU^>M zsD3Iy5}i-!e~?fgY(1Q0Afp2F1OkmY6!??yXW;)hJ)fYNF=QYbI+?+-Kq*8X=}I~xA=!^4H~ilX@5u)MMWz@!~A>e zJdFYiEreJ$ku7ebw3B~dou?hmLM{dB%}_evk}~~Bou^&hf%oaTQH&Bo7vq>B{rEk@lOeC7hDHY*=6kOfOX1GUWf8Dl=a#I)l2-7tt*IBhreQiKH3R#|gx2x`4S_bDf2t`oXfeBfj_0sm~%7opq) zz?m`Z8o=&FKL6pSl&lEpcp(x_LYx6yq3|DRN(mq$J~od}cf?2#H~Ht9QUW+5D&dhd z3TP>x?%#g2DJ6jV1dJSKRA51}di=+lQnG+PVk4yit_DnY+u}don3Bnur6Y`Q+o2WX z_T=+*PHOI4#IP_;2-UzfNq2b~f zm6JauP511C8CyG>mXdDSRppFS%WL(_rZAM8L-A{5!{#x7C}QYQ#DBW=K%7CPk?A`& zE}J3fNVsYY7zfCyLJpsY3<>@-ErO#_ylhWK$eIO8Tz|0D-`+qoU9w;jXkVKNOA9y;71gR<-uHnx%ohTR39#M#!OH`QBWbvPCPAP_jMgBH&r5MUV z`Oi0{5MZYQGG{FkL|m~8TRV1=Yy&C8)a+!(fTADa!E z2SF$YWhgL&9Y+%=5d0MxDk`3h6142XvoSFAyahm6CIP?&VFDPgA^5Mhv~0WMV9?Ps zaOfQT-rqsig>%x-Q1%Kx-?5R?gOWY|YpsWsA7T2HVoQt$;W0lN+$tX)01OKcBW0fS zpl%`o-S-0i>op!0xPlEeWVgjJs+e7a|Hg`Qu~V1}%>$+n=`|#90K3KJzqu-T+ssXM zh#Fq(#SocFNN>|k{#!DBP*_Qt>P3=nfP5SOjI{1jbRaBBZV*p1$TM{;C-M+K@c3`H z-2CE9Ejp%e1A7IlB2J9_4J-|?!k~ji#3JZV4R~R{BmL(Be^#kPCb!eBp(fi`!R1>d zh#8=*43skfFi!wm(BQwDTYh+tZoIP<63~==#n!c3A?nE?TyYl%TLTONbPVwqoP)rJ zCUp4kwVqE-s^XB2i^gVzGnvCV-%Vxwq`q6-l+46S1usZqL24T^^HBM1A@0O~za`NO za=chGyd;WZ9ixq$+7)7xSiDE-M!wnAkAGKax zWC@U6i&Qp_z_34nk3%tw$?$6YMk;&>-by?d`GPEg%?BKV&_T)#k~;pl^~EAzDDo}y zRW>IgL^!sv;Piw3cKqn&M=zDjKI7oY*b5P)uMfBBOTFIozpvc!M-h>j*=h@SShfzu zy)!)skuV%Ra5aR#HBIva{wKK;jWems(vE_?lt?UEJA|8KKqvsNJT_o*@h`Tn$scHQ zc7_r@N>iU0TC@ei7znlSYH@$W|5V;cWoOcwmxqc8AV+r+Sk;ef0>H3}lrdNy`&Du;;$q zl7$u7yQAen`Q6jWhEH}(x?~lD@4C5??F{%il<6W`YXKY{SGW8ttxM7wu#xh)voT>F z;==fu3TjS|I-CA>pTMvo?WoXRP`3jgVP3eFe_NY`h0O*WU4#@+9*STu|GU~GfG&Z{ z3&gT;Um_@U`S&dX!bz;oqnBNWfc@5ZBF(sE|5@ z{5U4!oH)#Vwbzs1?e*x(z22rjIz=|dwWqg41U3Fx{Br~TNoHsF2VtCu5#ayThLkQM zYLTS{Pak8taDfZdTbQLlaz8Hktm%?M#|X{xyic(!|$UFpj1?afDXIKrqDgq;0{X_c{0NnW z{J*7foG>g8t?m^OD@x+cgJT2Tj-yS&0Rc^BYLIb=X~S&c|05$=iky=ez))eCPkJ1y zDSZvbq>O?Gm{1}u1nhOGiU_*@tHqd+bt7Q9gr`cKQ~=hrG~7Ceh^F}lVjuy3M*C6O z`y1eq={E?ersWJUL!y<1KDuKO;ujoGXcv^%U_;=mI{fWtwtWy-*}rwuSEGZeM^Mgy zda*+tJ|&XDYch!%F<`O=sL){ut>ez=Sv3iupb77Y#wdso>L&8spWUYDjanl)O?Ea- z$>NyXI{-pKU@b(tGvEv@1Lc{h6XefnlPk5%@{;)?Mo7OzNU5KYvjXfEBtjw;1)T>_ zM*G~QIYD0s6yb(mWTF*~fu(xh(vSKU0r@~(phN|6ET2DrrI*019U2*+5)G9VD9Q}@ z3zp_2K&rYK*Sg`uOXLj{m_k2J@JP2#b9uzzaolT4HRJD3EWs9;|j31i1ipA;uCLdUrm#& zs#X`~Y|JbeDh5LbX)_u@q*6`t_sHp)8C~{cs;sYF(EkKU3yupVgt$|nq39eJXm4uI z?bib8%)TDLa)VIjd&v$9OdsuRO$Mm4CE!uKJOT!~sbQ};G3+Z8YrI*W?_`G+uD)!T zENYHpKo00AO^3G&DCvmtx3n*-nB!R%Oj+`Rg#xT8Dvgk;j_geoMDVw^DVty!7_NZ{fecB5Xsqs`W79io(E>bvQWH(<1uzky z*suU`3jAB}ceXv+tP~1VZZ{BXH^Y-7W~!f51aty!EuIxHn`5XK1pO?4HZlIL_ICQL zbk@mDAKN9vRRtNP%YGe7JkfWC-%O@F9gNGQ-&OG9@u{>-b#XI>v{Bj$YZQr@xM4*a z6MuJZd(mdHm4}Nc3=EvuACRvcqR0(NFlanVdA0y~d5=_J^X6XH<^l3gn}0bcBM(Xg zP-|u!K`bJH@4fBEWG@X4^ioqzd?X!1CW|V^5}Ox1;ra^DA!y_kSprAK;qPm|gW?eL zn8K+j+Ws@~toj&v~dNCO!N>J zF7IzYdLEOh_$l{t!sS^AH48hBFvw!t68r;g1(Kv!bT1&@=dD3r*w4H}>HX&f`s74R zPo`XwnTBiFDtZ{e9&}tws&k)zu>C5zEKDuI%*e!UvAbX{*fsO*5}$<-zT_|u3WLQ! ziKSG-7P3tduz~>ulM?NH_=nmk37}ln+l8$hx=X?!%4S?7P=%<90N^8Y_=nr)ZTsUf zReDJ);d|Ruljf*9%9(kgiO8vzYr6rm!UX@m=F&Rt z{RU}`@?)kW=#N=Po{Gso(ylH!T&x3%4c{O?u(=47+=QBf^Q7^QwyR4HcOgC70Mo9WhM2kF_6Pd1UhlPV-y4;Ya`z1yGIX|AEpkK*;d#Z@YAl_%L*Tyg1kG zY+j%9`$4}_Ywff}+Q-|D+_gEoPDdcpgb|@~(bM~XK=-&P?nMF{^2N|NntwuBUHRN> zJn1Ai))1)Zh=cql~>}I zx492KIYMH@O~o&MuKlQ45{q9hBOt%_qw{#!<#qEE@ZLXGL1NJa!n5IQRMX!|FbTD8g_$(?ecehNglLzX?r{9gO2mEMeYQo_;iueb%MI{TL57Wjh|<-kY~ z+#O!?58GF+^qS){o5@@L(TXe)5Yu=Jmi~CfGrY4UIU-pEYJbwcaitejMVVbmZJP{1 zII2ka0Oc>XpRyN}rzg8e{!drjfVi|d)g7PoMCH zrJ%0j6u2**pMRzi`08YPh=2uR6fS!B7`V&RaMj`o+}Qs^`-Mnc>b@% zj<3UW_R{Ih|M!x^%bZjyJxBCKZL$AJqG!7epEx1vp&m~0R~tPDhw2#}6|JZ@qUxIY z%tp^D_xrm$D#TK6+@uTUvpOm;Tkl~hsh-_YzW$Pr=GInrwd|>xe@^FdB{8%bz2|mR z#HA?}x|8lwdRbRC!+hR~FR7YdK7Y?%Qqg-sN5!X_zGT)c^MxJd{xv0(G{t<;ie%{c zqWR^EJ1Q8l8#npWp2?gJ`l(-S?2gO@d) z6D4_jM0{ub@{Wo;E%`pVQptdT&!wiM=dJ{F;uk6PJ9OG99Rk*LJRMCcoy;dfk$Hw_^XR1%G`#iIqD5$%c_9 z;0^UACZi(PNK$xXy;Uw!P^sH=NslFI^*42nt+Y&YiN3j`!sn~s%~H9tpElt=o`j#=V((a0H{cXb}L+@Nrw-aUOKC3ogKZtAV10h4=~_jZ(Jztn?R71UiOPrfhFG`l^Ss4K~4Z!+vkY$Kup$LRf?a{PT2Y9Hu4 zGM(aulaO$fp9bmle=xC4mgJ%EeA+hz-kKkMXaz>7fzXHdf)OJ0y@^AZh3(X!266#=49e5#}FZW@uu zCSG;=`E)&TR-7}`mz)L)!DkW=E-A9Uc(C1-mlUce&jQT^eNWALx(UW?B4K|pVW|eW z5+O1Ep-w1Qum+7MC-SjGD`5(fQt?V%U{Z!Z+j-(1kCN@>A5IL5^aap3Wx+(^uU+-c zA4x>tuFoZJJAIPem(iq4n3$hSj$;EN$_|uNel!uF4X7wqU^Q={O!voSglz=I@p8qv-rZN2M7xU`O>n`N`&tz@YOt(rx@x%_mslPp5=_x;dd# z1gIt;KT{F`mAij-7ZciZmzsV2Z1dTnWQ&Z>&vn!_SA%6DI%=)EN$U=o3-a^L&nWfJ z=*kWqztDWHiLEK2UrZEIgZJAavljSOzqG=^0xv0TIcImKIK9`81>61By`a30sT7yVVq5f`3 zqSc^MP^iCG5*;<@6cy_4Cq6{F>1q&4w(uX!1ml|1`ooU80B%5m_Us=upWT8s{p04d zThyk1(wtCHn|`r$0&6T&rUn1B`RtHT$msl8NygXUWkx3dc}d3Cpfy*<|3yj0*Pu5? zBL8Jc#@C=m+|8l*S0x!=i(*m6f2kznYmu6j@qgWXhh;MUZ#oY^ibPhWob*mc@nQ%N z9~~H*HZ?o+BL3x$#3E9q(o|5m2?!V}$hxtjoajb^uaISL(#cQiQHAdN9zZkZJoL3KmK=}RWKk>_zSdf0i0HJf(Nb>|NB*EQWcy72_a-?Mv9K0KqC+u z|A$U<>;TgO#t?IXn->H2)L{G{J9f4#YH@4@cnJV63QYH@02Px32$UeUJfLQVvE!fx z>_2s;Ft)owkphd9ur`4UYy3pmdx8J_INr zs2l&+4pslUs{VEEyfmB9i)^;IR(3*_@M`!f4dAoGI z1*-KRBUp$6XOy11yk|K7*`adVY{k_?=myDvzMPc)3Bq3X(aFUh6KE@n712>VMxPFV zAnEA&{a+ozKgwo^Dw)&Sv;{D105}2^Zj;L0_Sc3ZoiCV81KsB|3*ChX6B^L? zU+qvqp=7yOt*$54>RUdwtOSS&pomd#NkCjK8j=eBjCJa_nG~c-Fr`ZsR@@9f$w`tG z>+&2G%GOoMI%W7FqfJ7y0lFIi;%FuxKrI0-l|OU6uuBzYQc0czLX$8Ps0*G2&?CXW zd%Xb8JqKth)&O<`6h0F;AtsR5__NmcMEkh_!$*C6%mAr_!{hR2ukVr40sw|N^|o;j?P^)(MeEoj?d_=E=QBn34&aL0`i5K{$DF5CD}0K;xQ-`3u*lSh{$w3WLCl z5qF2=An_4Erbhlq0&W3D72+ZkfS#8PVqdg=SYGHR_q#7%KdAZ_y=48YXhZ$_()INi z=!h>{KNxM$FE3v|lzjUY>*qzlF&U1@R@vD)^~&`lm_Z3=*vFxi@DZ1n9)(_UqIy+h<j} zEsAsH7-t`8uN~@*hLly^I?$sZYwu{Cy^T+HLgY`j4&zrUNe~EYoM|5*ETr)Mtmha# zt-CciadNV8<~|QJ(cl{J^FeqY9TnhR&FwPnK?lMObaJ|Z**&di-sgdoCNO^3#TTDI zcG*tQLssj>8ymN%e|0g)QxToMk1v1?hN>>*46kLoR?JOPjEJLIQe^A9B_hC>&i_3jZGg C|M0>9 diff --git a/lib/virtual_adapter.wasm b/lib/virtual_adapter.wasm index ddeea2cfa1be6b38c8b6b75e483f85f0a7de7c64..467f8c1f6cb6f1804084cd2b5e1bbae951ea9006 100755 GIT binary patch literal 228284 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�{mBgNkta2Fa#!X%3~Du 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 literal 231165 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

wEQqw#}mo99*G!tvJ{-0{He#^h- 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 &'static Vec<(&'static str, FuncParams, FuncResults)> WASI_CLOCK_FNS.get_or_init(|| { Vec::from([ ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#now", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#now", vec![], vec![ValType::I64], ), ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#resolution", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#resolution", vec![], vec![ValType::I64], ), ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#subscribe", - vec![ValType::I64, ValType::I32], + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#subscribe-instant", + vec![ValType::I64], vec![ValType::I32], ), ( - "wasi:clocks/wall-clock@0.2.0-rc-2023-10-18#now", - vec![], + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#subscribe-duration", + vec![ValType::I64], vec![ValType::I32], ), ( - "wasi:clocks/wall-clock@0.2.0-rc-2023-10-18#resolution", + "wasi:clocks/wall-clock@0.2.0-rc-2023-11-10#now", vec![], vec![ValType::I32], ), ( - "wasi:clocks/wall-clock@0.2.0-rc-2023-10-18#subscribe", - vec![ValType::I64, ValType::I32], - vec![ValType::I32], - ), - ( - "wasi:clocks/timezone@0.2.0-rc-2023-10-18#display", - vec![ValType::I64, ValType::I32], - vec![ValType::I32], - ), - ( - "cabi_post_wasi:clocks/timezone@0.2.0-rc-2023-10-18#display", - vec![ValType::I32], + "wasi:clocks/wall-clock@0.2.0-rc-2023-11-10#resolution", vec![], - ), - ( - "wasi:clocks/timezone@0.2.0-rc-2023-10-18#utc-offset", - vec![ValType::I64, ValType::I32], vec![ValType::I32], ), ]) diff --git a/src/virt_deny/exit.rs b/src/virt_deny/exit.rs index 69d4d2a..a79c6f5 100644 --- a/src/virt_deny/exit.rs +++ b/src/virt_deny/exit.rs @@ -12,7 +12,7 @@ static WASI_EXIT_FNS: OnceLock> = OnceLock: fn get_wasi_exit_fns() -> &'static Vec<(&'static str, FuncParams, FuncResults)> { WASI_EXIT_FNS.get_or_init(|| { Vec::from([( - "wasi:cli/exit@0.2.0-rc-2023-10-18#exit", + "wasi:cli/exit@0.2.0-rc-2023-12-05#exit", vec![ValType::I32], vec![], )]) diff --git a/src/virt_deny/random.rs b/src/virt_deny/random.rs index cf5300a..c4bdcf8 100644 --- a/src/virt_deny/random.rs +++ b/src/virt_deny/random.rs @@ -13,37 +13,37 @@ fn get_wasi_random_fns() -> &'static Vec<(&'static str, FuncParams, FuncResults) WASI_RANDOM_FNS.get_or_init(|| { Vec::from([ ( - "wasi:random/random@0.2.0-rc-2023-10-18#get-random-bytes", + "wasi:random/random@0.2.0-rc-2023-11-10#get-random-bytes", vec![ValType::I64], vec![ValType::I32], ), ( - "cabi_post_wasi:random/random@0.2.0-rc-2023-10-18#get-random-bytes", + "cabi_post_wasi:random/random@0.2.0-rc-2023-11-10#get-random-bytes", vec![ValType::I32], vec![], ), ( - "wasi:random/random@0.2.0-rc-2023-10-18#get-random-u64", + "wasi:random/random@0.2.0-rc-2023-11-10#get-random-u64", vec![], vec![ValType::I64], ), ( - "wasi:random/insecure@0.2.0-rc-2023-10-18#get-insecure-random-bytes", + "wasi:random/insecure@0.2.0-rc-2023-11-10#get-insecure-random-bytes", vec![ValType::I64], vec![ValType::I32], ), ( - "cabi_post_wasi:random/insecure@0.2.0-rc-2023-10-18#get-insecure-random-bytes", + "cabi_post_wasi:random/insecure@0.2.0-rc-2023-11-10#get-insecure-random-bytes", vec![ValType::I32], vec![], ), ( - "wasi:random/insecure@0.2.0-rc-2023-10-18#get-insecure-random-u64", + "wasi:random/insecure@0.2.0-rc-2023-11-10#get-insecure-random-u64", vec![], vec![ValType::I64], ), ( - "wasi:random/insecure-seed@0.2.0-rc-2023-10-18#insecure-seed", + "wasi:random/insecure-seed@0.2.0-rc-2023-11-10#insecure-seed", vec![], vec![ValType::I32], ), diff --git a/src/virt_env.rs b/src/virt_env.rs index 8d02f2d..491b784 100644 --- a/src/virt_env.rs +++ b/src/virt_env.rs @@ -222,7 +222,7 @@ pub(crate) fn stub_env_virt(module: &mut Module) -> Result<()> { module.replace_imported_func( module .imports - .get_func("wasi:cli/environment@0.2.0-rc-2023-10-18", fn_name)?, + .get_func("wasi:cli/environment@0.2.0-rc-2023-12-05", fn_name)?, |(body, _)| { body.unreachable(); }, @@ -240,7 +240,7 @@ pub(crate) fn strip_env_virt(module: &mut Module) -> Result<()> { for fn_name in WASI_ENV_FNS { if let Ok(fid) = module.exports.get_func(format!( - "wasi:cli/environment@0.2.0-rc-2023-10-18#{fn_name}" + "wasi:cli/environment@0.2.0-rc-2023-12-05#{fn_name}" )) { module.replace_exported_func(fid, |(body, _)| { body.unreachable(); diff --git a/src/virt_io/clocks.rs b/src/virt_io/clocks.rs index b074aed..3a6b0d6 100644 --- a/src/virt_io/clocks.rs +++ b/src/virt_io/clocks.rs @@ -4,20 +4,25 @@ use walrus::Module; use super::StubRequirement; /// Imports exposed by WASI for clocks functionality which are allowed to be -const WASI_CLOCKS_IMPORTS: [(&str, &str, &StubRequirement); 3] = [ +const WASI_CLOCKS_IMPORTS: [(&str, &str, &StubRequirement); 4] = [ ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10", "now", &StubRequirement::Required, ), ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10", "resolution", &StubRequirement::Required, ), ( - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18", - "subscribe", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10", + "subscribe-instant", + &StubRequirement::Required, + ), + ( + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10", + "subscribe-duration", &StubRequirement::Required, ), ]; @@ -50,10 +55,11 @@ pub(crate) fn stub_clocks_virt(module: &mut Module) -> Result<()> { } /// Exported functions related to WASI clocks -const WASI_CLOCK_EXPORTS: [&str; 3] = [ - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#now", - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#resolution", - "wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18#subscribe", +const WASI_CLOCK_EXPORTS: [&str; 4] = [ + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#now", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#resolution", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#subscribe-instant", + "wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10#subscribe-duration", ]; /// Strip exported WASI functions that implement clock access diff --git a/src/virt_io/filesystem.rs b/src/virt_io/filesystem.rs index ef6a32b..c1b8d37 100644 --- a/src/virt_io/filesystem.rs +++ b/src/virt_io/filesystem.rs @@ -9,197 +9,182 @@ use super::StubRequirement; /// whether the FS is used or not (`fs_used` in `stub_fs_virt`) const WASI_FS_IMPORTS: &[(&str, &str, &StubRequirement)] = &[ ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", - "[method]descriptor.access-at", - &StubRequirement::Optional, - ), - ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.advise", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.append-via-stream", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", - "[method]descriptor.change-directory-permissions-at", - &StubRequirement::Optional, - ), - ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", - "[method]descriptor.change-file-permissions-at", - &StubRequirement::Optional, - ), - ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.create-directory-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.get-flags", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.link-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.lock-exclusive", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.lock-shared", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.metadata-hash", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.metadata-hash-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.read-directory", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.readlink-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.remove-directory-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.rename-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.set-size", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.set-times", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.set-times-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.symlink-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.sync", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.sync-data", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.try-lock-exclusive", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.try-lock-shared", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.unlink-file-at", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.unlock", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.write", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.write-via-stream", &StubRequirement::Optional, ), ( - "wasi:filesystem/preopens@0.2.0-rc-2023-10-18", + "wasi:filesystem/preopens@0.2.0-rc-2023-11-10", "get-directories", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[resource-drop]descriptor", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[resource-drop]directory-entry-stream", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.get-type", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.is-same-object", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.open-at", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.read", &StubRequirement::Optional, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]directory-entry-stream.read-directory-entry", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.read-via-stream", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.stat", &StubRequirement::DependsOnFsUsage, ), ( - "wasi:filesystem/types@0.2.0-rc-2023-10-18", + "wasi:filesystem/types@0.2.0-rc-2023-11-10", "[method]descriptor.stat-at", &StubRequirement::DependsOnFsUsage, ), @@ -247,45 +232,42 @@ pub(crate) fn stub_fs_virt(module: &mut Module, uses_fs: bool) -> Result<()> { } const WASI_FILESYSTEM_EXPORTS: &[&str] = &[ - "wasi:filesystem/preopens@0.2.0-rc-2023-10-18#get-directories", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.read-via-stream", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.write-via-stream", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.append-via-stream", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.advise", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.sync-data", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.get-flags", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.get-type", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.set-size", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.set-times", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.read", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.write", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.read-directory", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.sync", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.create-directory-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.stat", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.stat-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.set-times-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.link-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.open-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.readlink-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.remove-directory-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.rename-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.symlink-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.access-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.unlink-file-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.change-file-permissions-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.change-directory-permissions-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.lock-shared", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.lock-exclusive", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.try-lock-shared", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.try-lock-exclusive", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.unlock", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.metadata-hash", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.metadata-hash-at", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]descriptor.is-same-object", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[dtor]descriptor", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[method]directory-entry-stream.read-directory-entry", - "wasi:filesystem/types@0.2.0-rc-2023-10-18#[dtor]directory-entry-stream", + "wasi:filesystem/preopens@0.2.0-rc-2023-11-10#get-directories", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.read-via-stream", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.write-via-stream", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.append-via-stream", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.advise", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.sync-data", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.get-flags", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.get-type", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.set-size", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.set-times", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.read", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.write", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.read-directory", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.sync", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.create-directory-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.stat", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.stat-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.set-times-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.link-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.open-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.readlink-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.remove-directory-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.rename-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.symlink-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.unlink-file-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.lock-shared", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.lock-exclusive", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.try-lock-shared", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.try-lock-exclusive", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.unlock", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.metadata-hash", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.metadata-hash-at", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]descriptor.is-same-object", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[dtor]descriptor", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[method]directory-entry-stream.read-directory-entry", + "wasi:filesystem/types@0.2.0-rc-2023-11-10#[dtor]directory-entry-stream", ]; /// Strip exported WASI functions that implement filesystem access diff --git a/src/virt_io/io.rs b/src/virt_io/io.rs index 3839802..09cb582 100644 --- a/src/virt_io/io.rs +++ b/src/virt_io/io.rs @@ -8,112 +8,107 @@ use super::StubRequirement; /// Some imports are required, and others are optional. const WASI_IO_IMPORTS: &[(&str, &str, &StubRequirement)] = &[ ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.blocking-flush", &StubRequirement::Optional, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]input-stream.blocking-read", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]input-stream.blocking-skip", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.blocking-splice", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.blocking-write-and-flush", &StubRequirement::Optional, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.check-write", &StubRequirement::Optional, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[resource-drop]input-stream", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[resource-drop]output-stream", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.flush", &StubRequirement::Optional, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", - "[method]output-stream.forward", - &StubRequirement::Required, - ), - ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]input-stream.read", &StubRequirement::Optional, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]input-stream.skip", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.splice", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]input-stream.subscribe", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.subscribe", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.write", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.write-zeroes", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/streams@0.2.0-rc-2023-11-10", "[method]output-stream.blocking-write-zeroes-and-flush", &StubRequirement::Required, ), ( - "wasi:io/streams@0.2.0-rc-2023-10-18", + "wasi:io/error@0.2.0-rc-2023-11-10", "[resource-drop]error", &StubRequirement::Required, ), ( - "wasi:io/poll@0.2.0-rc-2023-10-18", + "wasi:io/poll@0.2.0-rc-2023-11-10", "[resource-drop]pollable", &StubRequirement::Required, ), ( - "wasi:io/poll@0.2.0-rc-2023-10-18", + "wasi:io/poll@0.2.0-rc-2023-11-10", "poll-list", &StubRequirement::Required, ), ( - "wasi:io/poll@0.2.0-rc-2023-10-18", + "wasi:io/poll@0.2.0-rc-2023-11-10", "poll-one", &StubRequirement::Optional, ), @@ -158,29 +153,28 @@ pub(crate) fn stub_io_virt(module: &mut Module) -> Result<()> { /// Exported functions related to IO const WASI_IO_EXPORTS: &[&str] = &[ - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.blocking-flush", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]input-stream.blocking-read", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]input-stream.blocking-skip", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.blocking-splice", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.blocking-write-and-flush", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.check-write", - "wasi:io/streams@0.2.0-rc-2023-10-18#[dtor]input-stream", - "wasi:io/streams@0.2.0-rc-2023-10-18#[dtor]output-stream", - "wasi:io/streams@0.2.0-rc-2023-10-18#[dtor]error", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]error.to-debug-string", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.flush", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.forward", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]input-stream.read", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]input-stream.skip", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.splice", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]input-stream.subscribe", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.subscribe", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.write", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.write-zeroes", - "wasi:io/streams@0.2.0-rc-2023-10-18#[method]output-stream.blocking-write-zeroes-and-flush", - "wasi:io/poll@0.2.0-rc-2023-10-18#[dtor]pollable", - "wasi:io/poll@0.2.0-rc-2023-10-18#poll-list", - "wasi:io/poll@0.2.0-rc-2023-10-18#poll-one", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.blocking-flush", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]input-stream.blocking-read", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]input-stream.blocking-skip", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.blocking-splice", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.blocking-write-and-flush", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.check-write", + "wasi:io/streams@0.2.0-rc-2023-11-10#[dtor]input-stream", + "wasi:io/streams@0.2.0-rc-2023-11-10#[dtor]output-stream", + "wasi:io/error@0.2.0-rc-2023-11-10#[dtor]error", + "wasi:io/error@0.2.0-rc-2023-11-10#[method]error.to-debug-string", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.flush", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]input-stream.read", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]input-stream.skip", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.splice", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]input-stream.subscribe", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.subscribe", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.write", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.write-zeroes", + "wasi:io/streams@0.2.0-rc-2023-11-10#[method]output-stream.blocking-write-zeroes-and-flush", + "wasi:io/poll@0.2.0-rc-2023-11-10#[dtor]pollable", + "wasi:io/poll@0.2.0-rc-2023-11-10#poll-list", + "wasi:io/poll@0.2.0-rc-2023-11-10#poll-one", ]; /// Strip exported WASI functions that implement IO (streams, polling) access diff --git a/src/virt_io/stdio.rs b/src/virt_io/stdio.rs index 2864e6c..4a9bfc7 100644 --- a/src/virt_io/stdio.rs +++ b/src/virt_io/stdio.rs @@ -6,42 +6,42 @@ use super::StubRequirement; /// Imports exposed by WASI for STDIO functionality which are allowed to be missing const WASI_STDIO_IMPORTS: &[(&str, &str, &StubRequirement)] = &[ ( - "wasi:cli/stdin@0.2.0-rc-2023-10-18", + "wasi:cli/stdin@0.2.0-rc-2023-12-05", "get-stdin", &StubRequirement::Optional, ), ( - "wasi:cli/stdout@0.2.0-rc-2023-10-18", + "wasi:cli/stdout@0.2.0-rc-2023-12-05", "get-stdout", &StubRequirement::Optional, ), ( - "wasi:cli/stderr@0.2.0-rc-2023-10-18", + "wasi:cli/stderr@0.2.0-rc-2023-12-05", "get-stderr", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18", + "wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05", "get-terminal-stdin", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18", + "wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05", "get-terminal-stdout", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18", + "wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05", "get-terminal-stderr", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-input@0.2.0-rc-2023-10-18", + "wasi:cli/terminal-input@0.2.0-rc-2023-12-05", "drop-terminal-input", &StubRequirement::Optional, ), ( - "wasi:cli/terminal-output@0.2.0-rc-2023-10-18", + "wasi:cli/terminal-output@0.2.0-rc-2023-12-05", "drop-terminal-output", &StubRequirement::Optional, ), @@ -72,14 +72,14 @@ pub(crate) fn stub_stdio_virt(module: &mut Module) -> Result<()> { /// Exported functions related to STDIO const WASI_STDIO_EXPORTS: [&str; 8] = [ - "wasi:cli/stdin@0.2.0-rc-2023-10-18#get-stdin", - "wasi:cli/stdout@0.2.0-rc-2023-10-18#get-stdout", - "wasi:cli/stderr@0.2.0-rc-2023-10-18#get-stderr", - "wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18#get-terminal-stdin", - "wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18#get-terminal-stdout", - "wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18#get-terminal-stderr", - "wasi:cli/terminal-input@0.2.0-rc-2023-10-18#[dtor]terminal-input", - "wasi:cli/terminal-output@0.2.0-rc-2023-10-18#[dtor]terminal-output", + "wasi:cli/stdin@0.2.0-rc-2023-12-05#get-stdin", + "wasi:cli/stdout@0.2.0-rc-2023-12-05#get-stdout", + "wasi:cli/stderr@0.2.0-rc-2023-12-05#get-stderr", + "wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05#get-terminal-stdin", + "wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05#get-terminal-stdout", + "wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05#get-terminal-stderr", + "wasi:cli/terminal-input@0.2.0-rc-2023-12-05#[dtor]terminal-input", + "wasi:cli/terminal-output@0.2.0-rc-2023-12-05#[dtor]terminal-output", ]; /// Strip exported WASI functions that implement standard I/O (stdin, stdout, etc) access diff --git a/virtual-adapter/src/io.rs b/virtual-adapter/src/io.rs index 101ba14..f5f0e6f 100644 --- a/virtual-adapter/src/io.rs +++ b/virtual-adapter/src/io.rs @@ -9,9 +9,9 @@ use crate::exports::wasi::cli::terminal_stdout::Guest as TerminalStdout; use crate::exports::wasi::clocks::monotonic_clock::Guest as MonotonicClock; use crate::exports::wasi::filesystem::preopens::Guest as Preopens; use crate::exports::wasi::filesystem::types::{ - AccessType, Advice, Descriptor, DescriptorFlags, DescriptorStat, DescriptorType, + Advice, Descriptor, DescriptorFlags, DescriptorStat, DescriptorType, DirectoryEntry, DirectoryEntryStream, ErrorCode, Guest as FilesystemTypes, GuestDescriptor, - GuestDirectoryEntryStream, MetadataHashValue, Modes, NewTimestamp, OpenFlags, PathFlags, + GuestDirectoryEntryStream, MetadataHashValue, NewTimestamp, OpenFlags, PathFlags, }; use crate::exports::wasi::http::outgoing_handler::Guest as OutgoingHandler; use crate::exports::wasi::http::types::{ @@ -21,9 +21,10 @@ use crate::exports::wasi::http::types::{ GuestResponseOutparam, IncomingBody, IncomingRequest, IncomingResponse, Method, OutgoingBody, OutgoingRequest, OutgoingResponse, RequestOptions, ResponseOutparam, Scheme, StatusCode, }; -use crate::exports::wasi::io::poll::{Guest as Poll, Pollable}; +use crate::exports::wasi::io::poll::{Guest as Poll, Pollable, GuestPollable}; +use crate::exports::wasi::io::error::GuestError as GuestStreamsError; use crate::exports::wasi::io::streams::{ - Error as StreamsError, GuestError as GuestStreamsError, GuestInputStream, GuestOutputStream, + Error as StreamsError, GuestInputStream, GuestOutputStream, InputStream, OutputStream, StreamError, }; use crate::exports::wasi::sockets::ip_name_lookup::{ @@ -572,9 +573,14 @@ impl MonotonicClock for VirtAdapter { debug!("CALL wasi:clocks/monotonic-clock#resolution"); monotonic_clock::resolution() } - fn subscribe(when: u64, absolute: bool) -> Resource { - debug!("CALL wasi:clocks/monotonic-clock#subscribe"); - let host_pollable = monotonic_clock::subscribe(when, absolute); + fn subscribe_instant(when: u64) -> Resource { + debug!("CALL wasi:clocks/monotonic-clock#subscribe-instant"); + let host_pollable = monotonic_clock::subscribe_instant(when); + Resource::new(Pollable::Host(host_pollable)) + } + fn subscribe_duration(when: u64) -> Resource { + debug!("CALL wasi:clocks/monotonic-clock#subscribe-duration"); + let host_pollable = monotonic_clock::subscribe_duration(when); Resource::new(Pollable::Host(host_pollable)) } } @@ -610,13 +616,31 @@ impl OutgoingHandler for VirtAdapter { } } +impl GuestPollable for IoPollable { + fn ready(&self) -> bool { + debug!("CALL wasi:io/poll#pollable.ready PID={self:?}",); + match self { + IoPollable::Host(pid) => pid.ready(), + IoPollable::Null => true, + } + } + + fn block(&self) { + debug!("CALL wasi:io/poll#pollable.block PID={self:?}",); + match self { + IoPollable::Host(pid) => pid.block(), + IoPollable::Null => () + } + } +} + impl Poll for VirtAdapter { - fn poll_list(list: Vec<&Pollable>) -> Vec { + fn poll(list: Vec<&Pollable>) -> Vec { debug!("CALL wasi:io/poll#poll-list PIDS={list:?}",); let has_host_polls = list.iter().any(|&pid| matches!(pid, Pollable::Host(_))); let has_virt_polls = list.iter().any(|&pid| matches!(pid, Pollable::Null)); if has_host_polls && !has_virt_polls { - return poll::poll_list( + return poll::poll( &list .iter() .map(|&pid| { @@ -640,7 +664,7 @@ impl Poll for VirtAdapter { host_map.push(u32::try_from(index).unwrap()); } } - let mut ready = poll::poll_list(&host_polls) + let mut ready = poll::poll(&host_polls) .into_iter() .map(|index| host_map[usize::try_from(index).unwrap()]) .collect::>(); @@ -651,11 +675,6 @@ impl Poll for VirtAdapter { } ready } - - fn poll_one(pollable: &Pollable) { - debug!("CALL wasi:io/poll#poll-one PID={pollable:?}",); - Self::poll_list(vec![pollable]); - } } impl IpNameLookup for VirtAdapter { @@ -828,7 +847,6 @@ impl GuestDescriptor for Descriptor { path: String, open_flags: OpenFlags, descriptor_flags: DescriptorFlags, - modes: Modes, ) -> Result, ErrorCode> { debug!("CALL wasi:filesystem/types#descriptor.open-at FD={self:?} PATH={path}",); match self { @@ -849,7 +867,6 @@ impl GuestDescriptor for Descriptor { filesystem_types::OpenFlags::from_bits(open_flags.bits()).unwrap(), filesystem_types::DescriptorFlags::from_bits(descriptor_flags.bits()) .unwrap(), - filesystem_types::Modes::from_bits(modes.bits()).unwrap(), ) .map_err(err_map)?; Ok(Resource::new(Self::Host(Rc::new(child_fd)))) @@ -865,7 +882,6 @@ impl GuestDescriptor for Descriptor { filesystem_types::OpenFlags::from_bits(open_flags.bits()).unwrap(), filesystem_types::DescriptorFlags::from_bits(descriptor_flags.bits()) .unwrap(), - filesystem_types::Modes::from_bits(modes.bits()).unwrap(), ) .map_err(err_map)?; Ok(Resource::new(Self::Host(Rc::new(child_fd)))) @@ -905,34 +921,10 @@ impl GuestDescriptor for Descriptor { debug!("CALL wasi:filesystem/types#descriptor.symlink-at FD={self:?} PATH={path}",); Err(ErrorCode::Access) } - fn access_at(&self, _: PathFlags, path: String, _: AccessType) -> Result<(), ErrorCode> { - debug!("CALL wasi:filesystem/types#descriptor.access-at FD={self:?} PATH={path}",); - Err(ErrorCode::Access) - } fn unlink_file_at(&self, path: String) -> Result<(), ErrorCode> { debug!("CALL wasi:filesystem/types#descriptor.unlink-file-at FD={self:?} PATH={path}",); Err(ErrorCode::Access) } - fn change_file_permissions_at( - &self, - _: PathFlags, - path: String, - _: Modes, - ) -> Result<(), ErrorCode> { - debug!("CALL wasi:filesystem/types#descriptor.change-file-permissions_at FD={self:?} PATH={path}",); - Err(ErrorCode::Access) - } - fn change_directory_permissions_at( - &self, - _: PathFlags, - path: String, - _: Modes, - ) -> Result<(), ErrorCode> { - debug!( - "CALL wasi:filesystem/types#descriptor.change-directory-permissions_at FD={self:?} PATH={path}", - ); - Err(ErrorCode::Access) - } fn lock_shared(&self) -> Result<(), ErrorCode> { debug!("CALL wasi:filesystem/types#descriptor.lock-shared FD={self:?}"); Ok(()) @@ -1179,29 +1171,6 @@ impl GuestOutputStream for OutputStream { .blocking_splice(from_sid, len) .map_err(stream_err_map) } - fn forward(&self, from: Resource) -> Result { - debug!("CALL wasi:io/streams#output-stream.forward TO_SID={self:?} FROM_SID={from:?}",); - let to_sid = match self { - Self::Null => { - return Ok(0); - } - Self::Err => { - return Err(StreamError::Closed); - } - Self::Host(sid) => sid, - }; - let from_sid = match Resource::take(from) { - InputStream::Null => { - return Ok(0); - } - InputStream::Err => { - return Err(StreamError::Closed); - } - InputStream::StaticFile { .. } => todo!(), - InputStream::Host(sid) => sid, - }; - to_sid.forward(from_sid).map_err(stream_err_map) - } fn subscribe(&self) -> Resource { debug!("CALL wasi:io/streams#output-stream.subscribe SID={self:?}"); Resource::new(match self { diff --git a/virtual-adapter/src/lib.rs b/virtual-adapter/src/lib.rs index fdc5835..7f57d3d 100644 --- a/virtual-adapter/src/lib.rs +++ b/virtual-adapter/src/lib.rs @@ -12,7 +12,7 @@ wit_bindgen::generate!({ exports: { "wasi:io/poll": VirtAdapter, "wasi:io/poll/pollable": io::IoPollable, - "wasi:io/streams/error": io::IoError, + "wasi:io/error/error": io::IoError, "wasi:io/streams/input-stream": io::IoInputStream, "wasi:io/streams/output-stream": io::IoOutputStream, "wasi:filesystem/preopens": VirtAdapter, diff --git a/wit/deps/cli/command.wit b/wit/deps/cli/command.wit index d7ea2d9..cc82ae5 100644 --- a/wit/deps/cli/command.wit +++ b/wit/deps/cli/command.wit @@ -1,7 +1,7 @@ -package wasi:cli@0.2.0-rc-2023-10-18; +package wasi:cli@0.2.0-rc-2023-12-05; world command { - include reactor; + include imports; export run; } diff --git a/wit/deps/cli/reactor.wit b/wit/deps/cli/reactor.wit index 904b994..5530bba 100644 --- a/wit/deps/cli/reactor.wit +++ b/wit/deps/cli/reactor.wit @@ -1,11 +1,10 @@ -package wasi:cli@0.2.0-rc-2023-10-18; +package wasi:cli@0.2.0-rc-2023-12-05; -world reactor { - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; +world imports { + import wasi:clocks/wall-clock@0.2.0-rc-2023-11-10; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + import wasi:filesystem/types@0.2.0-rc-2023-11-10; + import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; import wasi:sockets/instance-network@0.2.0-rc-2023-10-18; import wasi:sockets/ip-name-lookup@0.2.0-rc-2023-10-18; import wasi:sockets/network@0.2.0-rc-2023-10-18; @@ -13,11 +12,11 @@ world reactor { import wasi:sockets/tcp@0.2.0-rc-2023-10-18; import wasi:sockets/udp-create-socket@0.2.0-rc-2023-10-18; import wasi:sockets/udp@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; - import wasi:random/insecure@0.2.0-rc-2023-10-18; - import wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; + import wasi:random/random@0.2.0-rc-2023-11-10; + import wasi:random/insecure@0.2.0-rc-2023-11-10; + import wasi:random/insecure-seed@0.2.0-rc-2023-11-10; + import wasi:io/poll@0.2.0-rc-2023-11-10; + import wasi:io/streams@0.2.0-rc-2023-11-10; import environment; import exit; diff --git a/wit/deps/cli/stdio.wit b/wit/deps/cli/stdio.wit index 513ca92..1b653b6 100644 --- a/wit/deps/cli/stdio.wit +++ b/wit/deps/cli/stdio.wit @@ -1,17 +1,17 @@ interface stdin { - use wasi:io/streams@0.2.0-rc-2023-10-18.{input-stream}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream}; get-stdin: func() -> input-stream; } interface stdout { - use wasi:io/streams@0.2.0-rc-2023-10-18.{output-stream}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{output-stream}; get-stdout: func() -> output-stream; } interface stderr { - use wasi:io/streams@0.2.0-rc-2023-10-18.{output-stream}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{output-stream}; get-stderr: func() -> output-stream; } diff --git a/wit/deps/clocks/monotonic-clock.wit b/wit/deps/clocks/monotonic-clock.wit index c0ecb52..99fb509 100644 --- a/wit/deps/clocks/monotonic-clock.wit +++ b/wit/deps/clocks/monotonic-clock.wit @@ -1,3 +1,4 @@ +package wasi:clocks@0.2.0-rc-2023-11-10; /// WASI Monotonic Clock is a clock API intended to let users measure elapsed /// time. /// @@ -9,24 +10,36 @@ /// /// It is intended for measuring elapsed time. interface monotonic-clock { - use wasi:io/poll@0.2.0-rc-2023-10-18.{pollable}; + use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; - /// A timestamp in nanoseconds. + /// An instant in time, in nanoseconds. An instant is relative to an + /// unspecified initial value, and can only be compared to instances from + /// the same monotonic-clock. type instant = u64; + /// A duration of time, in nanoseconds. + type duration = u64; + /// Read the current value of the clock. /// /// The clock is monotonic, therefore calling this function repeatedly will /// produce a sequence of non-decreasing values. now: func() -> instant; - /// Query the resolution of the clock. - resolution: func() -> instant; + /// Query the resolution of the clock. Returns the duration of time + /// corresponding to a clock tick. + resolution: func() -> duration; - /// Create a `pollable` which will resolve once the specified time has been - /// reached. - subscribe: func( + /// Create a `pollable` which will resolve once the specified instant + /// occured. + subscribe-instant: func( when: instant, - absolute: bool ) -> pollable; -} + + /// Create a `pollable` which will resolve once the given duration has + /// elapsed, starting at the time at which this function was called. + /// occured. + subscribe-duration: func( + when: duration, + ) -> pollable; +} \ No newline at end of file diff --git a/wit/deps/clocks/timezone.wit b/wit/deps/clocks/timezone.wit deleted file mode 100644 index e717e7b..0000000 --- a/wit/deps/clocks/timezone.wit +++ /dev/null @@ -1,48 +0,0 @@ -interface timezone { - use wall-clock.{datetime}; - - /// Return information needed to display the given `datetime`. This includes - /// the UTC offset, the time zone name, and a flag indicating whether - /// daylight saving time is active. - /// - /// If the timezone cannot be determined for the given `datetime`, return a - /// `timezone-display` for `UTC` with a `utc-offset` of 0 and no daylight - /// saving time. - display: func(when: datetime) -> timezone-display; - - /// The same as `display`, but only return the UTC offset. - utc-offset: func(when: datetime) -> s32; - - /// Information useful for displaying the timezone of a specific `datetime`. - /// - /// This information may vary within a single `timezone` to reflect daylight - /// saving time adjustments. - record timezone-display { - /// The number of seconds difference between UTC time and the local - /// time of the timezone. - /// - /// The returned value will always be less than 86400 which is the - /// number of seconds in a day (24*60*60). - /// - /// In implementations that do not expose an actual time zone, this - /// should return 0. - utc-offset: s32, - - /// The abbreviated name of the timezone to display to a user. The name - /// `UTC` indicates Coordinated Universal Time. Otherwise, this should - /// reference local standards for the name of the time zone. - /// - /// In implementations that do not expose an actual time zone, this - /// should be the string `UTC`. - /// - /// In time zones that do not have an applicable name, a formatted - /// representation of the UTC offset may be returned, such as `-04:00`. - name: string, - - /// Whether daylight saving time is active. - /// - /// In implementations that do not expose an actual time zone, this - /// should return false. - in-daylight-saving-time: bool, - } -} diff --git a/wit/deps/clocks/wall-clock.wit b/wit/deps/clocks/wall-clock.wit index c395649..8abb9a0 100644 --- a/wit/deps/clocks/wall-clock.wit +++ b/wit/deps/clocks/wall-clock.wit @@ -1,3 +1,4 @@ +package wasi:clocks@0.2.0-rc-2023-11-10; /// WASI Wall Clock is a clock API intended to let users query the current /// time. The name "wall" makes an analogy to a "clock on the wall", which /// is not necessarily monotonic as it may be reset. diff --git a/wit/deps/clocks/world.wit b/wit/deps/clocks/world.wit index cdfb51d..8fa080f 100644 --- a/wit/deps/clocks/world.wit +++ b/wit/deps/clocks/world.wit @@ -1,7 +1,6 @@ -package wasi:clocks@0.2.0-rc-2023-10-18; +package wasi:clocks@0.2.0-rc-2023-11-10; world imports { import monotonic-clock; import wall-clock; - import timezone; } diff --git a/wit/deps/filesystem/preopens.wit b/wit/deps/filesystem/preopens.wit index 3f787ac..95ec678 100644 --- a/wit/deps/filesystem/preopens.wit +++ b/wit/deps/filesystem/preopens.wit @@ -1,3 +1,5 @@ +package wasi:filesystem@0.2.0-rc-2023-11-10; + interface preopens { use types.{descriptor}; diff --git a/wit/deps/filesystem/types.wit b/wit/deps/filesystem/types.wit index af36135..81aa558 100644 --- a/wit/deps/filesystem/types.wit +++ b/wit/deps/filesystem/types.wit @@ -1,3 +1,4 @@ +package wasi:filesystem@0.2.0-rc-2023-11-10; /// WASI filesystem is a filesystem API primarily intended to let users run WASI /// programs that access their files on their existing filesystems, without /// significant overhead. @@ -23,8 +24,8 @@ /// /// [WASI filesystem path resolution]: https://github.com/WebAssembly/wasi-filesystem/blob/main/path-resolution.md interface types { - use wasi:io/streams@0.2.0-rc-2023-10-18.{input-stream, output-stream, error}; - use wasi:clocks/wall-clock@0.2.0-rc-2023-10-18.{datetime}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream, error}; + use wasi:clocks/wall-clock@0.2.0-rc-2023-11-10.{datetime}; /// File size or length of a region within a file. type filesize = u64; @@ -142,29 +143,6 @@ interface types { truncate, } - /// Permissions mode used by `open-at`, `change-file-permissions-at`, and - /// similar. - flags modes { - /// True if the resource is considered readable by the containing - /// filesystem. - readable, - /// True if the resource is considered writable by the containing - /// filesystem. - writable, - /// True if the resource is considered executable by the containing - /// filesystem. This does not apply to directories. - executable, - } - - /// Access type used by `access-at`. - variant access-type { - /// Test for readability, writeability, or executability. - access(modes), - - /// Test whether the path exists. - exists, - } - /// Number of hard links to an inode. type link-count = u64; @@ -538,8 +516,6 @@ interface types { open-flags: open-flags, /// Flags to use for the resulting descriptor. %flags: descriptor-flags, - /// Permissions to use when creating a new file. - modes: modes ) -> result; /// Read the contents of a symbolic link. @@ -588,25 +564,6 @@ interface types { new-path: string, ) -> result<_, error-code>; - /// Check accessibility of a filesystem path. - /// - /// Check whether the given filesystem path names an object which is - /// readable, writable, or executable, or whether it exists. - /// - /// This does not a guarantee that subsequent accesses will succeed, as - /// filesystem permissions may be modified asynchronously by external - /// entities. - /// - /// Note: This is similar to `faccessat` with the `AT_EACCESS` flag in POSIX. - access-at: func( - /// Flags determining the method of how the path is resolved. - path-flags: path-flags, - /// The relative path to check. - path: string, - /// The type of check to perform. - %type: access-type - ) -> result<_, error-code>; - /// Unlink a filesystem object that is not a directory. /// /// Return `error-code::is-directory` if the path refers to a directory. @@ -616,40 +573,6 @@ interface types { path: string, ) -> result<_, error-code>; - /// Change the permissions of a filesystem object that is not a directory. - /// - /// Note that the ultimate meanings of these permissions is - /// filesystem-specific. - /// - /// Note: This is similar to `fchmodat` in POSIX. - change-file-permissions-at: func( - /// Flags determining the method of how the path is resolved. - path-flags: path-flags, - /// The relative path to operate on. - path: string, - /// The new permissions for the filesystem object. - modes: modes, - ) -> result<_, error-code>; - - /// Change the permissions of a directory. - /// - /// Note that the ultimate meanings of these permissions is - /// filesystem-specific. - /// - /// Unlike in POSIX, the `executable` flag is not reinterpreted as a "search" - /// flag. `read` on a directory implies readability and searchability, and - /// `execute` is not valid for directories. - /// - /// Note: This is similar to `fchmodat` in POSIX. - change-directory-permissions-at: func( - /// Flags determining the method of how the path is resolved. - path-flags: path-flags, - /// The relative path to operate on. - path: string, - /// The new permissions for the directory. - modes: modes, - ) -> result<_, error-code>; - /// Request a shared advisory lock for an open file. /// /// This requests a *shared* lock; more than one shared lock can be held for diff --git a/wit/deps/filesystem/world.wit b/wit/deps/filesystem/world.wit index 3f953f8..285e0ba 100644 --- a/wit/deps/filesystem/world.wit +++ b/wit/deps/filesystem/world.wit @@ -1,4 +1,4 @@ -package wasi:filesystem@0.2.0-rc-2023-10-18; +package wasi:filesystem@0.2.0-rc-2023-11-10; world imports { import types; diff --git a/wit/deps/http/proxy.wit b/wit/deps/http/proxy.wit index dde0659..20d4a43 100644 --- a/wit/deps/http/proxy.wit +++ b/wit/deps/http/proxy.wit @@ -6,21 +6,20 @@ package wasi:http@0.2.0-rc-2023-10-18; // outgoing HTTP requests. world proxy { // HTTP proxies have access to time and randomness. - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; + import wasi:clocks/wall-clock@0.2.0-rc-2023-11-10; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + import wasi:random/random@0.2.0-rc-2023-11-10; // Proxies have standard output and error streams which are expected to // terminate in a developer-facing console provided by the host. - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; + import wasi:cli/stdout@0.2.0-rc-2023-12-05; + import wasi:cli/stderr@0.2.0-rc-2023-12-05; // TODO: this is a temporary workaround until component tooling is able to // gracefully handle the absence of stdin. Hosts must return an eof stream // for this import, which is what wasi-libc + tooling will do automatically // when this import is properly removed. - import wasi:cli/stdin@0.2.0-rc-2023-10-18; + import wasi:cli/stdin@0.2.0-rc-2023-12-05; // This is the default handler to use when user code simply wants to make an // HTTP request (e.g., via `fetch()`). diff --git a/wit/deps/http/types.wit b/wit/deps/http/types.wit index 2cd2fe2..5f604a6 100644 --- a/wit/deps/http/types.wit +++ b/wit/deps/http/types.wit @@ -2,8 +2,8 @@ // define the HTTP resource types and operations used by the component's // imported and exported interfaces. interface types { - use wasi:io/streams@0.2.0-rc-2023-10-18.{input-stream, output-stream}; - use wasi:io/poll@0.2.0-rc-2023-10-18.{pollable}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream}; + use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; // This type corresponds to HTTP standard Methods. variant method { diff --git a/wit/deps/io/error.wit b/wit/deps/io/error.wit new file mode 100644 index 0000000..ab1ecf5 --- /dev/null +++ b/wit/deps/io/error.wit @@ -0,0 +1,34 @@ +package wasi:io@0.2.0-rc-2023-11-10; + + +interface error { + /// A resource which represents some error information. + /// + /// The only method provided by this resource is `to-debug-string`, + /// which provides some human-readable information about the error. + /// + /// In the `wasi:io` package, this resource is returned through the + /// `wasi:io/streams/stream-error` type. + /// + /// To provide more specific error information, other interfaces may + /// provide functions to further "downcast" this error into more specific + /// error information. For example, `error`s returned in streams derived + /// from filesystem types to be described using the filesystem's own + /// error-code type, using the function + /// `wasi:filesystem/types/filesystem-error-code`, which takes a parameter + /// `borrow` and returns + /// `option`. + /// + /// The set of functions which can "downcast" an `error` into a more + /// concrete type is open. + resource error { + /// Returns a string that is suitable to assist humans in debugging + /// this error. + /// + /// WARNING: The returned string should not be consumed mechanically! + /// It may change across platforms, hosts, or other implementation + /// details. Parsing this string is a major platform-compatibility + /// hazard. + to-debug-string: func() -> string; + } +} \ No newline at end of file diff --git a/wit/deps/io/poll.wit b/wit/deps/io/poll.wit index 047389d..3a57b8b 100644 --- a/wit/deps/io/poll.wit +++ b/wit/deps/io/poll.wit @@ -1,10 +1,23 @@ -package wasi:io@0.2.0-rc-2023-10-18; +package wasi:io@0.2.0-rc-2023-11-10; /// A poll API intended to let users wait for I/O events on multiple handles /// at once. interface poll { - /// A "pollable" handle. - resource pollable; + /// `pollable` represents a single I/O event which may be ready, or not. + resource pollable { + + /// Return the readiness of a pollable. This function never blocks. + /// + /// Returns `true` when the pollable is ready, and `false` otherwise. + ready: func() -> bool; + + /// `block` returns immediately if the pollable is ready, and otherwise + /// blocks until ready. + /// + /// This function is equivalent to calling `poll.poll` on a list + /// containing only this pollable. + block: func(); + } /// Poll for completion on a set of pollables. /// @@ -24,11 +37,5 @@ interface poll { /// do any I/O so it doesn't fail. If any of the I/O sources identified by /// the pollables has an error, it is indicated by marking the source as /// being reaedy for I/O. - poll-list: func(in: list>) -> list; - - /// Poll for completion on a single pollable. - /// - /// This function is similar to `poll-list`, but operates on only a single - /// pollable. When it returns, the handle is ready for I/O. - poll-one: func(in: borrow); -} + poll: func(in: list>) -> list; +} \ No newline at end of file diff --git a/wit/deps/io/streams.wit b/wit/deps/io/streams.wit index d0e8f5c..8feb033 100644 --- a/wit/deps/io/streams.wit +++ b/wit/deps/io/streams.wit @@ -1,4 +1,4 @@ -package wasi:io@0.2.0-rc-2023-10-18; +package wasi:io@0.2.0-rc-2023-11-10; /// WASI I/O is an I/O abstraction API which is currently focused on providing /// stream types. @@ -6,6 +6,7 @@ package wasi:io@0.2.0-rc-2023-10-18; /// In the future, the component model is expected to add built-in stream types; /// when it does, they are expected to subsume this API. interface streams { + use error.{error}; use poll.{pollable}; /// An error for input-stream and output-stream operations. @@ -20,26 +21,6 @@ interface streams { closed } - /// Contextual error information about the last failure that happened on - /// a read, write, or flush from an `input-stream` or `output-stream`. - /// - /// This type is returned through the `stream-error` type whenever an - /// operation on a stream directly fails or an error is discovered - /// after-the-fact, for example when a write's failure shows up through a - /// later `flush` or `check-write`. - /// - /// Interfaces such as `wasi:filesystem/types` provide functionality to - /// further "downcast" this error into interface-specific error information. - resource error { - /// Returns a string that's suitable to assist humans in debugging this - /// error. - /// - /// The returned string will change across platforms and hosts which - /// means that parsing it, for example, would be a - /// platform-compatibility hazard. - to-debug-string: func() -> string; - } - /// An input bytestream. /// /// `input-stream`s are *non-blocking* to the extent practical on underlying @@ -268,22 +249,5 @@ interface streams { /// The number of bytes to splice len: u64, ) -> result; - - /// Forward the entire contents of an input stream to an output stream. - /// - /// This function repeatedly reads from the input stream and writes - /// the data to the output stream, until the end of the input stream - /// is reached, or an error is encountered. - /// - /// Unlike other I/O functions, this function blocks until the end - /// of the input stream is seen and all the data has been written to - /// the output stream. - /// - /// This function returns the number of bytes transferred, and the status of - /// the output stream. - forward: func( - /// The stream to read from - src: input-stream - ) -> result; } } diff --git a/wit/deps/io/world.wit b/wit/deps/io/world.wit index 3627c9d..68993b3 100644 --- a/wit/deps/io/world.wit +++ b/wit/deps/io/world.wit @@ -1,6 +1,7 @@ -package wasi:io@0.2.0-rc-2023-10-18; +package wasi:io@0.2.0-rc-2023-11-10; world imports { + import error; import streams; import poll; } diff --git a/wit/deps/random/insecure-seed.wit b/wit/deps/random/insecure-seed.wit index 139aed1..f76e87d 100644 --- a/wit/deps/random/insecure-seed.wit +++ b/wit/deps/random/insecure-seed.wit @@ -1,3 +1,4 @@ +package wasi:random@0.2.0-rc-2023-11-10; /// The insecure-seed interface for seeding hash-map DoS resistance. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/insecure.wit b/wit/deps/random/insecure.wit index 2ffd223..ec7b997 100644 --- a/wit/deps/random/insecure.wit +++ b/wit/deps/random/insecure.wit @@ -1,3 +1,4 @@ +package wasi:random@0.2.0-rc-2023-11-10; /// The insecure interface for insecure pseudo-random numbers. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/random.wit b/wit/deps/random/random.wit index 2c3c6a8..7a7dfa2 100644 --- a/wit/deps/random/random.wit +++ b/wit/deps/random/random.wit @@ -1,3 +1,4 @@ +package wasi:random@0.2.0-rc-2023-11-10; /// WASI Random is a random data API. /// /// It is intended to be portable at least between Unix-family platforms and diff --git a/wit/deps/random/world.wit b/wit/deps/random/world.wit index dcbff93..49e5743 100644 --- a/wit/deps/random/world.wit +++ b/wit/deps/random/world.wit @@ -1,4 +1,4 @@ -package wasi:random@0.2.0-rc-2023-10-18; +package wasi:random@0.2.0-rc-2023-11-10; world imports { import random; diff --git a/wit/deps/sockets/ip-name-lookup.wit b/wit/deps/sockets/ip-name-lookup.wit index f2dab32..5e8bd27 100644 --- a/wit/deps/sockets/ip-name-lookup.wit +++ b/wit/deps/sockets/ip-name-lookup.wit @@ -1,6 +1,6 @@ interface ip-name-lookup { - use wasi:io/poll@0.2.0-rc-2023-10-18.{pollable}; + use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; use network.{network, error-code, ip-address, ip-address-family}; diff --git a/wit/deps/sockets/tcp.wit b/wit/deps/sockets/tcp.wit index 448f629..76caf88 100644 --- a/wit/deps/sockets/tcp.wit +++ b/wit/deps/sockets/tcp.wit @@ -1,7 +1,7 @@ interface tcp { - use wasi:io/streams@0.2.0-rc-2023-10-18.{input-stream, output-stream}; - use wasi:io/poll@0.2.0-rc-2023-10-18.{pollable}; + use wasi:io/streams@0.2.0-rc-2023-11-10.{input-stream, output-stream}; + use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; use network.{network, error-code, ip-socket-address, ip-address-family}; enum shutdown-type { diff --git a/wit/deps/sockets/udp.wit b/wit/deps/sockets/udp.wit index 91a8c6c..4c1a9f2 100644 --- a/wit/deps/sockets/udp.wit +++ b/wit/deps/sockets/udp.wit @@ -1,6 +1,6 @@ interface udp { - use wasi:io/poll@0.2.0-rc-2023-10-18.{pollable}; + use wasi:io/poll@0.2.0-rc-2023-11-10.{pollable}; use network.{network, error-code, ip-socket-address, ip-address-family}; diff --git a/wit/virt.wit b/wit/virt.wit index 62a5ac0..64cbca0 100644 --- a/wit/virt.wit +++ b/wit/virt.wit @@ -3,34 +3,36 @@ package local:virt; // in future this should be defined as a union world of the various // virtual subsystems, when union syntax lands world virtual-adapter { - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - export wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - export wasi:io/poll@0.2.0-rc-2023-10-18; - export wasi:cli/environment@0.2.0-rc-2023-10-18; - export wasi:filesystem/types@0.2.0-rc-2023-10-18; - export wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; - export wasi:cli/stdin@0.2.0-rc-2023-10-18; - export wasi:cli/stdout@0.2.0-rc-2023-10-18; - export wasi:cli/stderr@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - export wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; + import wasi:cli/environment@0.2.0-rc-2023-12-05; + import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; + import wasi:filesystem/types@0.2.0-rc-2023-11-10; + import wasi:io/error@0.2.0-rc-2023-11-10; + export wasi:io/error@0.2.0-rc-2023-11-10; + import wasi:io/streams@0.2.0-rc-2023-11-10; + export wasi:io/streams@0.2.0-rc-2023-11-10; + import wasi:io/poll@0.2.0-rc-2023-11-10; + export wasi:io/poll@0.2.0-rc-2023-11-10; + export wasi:cli/environment@0.2.0-rc-2023-12-05; + export wasi:filesystem/types@0.2.0-rc-2023-11-10; + export wasi:filesystem/preopens@0.2.0-rc-2023-11-10; + import wasi:cli/stdin@0.2.0-rc-2023-12-05; + import wasi:cli/stdout@0.2.0-rc-2023-12-05; + import wasi:cli/stderr@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + export wasi:cli/stdin@0.2.0-rc-2023-12-05; + export wasi:cli/stdout@0.2.0-rc-2023-12-05; + export wasi:cli/stderr@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-input@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-output@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + export wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; import wasi:http/types@0.2.0-rc-2023-10-18; export wasi:http/types@0.2.0-rc-2023-10-18; import wasi:http/outgoing-handler@0.2.0-rc-2023-10-18; @@ -47,10 +49,12 @@ world virtual-base { } world virtual-io { - import wasi:io/streams@0.2.0-rc-2023-10-18; - export wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - export wasi:io/poll@0.2.0-rc-2023-10-18; + import wasi:io/error@0.2.0-rc-2023-11-10; + export wasi:io/error@0.2.0-rc-2023-11-10; + import wasi:io/streams@0.2.0-rc-2023-11-10; + export wasi:io/streams@0.2.0-rc-2023-11-10; + import wasi:io/poll@0.2.0-rc-2023-11-10; + export wasi:io/poll@0.2.0-rc-2023-11-10; } // io components of subsystems @@ -66,8 +70,8 @@ world virtual-io-sockets { } world virtual-io-clocks { - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - export wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + export wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; } world virtual-io-http { @@ -78,53 +82,51 @@ world virtual-io-http { } world virtual-fs { - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; - export wasi:filesystem/types@0.2.0-rc-2023-10-18; - export wasi:filesystem/preopens@0.2.0-rc-2023-10-18; + import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; + import wasi:filesystem/types@0.2.0-rc-2023-11-10; + export wasi:filesystem/types@0.2.0-rc-2023-11-10; + export wasi:filesystem/preopens@0.2.0-rc-2023-11-10; } world virtual-stdio { - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; - export wasi:cli/stdin@0.2.0-rc-2023-10-18; - export wasi:cli/stdout@0.2.0-rc-2023-10-18; - export wasi:cli/stderr@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - export wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; + import wasi:cli/stdin@0.2.0-rc-2023-12-05; + import wasi:cli/stdout@0.2.0-rc-2023-12-05; + import wasi:cli/stderr@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; + export wasi:cli/stdin@0.2.0-rc-2023-12-05; + export wasi:cli/stdout@0.2.0-rc-2023-12-05; + export wasi:cli/stderr@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-input@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-output@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; + export wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; } // remaining subsystems world virtual-env { - import wasi:cli/environment@0.2.0-rc-2023-10-18; - export wasi:cli/environment@0.2.0-rc-2023-10-18; + import wasi:cli/environment@0.2.0-rc-2023-12-05; + export wasi:cli/environment@0.2.0-rc-2023-12-05; } world virtual-clocks { - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - export wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - export wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - export wasi:clocks/timezone@0.2.0-rc-2023-10-18; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + export wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + import wasi:clocks/wall-clock@0.2.0-rc-2023-11-10; + export wasi:clocks/wall-clock@0.2.0-rc-2023-11-10; } world virtual-random { - import wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - import wasi:random/insecure@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; - export wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - export wasi:random/insecure@0.2.0-rc-2023-10-18; - export wasi:random/random@0.2.0-rc-2023-10-18; + import wasi:random/insecure-seed@0.2.0-rc-2023-11-10; + import wasi:random/insecure@0.2.0-rc-2023-11-10; + import wasi:random/random@0.2.0-rc-2023-11-10; + export wasi:random/insecure-seed@0.2.0-rc-2023-11-10; + export wasi:random/insecure@0.2.0-rc-2023-11-10; + export wasi:random/random@0.2.0-rc-2023-11-10; } world virtual-sockets { @@ -154,15 +156,14 @@ world virtual-http { } world virtual-exit { - import wasi:cli/exit@0.2.0-rc-2023-10-18; - export wasi:cli/exit@0.2.0-rc-2023-10-18; + import wasi:cli/exit@0.2.0-rc-2023-12-05; + export wasi:cli/exit@0.2.0-rc-2023-12-05; } world virt-test { - import wasi:clocks/wall-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/monotonic-clock@0.2.0-rc-2023-10-18; - import wasi:clocks/timezone@0.2.0-rc-2023-10-18; - import wasi:filesystem/types@0.2.0-rc-2023-10-18; + import wasi:clocks/wall-clock@0.2.0-rc-2023-11-10; + import wasi:clocks/monotonic-clock@0.2.0-rc-2023-11-10; + import wasi:filesystem/types@0.2.0-rc-2023-11-10; import wasi:sockets/instance-network@0.2.0-rc-2023-10-18; import wasi:sockets/ip-name-lookup@0.2.0-rc-2023-10-18; import wasi:sockets/network@0.2.0-rc-2023-10-18; @@ -170,22 +171,22 @@ world virt-test { import wasi:sockets/tcp@0.2.0-rc-2023-10-18; import wasi:sockets/udp-create-socket@0.2.0-rc-2023-10-18; import wasi:sockets/udp@0.2.0-rc-2023-10-18; - import wasi:random/random@0.2.0-rc-2023-10-18; - import wasi:random/insecure@0.2.0-rc-2023-10-18; - import wasi:random/insecure-seed@0.2.0-rc-2023-10-18; - import wasi:io/poll@0.2.0-rc-2023-10-18; - import wasi:io/streams@0.2.0-rc-2023-10-18; - import wasi:cli/environment@0.2.0-rc-2023-10-18; - import wasi:filesystem/preopens@0.2.0-rc-2023-10-18; - import wasi:cli/exit@0.2.0-rc-2023-10-18; - import wasi:cli/stdin@0.2.0-rc-2023-10-18; - import wasi:cli/stdout@0.2.0-rc-2023-10-18; - import wasi:cli/stderr@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-input@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-output@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdin@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stdout@0.2.0-rc-2023-10-18; - import wasi:cli/terminal-stderr@0.2.0-rc-2023-10-18; + import wasi:random/random@0.2.0-rc-2023-11-10; + import wasi:random/insecure@0.2.0-rc-2023-11-10; + import wasi:random/insecure-seed@0.2.0-rc-2023-11-10; + import wasi:io/poll@0.2.0-rc-2023-11-10; + import wasi:io/streams@0.2.0-rc-2023-11-10; + import wasi:cli/environment@0.2.0-rc-2023-12-05; + import wasi:filesystem/preopens@0.2.0-rc-2023-11-10; + import wasi:cli/exit@0.2.0-rc-2023-12-05; + import wasi:cli/stdin@0.2.0-rc-2023-12-05; + import wasi:cli/stdout@0.2.0-rc-2023-12-05; + import wasi:cli/stderr@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-input@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-output@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdin@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stdout@0.2.0-rc-2023-12-05; + import wasi:cli/terminal-stderr@0.2.0-rc-2023-12-05; export test-get-env: func() -> list>; export test-file-read: func(path: string) -> string;