~EnextID>A~>l$1p>DpSLDP=mcslock=~>id$1C>p>~?ip?p>DpSLDP=mcsunlock=p?~>newthread>A~@stacksizep @ &  AL<~> .string-; > bad stac-; > ksize %dp> DpSp SLP= sysfatal =pxA p SpA p SL = _threadmalloc =p @ ~? tp ?p $Op SpAS =p ? p Qp QpSpApSp @pSLX= memset =p ?pS~@fp@pS~@argp@pSL+U=_threadinitstack=~@namep@ p ?~@grpp@ p O& AO:~@pp@ p ? p Qp Q~?idp?pA(Qp ,Q-; > create -; > thread %-; > d.%d nampApSp> DpSp RpSp Qp Sp@pSL.r=_threaddebug=p@pS=p@ p ? CRpR&AXXL7=_newproc=Apx A p SpA p S =pA O~@rforkflagp@ p O~?pp?pSp@pSp@pSp@p Sp @pSp@pS>L=_threadpqp=DpS=p? &=AX e %sp->-;0 > newproc p>- DpSL?;=!_assert!=p? p@ p Sp@ p Sp@ p SpA SpQ pP p Sp @ p S=p? p,Qp,QpOp Op?L)L="_sched"=p?LS])=#proccreate#=Ap@ p Sp@ p Sp@ p SpA S =L3=$_freeproc$= A~@%pp%@pO W == nilt- ;@ > ->stk !=p >? Dp S !=p  ? p  Pp S '=p  ? p 0Pp &?p  S '=W  nilt->-$;P > stk != np$>M Dp$S$!=p$)@ p% Pp%S%'=p&)@p&S&'=&-&;X > il5&>A5&= A5& >`A5&>AI&