~E.string-;> rbchiLlnLza=validflags-;=>DL)L=usage=A-;> svusage-;> : grep [-;> -%s] [-e-; > pattern-;(> ] [-f pa-;0> tternfil-;8> e] [filepApSp> DpSp=pSLJ=fprint=-;@> ...] up>GDpSL?;=exits=L Y=main=(A~@argvp@ Lza=argv0&=AXMD p  ?rQ % AOcND p  ?rQ % AO} sageg-;P> rep: can-;X> 't open -;`> %s: %r pApSp>ODpSp=pS=p>hDpS=pA=p=pS=p ? p@ WJ openno -;p> matchesp>mDpS=LW=!dirsearch!=(A~?"rstatp A"?~@#fdp!#@ p! S~?$dba!$? p! SLv=%dirreadall!%=~?&np!&?p"#@p"SL)='close"'=&#&?AP#xD p. S~@(dirp.(@ p. Sp.  ?a. R a. Q .A p.$? a. R p.,P p. SL$=)smprint.)=p/&?p/S~@*flagp/*@ p/ S/=/"?p0&?p0SL0fj=+free0+=p0 ? W0 AX>[<-?;x> %s/%sstp?>~Dp?,@~?-fidp@A-?AA*@WA dingrep-H;> : can't -H;> open %s:pHApHSpH>DpHSpH,@pHSH=pIAIpL-?pLSL@8e=/dirfstatL/=pL pMO MA~?0isdirpM0?pN SN+=&O0?AOOv<%Or=AXOw .string-|; > %r gre-|; > p: read -|; > error on-|; > %s: %r p|Ap|Sp|> Dp|Sp|,@p|S~= fprint| =&}?AO} DpSp,@pSL̻F= Bprint =-; > %s:%ldp=DpSp> DpSp?pS =p*@ p  A&AO<&?AO DpSp,@pS =p=DpSL=Bflush=&?AO %s %sp=DpSp> DpSp,@pS =p*@  A&AOg<-; > :%ld: p=DpSp> DpSp?pS =p=DpSp?pS&?AOq DpSp,@pS =p*@  A&AO<-; > %s:%ld:p=DpSp> DpSp?pS =p=DpSp?pS&?AO DpSp@pSLE/=reprint=LG^=nfollowpA=LxX2=genD=p@pSpApSL"=fol1=p= ~=followp= p C aRp@ p Op Sp =p SpApSL\'#=fcmpp=Dp SL =qsort=p= p SL[4]=sal=p=ppA W+ r~=bout5=8 ALQA=literal5=A5=A~=lineno5=A5=A~= maxfollow5 =A5=A~=!rein5!=A5=ALza="pattern5"=A~=#state05#=A~=$filename5$=A~=%topre5%=A5=A5 >ALza=&input5&=ALQA='matched5'=ALQA=(peekc5(=A~=)validflags5)=AI