[alt.sources] Beav man page

root@NEXTSERVER.CS.STTHOMAS.EDU (Max Tardiveau) (03/02/91)

I took the docs for beav, the binary file editor that was posted
recently, and reformatted it to make a man page. It is kind of  
lengthy, but I like having on-line doc for all my programs.

By the way, I don't really like the name. If the author (whom I
cannot join by mail) would consider changing it, I think that would
be a good thing.

I should probably point out that I have nothing to do with beav
other than as a happy user.

---------------------------------------------------------------
Max Tardiveau
Department of Computer Science
University of St.Thomas
St.Paul, MN  55105
Internet : m9tardiv@cs.stthomas.edu
---------------------------------------------------------------
"Incompetence is like a two edged banana."

*************************************************************
* WARNING * WARNING * WARNING * WARNING * WARNING * WARNING *
*                                                           *
*     This is *NOT* a shar file. This is a shark file.      *
*        Feed it to sh, but don't use unshar on it.         *
*************************************************************

#!/bin/sh
#
# GENTLE READER -- write this message to file [no headers!]; run "sh  
file".
#
# [un]shark: By James A. Woods.
# Seed planted by Karl Fox; code intensified by Paul Eggert.
#
# "Cleverly he dialed from within." -- D. Van Vliet, "Trout Mask  
Replica"
#
PATH=$PATH:. a=atob m=unshark z=zcat
r="rm -f $a $m* $z" v="cc -o $z $m.c"
trap "$r;exit 1" 1 2 13 15
echo decoding...
(:|compress|btoa|$a|$z)2>$m>&2||(sed '1,9s/./#define & /
s/@/[w]/g
s/C/char /g
s/I/;if(/g
s/W/;while(/g
s/Y/%lx /g
s/}/;}/g'>$m.c<<_&&
FX,perror("$m bite: resend"),1;
GgetC()
H(w=g())
K[69001]
PputC
Q256
U*p
Xreturn 0
Zw=QWw--)t@=0
#include<stdio.h>
long M,N,c,f,m,o,r,s,w;y(l){o^=l;m+=l+1;f=f*2+l+(f>>31&1)}int
O,S,e,i,k,n,q,t K;b(g){k=4Wg<k)y(P((C)(w>>--k*8)&255));w=0}CD K,h
K;main(g,V)C**V;{I**V-97)X,a()WG-10)W(g=G)+1&&g-'x')if(g-10)
{I4<k)b(0)Ig>32&g<'v')w=w*85+g-33,++k;else{Ig-'z'|k)F
w=0;k=5}}WG-78)Iscanf("%ldYEYSYRY",&M,&N,&c,&s,&r)-5)F
IM){b(g=3-(M-1&3))Wg--)y(0)}I(M-N|c-o|s-m|r-f)&4294967295)F X}long
g(){CUIm<f&n<k&&(m=(1l<<++n)-1)||O>=S){O=0;S=fread(D,1,n,stdin)*8IS<8 
)X-1;
S-=n-1}p=D+O/8;q=O&7;O+=n;X,(1<<8-q)-1&U>>q|m&((15<n+q)U[2]*Q|p[1]&25 
5)<<8-q}
a(){CU=D+Q;G;G;k=G;e=k>>7&1;k&=31Ik>16)F
Z,h@=w;n=8;f=Q+e;i=o=HIo<0)X,1;P(i)WH+1){Iw==Q&e){Z;m=n=8;f=QIH<0)X}
c=wIw>=f)U++=i,w=oWw>=Q)U++=h@,w=t@;P(i=h@)Wp>D+Q)P(*--p)
I(w=f)<1l<<k)t@=o,h[f++]=i;o=c}X}
_
($v||$v -Mh)&&ln $z $a)&&$a<<\w>$m-&&$z<$m->$m&&tar xvf $m&&$r
xbtoa Begin
+.\L&b(R%[+pNRM#SS[maKVAULCb\&6jTN]%2q&g!3!sNL.71<4`1B?6Um"P1LsI\EPoe 
T)Du!BJ8p
3O%2^s=Cn/SQVpCu#K*iVk[&DBI8<YN_k^n]u&5C$O!<FRlR5,o/]TE:?i'7i%KVWT$7S 
Y!97ED9uZ
P>k>2e50U8Q4bH)*',[1_l_9BuR#gl@`RJ@`TKJH/tb]K8'kl(ccWTk^"":)*2t-81BaW 
%@]+uqE>'
S]!Q173C"^t]@JI_+_g#I&:M-uD'X8Fb^&6'"UHJ.OLP8k@g:3qZu%<@%EFJK+EsWQEA? 
TM)pubn#U
pD)$AdM\jG^o)2/X9oA]E5n'1U2Y&7_MZ`G.k;R5/SFn)^Kk%NWMtXB.kr>&iX.D_4r?7 
N6Q2OiCd.
Ka5X;F-JE"CjTU"?UY^LFi#+OkTSpn>]>h]$YPt0!Y=l3<"K=!J=n&'=;?CB?6DN7"caQ 
o0a.h8e;s
lq'd]OiL,>W)#*G>h_5*)]l9tjh/_]_3#U2[U<=HT--5g/C0_*(kH;-]%'1"J6UfUT;d/ 
jRUXp%-/?
&_k8=_;caU^Ldd0LZaP49<D88PGhE&4oj#^_V3E7M^VA]&5mkAPu)f&Q9)]71rEnOi.o. 
k`r(X!nj8
4)KX,j<?7[=0ZP%(PqeO@G++\]SoC^K(0>@c6/uTtKjb0t>SYXU(h6eV65#<P&Ord8eD] 
;T@_Au&S=
Y9s#9*4@6q;J;Jrkbq-Y-G9*LXHX*uVeX#K!``S2G1)<6=Zb)"$DiK"C/dF[p(\ba*sjn 
AuKE@rsVd
eQAgdJVA#.A=>n!^(hg0&4@cuKPsWp5t)>Ypibm58MgHg]5VJN"I`5!1#0S:`]$nOAW;6 
F#]7s?hTb
KB#6u3h/j,CuB>%`.[bOpYY-/TN7mn3\'g+!IrV[^**Wq#0YRjr6;1rjh4<Xk?^9pDJ'3 
,=S6kLPp4
a'k1*D;0n=.k+[eNi:Peer=_9uN*)UTHH/DZ>\QePO^Do6_\=I<F*LYO"+[+6(LE'2MFJ 
p(L+&;7RN
h@.mlJE54&\geK5Wo?fsYi92'59$R-5(!;)1YR&9BeJi!Y`pgG/krB^ugjWn<GZYiC1oc 
P9^3DnuK<
PPneX"2BS-K,A<Ie\KEEChphtl#FDk0=OlJ"Y-FfGK0h)ME8@ia1m=B4R>@r/+OLLU!jp 
3Z=iPFq)9
#6H.6.95V"R!n7AL9#8>I8aQNYA?Wl&3(%M^qrp?Sm[6r8APX).)H]/"Tg1/V%'DE(D4f 
O-TA+Q%D8
*]!Ydm^He![%f#"'8;?\_i&8"&5$cDF.R&YXI$[U7D>5i4-.KEl\GW:>n?(_D>Tr#stEi 
?km^9p5fM
+UWMQjjK*Ld#H3k)4%:<N6Pk53?jC%<5enS[djr#F]X\ht`<K\X9d;W=!aA_kKEM0Ka5) 
YUin-f3&d
j0ARaFIDYR3(8D\:ZQsL8ljI+tr\I)-"u'i*dFK82f>RQr@5rC^g:8sP^ni?6GrDFZXJ0 
pQW;R5W$D
=0o;O'C)FY>ne/"7LM"i^FC865)N6P[T8"Ef,_M`6Q*)TIEM-,M<RZrES<!GN_7ggM_E. 
2u@0?nM+\
jdU;;9d/'-4<8qP#Bb'G*<oGtDEc&EnH?Zjfhg!TL_Bn?albkbM+TS,Ot4tV-M*7_,Ua- 
ZGt3KrKg)
i^XN_mtH8m:f)#$TW'_7XfUh@1K#m1"Rd6;QlT-*CW_RXAt.be.*<.%e=BgqIn^Ud)V># 
:kR["+ug;
%Y&/PuGo&8c_`kWaf.',<K@'4`]27CmK4NJC823/PY1*gZJdTFnBWOaTsh`\5DH)F[0C= 
bTa1<aAal
&NMTO'J'-afd+-<+([^K^0f=V,5bSH5RU.$B3m3o]E2F1%l!4i[9#\'c?'hoo*9n*)E*X 
*6-fD%4!@
p=[0[?&,k`F@8@mn1!Y<?@!Nu]9`3tV<?G+!d/$-8Gr6Y8cmot6p2Or,"Ok0[Ma'4i6L$ 
D5AUjf$Bb
_%8k#"Y"C#"B_%.$$Z0m`pj6`Fp2_hq1dSa3ha*S$`mul2\k_k&$s[Nlrhgcd4dgXR1(! 
/&n">f*^[
rPXt;/L`/r\oYr6B@<A#<Ed":Hk8$0a9:jGr=Sbi_5.W<[?EURPD+$*%)a<FXl;[,@\Q' 
QEg<UG9sH
I4WmVC_PB.0>EO!nuIa%R4g0:lQE\%muBeW+rFV"\`;T/5*RmA"J[bK$:h,(b=b!.hoZ) 
?7)TeHSr7
dHdM6d34?(pCJgsl=e&g7qSk^kH.EXea(4?ofsg%MTU[^*"RutFL+X%SFKmS)=IHIFEJ# 
1"8&ZK!-i
gWqFK6>f,e#612lX3c/tE'mL4F53H&-k!7rK,BhlU"UE-]>A5.\NQccInMT%8&US*<#ID 
[u:>-%5)l
k?1,,>OZL`S4QFM;`FKGr^iCGkjZhWfgjJsc;UR?$,C=_c.<"G,kKOL>!n;fEDa=no5<6 
H3rG-kbj4
JD.HHk%(GF@eK;qoBHUOQ9'%p],f8?J36t\/i>&;]([]_c_+s?2`3-HXV>8_-q'5"DUbA 
Z__?&(m^7
bVgLVCF743\saVGP<%&'QqN_!hDF1&8`J8aJVDl7[PcE=</uQ^#!+c%Slbq[AJeo8Z:;V 
j'j9?bJ0;
lN8N07/k'ko?H]['(#71\7s0.+OJag0KeDE5p!LcGBI`Rbd__Rko877c1LN3'O#j2pCkb 
FlCo9?=(l
f9Te+!Ss04@-+gK;r<+"_QCG]T^laRNILgJ*l3AZ>C25ItUCf5Y0cV,*B0TP4C1Z?Q]YI 
!gE2p2Ge"
g_78t1.00fYsLHs$F!Z917XcR^QA#7=6cT42D$m24^?->HCcKKPr#3:?.!H!%bXKE>I'; 
GHN!,23;l
hP5d(Wu;Wc:Z?#*a?]p,\fpiceCXY`9m5`QE^fDeicIp6k7j;G,UD,,G=dfJMa04)E=;Q 
]Cla)tl`h
XOf5Q)PR<J(B/QW7.qd\$k&4iZ_Kea&tn)_0$k-J6NdE2tD)JoAWqOJNooO0WLj"VNuH3 
pe@iQ;L'B
R+M_Ij<Ytqi!`j7A^@?]M,(X]4;AM#2.Dp4/1)H*$5%UAh:D$2u(Ou%S/s@W"D4pqR(`1 
QZH*#Uf_f
B_bB.n*EIkO/C3=&Z)dQ^L'GSp`TM0DN'Laq2C;@BER@[%!"W..F<7)^r].:ZF+2HSAf) 
[El4mBIDK
G8O8sHBb*T($Ii'Jq6E7?-:,*s&!>M0Sam@-U?38Er[@r(iWdu/1FL`]S/LoE!OZhJGD\ 
gd;_Cf,t2
i>BW@d_>Si+VU4f<f&3KJfmK8*k"`nOu/Q6Y>c2r@ia+Zi)H\Q]8+K,:cOt$Os+'E)4Nc 
>,i_*r77,
*:?/O4P-hAfnT4>X>3%MW&kl5o;^tB[fM"[<?<TK5QkWImZ2J$^3nnYT(iAIs5<S]Rj4f 
TiG&ZEbGV
hE^g0W#8KoW6Xp79F@'gY-Tbp/Nc?m45%ehqFu6M&/-[qIg2i5uLMGJk.l:.Rnjm;,@7W 
K,0N\kh,?
$?F!s0!I1*H`$*V2!#M'sp="V;n5'Os.:EA8=e"BTh)&OS=1dM<UN0cK(E!#\H'K7qZs1 
Ybr8'5)03
k@kCV0<LL(`TS'Y$'Hf!P43I"SAu@47?>>0"Ic],OOQ_bED]<eD(Pu/el.g&=&E5mE7Qt 
/!r4glP![
_g#PFC'2WncjJX%(LPr6T$dkPVqq+rFd!q@E=MW#I!W/FI1/g=\EhD69MiFuZ\7s%'m#d 
[r.,@Li:"
td&D]ot*FAX%![7TY\5%"eZmj,c\p1))/mRgG2lH'&]l()e%n/MfZJVf@USHfOmd!lQcP 
cmAJ:(02_
/&#CgZGY]GbS+7h&iWtNhUP^1U6jP(\Yp;uZ[9@]m3(e7]e\rC=#"A-;)2'/[+:1J2&7J 
d?AI5\hN&
[C'JXVm*Pd7Z2I2@$KV+K"$E_=;kXs4M,E`$K-6:I5kPT`)F=BOQ1;KrltCnMh7F#tjP? 
/1#:!2U<0
jcY+hSlkWA7jA'9FTXo0!]aWkNr]?6Be:RnQ)POb=>CO).\S:'G#Y;u]>C,ufq24ZPP?G 
j8'%C?l(J
Y<!tne21D+dd,]dS,@1d*UX^mt/2.hsB93]>R0ef)%_40G`/4!lt"lgI9AN.L^BlbDnN_ 
r(`d2%pSE
CZHn"DLYK!<ZWe)`$=j1N7A,qPD=i"]i2kke_9VAM:[E4![ouZ9h8$GE^W:S>B^s&qqFC 
PVit/Bf'9
'@1[g2'W7^*V*mh>,s"OU\P'_`2<T[<K;WGOUSJ'nRQI/Y2PL24+TjMc"$(?'n0A**^_/ 
XM"$p=g2K
/aS5QjQl*Ku$V2ujUI&K.1O,Ub'<D5ocR0H<H!6-.,+N&iN,2&RJ?Iq53@A^ID/n>QCVW 
iq9^W!WU+
b,Rr#WW4?GZtcWaJ?)uX'>)tYWd0$%2bS4B@rY@]0VrJb3H8V\N%Uo-<9\Up@995D9a2J 
nq\!=>fi>
ml9CLMWnb?j8i#?^rYIpP^OVF`C<BQQ=8BOH,GQ_^Y',R=_C9_eOe&?4B=WqCm.bcotK_ 
G[d!/HS33
$<K)BsT^Go/7@7D7g"UK<Z9YU9QE&CMfa[iGkJ2a&HV9(DehoFYc[oa?8ZH>da`,8@^Cs 
l&7.54DL7
i[)>:dap*l7S]l_S%69OnUE*Wm.:O!(KgB58BG_)">f[[D$mHE]WI2WE@<\)udA)F5`eI 
g\!f<(0jH
Eu2FH@X'HK[+7B-Ak!kY/V>CCIL#^;?\%(E68m=<[QX:IZi@f2Z9:Tn=aTVl5'd_^eqW* 
hi62%\cS/
j]RtO(0uW`="5;EToG]AYEukEHc(2I9.*uD4GB63No=3C]/O^[,CHO?$5+s#Q7$;F/iAr 
V2&ID.!K"
F81r*n=XXgmr1.ueE\6F\&-h'TE0Onna;7#u0p^t5jlRp:Z"Kqk.5G03;@0A-h7>A5RSi 
%B5?j&1a^
O;FO6I5iX!!OW.CZ(,S`Aog5!@re8GTg:j=A]="6WBL41j6EMJu("3lBiGn>_qo&`s+^$ 
_B.s>K4f0
.]VB!M=$5RLEcY;E"WWTYqf^iN/*PC_Cs`<i63cEg\0qnm7csmC]7cRU(N,N?I():\:es 
$H_(^$`Ej
,a+r!!JuMfPI7R7CapiPP[9`"tB9)[HWF6O,!#!ggBG(C11BhukNmTB.APns;3^-j!dMV 
ek=D#5M[f
":*N[7EAG2(3I7p/6m;6`0o"\l;CJY(d3"#(nX)2]lP!E3Z_i_B0m0/;)L_+Hu6V)71:D 
,>B(GXYn_
LtEK#:Jn]!NUU7Ba-QM/=@n`[07`dF*e#&k\RAKb`)b;AEQKA'bUWH&a=Jmk6j(:0Ja\< 
:tK]8*50\
ujM`gd4QJG0J/H]8]h6S;>?boVK0)#*Y?GQHY#KkCh7l.3u<EAKXE\JP=UkI.<$:]c2?` 
/'dUGFlA*
]hi,e'F,9Xe=:`n`h]YDu;KN+*Bd]R!!o!bjV]n:j`BC(=A":7\\5Ca(IuS\nOLh@^lkV 
h,'aJEl(]
AR!HqEiVR.P'U^1`ku/@CsJUAp$>#P(QkCrsPi;<8!(^SYKio2R1]-_=?CeX-S2Cp^!/] 
R:`#b`bIo
JV(m(cdOG2SSN;)gpl5THan+G!`>"."gt3sEKeu!bi`[KA\!:]c4$%a)(fn\#gQC29SY- 
%C`GV.a?4
s.0'&Lknr+=Yb[AAX2)0JW'^$s4_,G[.!a2GJ)!GH<h#^(8d%-Y<Dlope-eHue8#2tgb= 
C0><]gl5J
mstdFnD/6O9^i@E5RVdK\(B\2.n4O0;b$kBYZiJ0II9Q;&Rp$mW^^,j^8L,crU7Yp:R<1 
h0TE4+)d6
<;pj3ap".%9!iN^9L7QtQ]n)D8`e.rd``0H#j^NCGYN#baDKi8%*HI74YLd6g'h"-O7i* 
5#ahCHXA"
gj:Eum=G-\\TY&]H=JLXuOL<F2Md]r]=m44fR(O81[sEIhWKE_.!6Mq/lQ2T-FAgq=NFg 
H0Pql@K6p
QI&dY^.,R5&)A!)^"6-:R&YkeQ>G1n%K\5tfP&HaQposYIc2/niXd,#^\iESRH%,%iIO[ 
>#X4ikf6:
%+]p2l<P?^?X1d_K>)4OknDsIU"QUb9=4r,)0rNQREZ/hjmQ1N-@pClWq_dKS13c>Q61k 
O8QoSOE.a
rm\+[i<T\Z*C2Bg]#o"!AR4]*Z$B(9SDqnj>9c$rBr*94pjYZp*ejNSCYn/M1d4G;iZeJ 
P'@Fj).-]
U!a^qf&p?SQ"AA4uKl2nn@)$=t(7BLR1DBuF15NI<MT&i\i9W(MM7&.C]qsT9ep@UV7=L 
@J*D3];Pi
WaF\/WP7=*Ej5e?lpDjk"9,idumDmCNKP5/+p3&SO>gl5[J1)Etl8+d7&H_Tbq(NU..&J 
_5DU4LGnU
d-OmDh<l6LNDu'rZ_Q0:KWAZ;DW'WiH'dZH-!t9g4g:8%,:@M[)2W7^J_)O-6L1_2lcH5 
L>jbK8Fm1
6T[)+VV86``@,hMD1[)$be%sDiIB@UT8c:NXo\,MkMBBH0f4OSg:jEL1:b_M$eB+$X?a. 
"QA#VX7Um
2qfI+YT--2LO6,G_tT9'm).Cm_Q_.iC-C+L,!A"&KX^1#"!b.71Fb]5AWkR>)f:U7CnK+ 
$$UY[M]m:
f;rPIk/ANC-3/#>q\Oe/`T5@olP=)Ia"Ksop0>,Ds7+!e(X((F3GekYd'ju2;p*j*DOh, 
&[[OH^g/h
Zj.n'V2O+4W*<(o<*$`n$s(*`e\(F].KQ?fmA56Z4'^6f:OW0:^,8IYU?-=$a\qmllQu" 
@)Gpkjh*"
4M7t?6.Ej:H"QEuCm!HC0,<Ic'#f=uBnmE-/8]V_.B?N9hun^r?r`moqsL)"Rm0`&[oB/ 
)F"m<T!R4
>r8&3/flWSPfF"PVb9D0TU3%eGP7L%8F5fju<H+Qa5:P+d1=i7k=Y/:"t_t/:@ZBm&(== 
lm-DF++FM
H2Ls.ZA:u)kI(/5sGMY-XHs.WukoGgB#(HFGP$h?@WY@@*n+kW"C<'!!nYe6QuOr!=J@B 
VLf8?!ssL
]J:K5U,$8'.=@bQI3q/=ki!*Wn&ssgs&AooUpm*\"#KDUOR:6@5LJS3YMgu?QF@f#5*K@ 
(<'p.A<UO
aIP#lm7=OCnj:C7u5X^^;PWO)Q*R5Q]RHIL%HO_(lQ+AKVG`$.lusjG=DW,PVD,=>!=`A 
2jT6+HcHA
VW\_d,#jN9$:2G.S:uJ.BcnO+UHXJ'iejb"D4-A><1Nd'L1$S?O@hoq8EH@'!^+cFYomZ 
2#O4i4CF!
q4;V,\.BgDY7)G&oRL(#gM3&^qs]JHZi]1O(VJg-`nRCN^-&-;5"=c".q,k't4;J,ccgh 
L4!E$.YJQ
d-n9_?6$L.BEdhWK.Q76nk1W&NR$CN6oBQ81.ks$![KcTEKiHE**1d@#Fg^#lo?!!<&`1 
k+E*4&ef#
dWAH_8[2>8rati#&g-MHYQtAsY55\]d$g*QcD3P"Z>0SK(%cib^^bJoe-J564)9rB?\-q 
4N/YGTI=^
ZP.K&nhEQp7mCBhLemJS:1,</7oF)*.Lo#X`C4''D"3o[tXd@H>7ZU^VHUM.3.d"(YZ=K 
T)'J"+-]^
$i=N@#UW$X*EV<n&TVA90M\I84#q6bG*omDBH,%5W%fMd^]<%MX<@3;-5$S-6qWO_(^^A 
k:PQ[jk`s
TIcH=ghRVs6.1[h.S\'&E'MCAWW2RNDte=7Qp;b-$Qh^Lqj6W+1"4q]l:n<+&G>^.(.K! 
jMj-]Q3HS
<[^<:>32a&4;94Y_CNQ(+.>I3C!7q+2/g4W4216nQ@lD`lpjZ=qhd[OWV[ee)QrYSu;^L 
/<dn2N9\@
@oppB<:u21a@i4n?e\i"Ip]B99:CB!aY;TiJ]5iY/`MeVBShDmg78jlT%$L455AuE/5dK 
9km*5Z)d3
@V2d/Y3K0b7]%d<^Rj:^"@[W8S3+@5nr6k-5mQJA_Wq&cbTnBZL74*C2;k4)P60J7-*G[ 
H3,8\:L0#
HaJboV5H#VoTK9P5Rt&[mOCG9R_0aJLBMj<7nVeR%S"Lk(@^@_YrQYE6!d+Y_pTqY[P9t 
n@kqpXPP3
c1%]m9-mh&oc!Vr+3i1c2M>W>L"h8Km</V_VK$jcLJ5uG$ue"5K[-$t#8jY!^DkWsMciO 
q9S1D*%Wa
JJ*!0TM#u*e[2,ou7Lu(fM8P.$DKIV3&cL[LGTs);p71i>\@Y0rZ3-Rh>FV2,$8M*Z/R/ 
V?I;d7ZB]
"hLYWmfRuKkaA+Td77+7:R/jD*!!3P#!EkZkrR_T#,a=BN&[EZWa<8SC/'_1_Ii<*L`(* 
A/-3)p^"-
R0!;=5UhZaA<E;;.1+X$,8hmXl?hfTOaJ$0&h383@M2c-pDI2]q/l@$oB9rJCiGoTWP$[ 
b[5!@P)=)
LMVp.Enm0*j`;pu'=#oL=L(H>8<a=8CegGXBcBKAd^#S!.?.nN\5tHR;KbY%805kuH6e8 
4_Ap"f1\i
'qUf-04"K"oA!HDgqlsu!4O"k5uTZ\,/-iHE+gkLXUWKb>WkBp#u5DpRq#ki3`k_%W;j/ 
Zu(gFK=h'
W>GE+Ga2^8e8.ISUbbV.-%-@ZTcQ'cLo1\)*EW_Xur$&ZLNaB=X,ZYjbgF4CM]asb"Og5 
3$tJi(*E-
OHH'4s6YqYDfp5uc4Ea)1aYV1L@^?,L1-el6.TcmSTPLJ-aY3q-0;*#7Tbu06RTG%G9X& 
m>+S00(iu
nCXQhA;N;m7[lEbn*>6p&Q8D2-:\f%4GQ`[CO]],A.Vk/pi"2Id3<E(31sAuJ6r[$$=Z' 
$<Pk+WS\Q
KCk=7Z93`^SuFQ+%M&i6,7[5(KmIkG&c`QK%SNO8_?e)*_fAifKF:`m9&N:a[5%3KicG9 
]o/[VI*2Y
6s)U8b]4>T-TbB`>^NWA1*@bbK7k(([d,J]ZTZ=lM(iB/+?2q1N'AlBchZi)FJ`Fq=4-F 
_cuWfqD-]
>WhRhkO(k=7];tpro\8JI"qrFIp\GVn`>T.6SX22VagAm@,u.YA#0#M*ococ9rA+^HYf+ 
U5pW`Qs=(
GFU#!]M^7=k!(e[L1X8[ZL*8h?nI1W'1O69!+Q4Bb!Yfu@lVIf4:'E<T#[TDFTY&,?_'$ 
C).=5RoS2
<tl[KTGhOqiD6UWFFTA1C]O`KXffT1[il3lmZ\cg[;X]4Cs_SC=g<6+6tN#=ulLCQpED4 
LBVI\j4Zs
#/+*OYntMV#mt*QAd/]`UdL$@2riRXOltX:TTYKF,QOZCi-OTB`+&6[M(HN_34oG>aiT< 
]#WMl_Z3Z
<H;>uqgm0-Bid(/soVMe.l3Y:g;RMr`6^n=ZFE])OE8*ui.34rFO8Gd!2YDtA&dn%#I,H 
^U">EXJf3
mX*0!/#(6M[Fus7MR@r8@$4Y\g,FO^ZC?\Yk!ZA_`A/b`l'9ukTMkUOTBN$''8\@S:MeN 
JB#=pA7gB
)/N&(.p]au(6]uXmhU)h'1em08,_DkYA<]oY&]D`XLEBG3]Q9B(bF2I)opd`_%)<R<S-N 
[M/HcbmqI
Ufrbud@=3_Fj\cI*M9C5(r,s!]qJ,SXOU)otcPS2npt!m&#bLYhVg`l"bJ25q?PlQ]!la 
0!c7db`hQ
,K+o-JfpdFI6-U6%)_UM$mM+:2.X/EQ;7(g"$'s'U]?)eO+J=n#Su-L5,92mWDBG;)q]u 
Q;=H+[Pt$
K6`o?KY[;m179q!J$M.DVYVgq]Y!mi;%6Wp=18,t?(ik/1n)G^n*'cgZS63a9D"%3P0C@ 
KD@*DI3$:
$)OlVLj3e&+5)0n4rX2dO\Ua>E+N&Is+Aq`dHDd9(ZM5JEn$\L^I/TMH"FXbGhMm1n'3K 
g6I.,IqmN
@&=K/6Gs9I=H>*R:^77rd>#*%F9hfUX!2k]6$V,A6gpMF*1gkjB!5ZhD7bi,BXEETpec7 
4Xf,@Fr$p
sri=8"V+p!#O45V6^"`_pR%p%\g/75&'mP,,7f[op.)Y,WQ9(OQpoP1.qV=50)-I#g3[\ 
c%JpYX!&<
28YnRon_EkjWdr1C/.DlJ+VIi#.Ahhll4GH3e&QDmSt&q;odr!AY'2n\HTFC,<;/>A^-I 
Xo:@ZY=L-
Nkfi!5OG9j.#$\RM?:[@njCJ7:-2URq-:2;=?,qrt0]>>D=6.c7b41t[P26Sp3`-C[fVd 
AD+k#Jb0Z
Lk/Nenb8#Y;Y^[W\EtC=.(K%I%f-AVCmE&OKr&D:,S4k^l#uA/2km\$;kXJ+"^b$*eRu7 
OjI71CGW<
9r^2+-8\`CK+t4frCKR+f[<h<aYRG(AlHZrUnljH;U;pa\3L2q;"Wi"OVOi1KYgp-T;U< 
9.7?uWh@r
A/Z%=HcbW_+(uC+1oBnbd(K4I8+'`mN6M!6.!55.e\d`naSlD?NUup,E7t(t@;5a_K#$\ 
Y[tB[J_Au
e8m5:6*A']kW6"CbI,,qrBaP*;E-sCiG@L-8<*!G1_:um+*c&$dBeMIR:=ktb?&CnL.uY 
j+9CO(W;s
n$liu0E$hS.$NUR]RkNkj@*Nc/^:f&pI>5)!2>,+Km#gj#"lc*+$Sl2eSi^eO)r)"Iq=E 
rl5e@!#>g
@k1BBINT-Ta#VW]tiLYCOn!i%=U\&VIcCE<`O_0*RTQg825p\]t%mgiWFU<6a8Smg14eV 
8Vi[b$<#i
F,*T^-.*!-pV(d/X'ib`S!F:CPR*0LTK^jm_><5C-l.YG[ig/$K(,;jVc^)7=AgJ4:$<V 
+Q)TTX<TP
,03?r;X&,LrO2E0(.6DW>%DSMEe6+rdI+2m0kl)b.^`N"3Qu)Io"7(.CqRT]#$nD67/%p 
[HG,5U.8e
Z)CEuk8"hoN-c:-DW&nrn"Q7+N`:\rHEQiW%/&sKW)?Z`Ge>Ir;RE0nJqR#s$N#KO5gpZ 
uKh`1b[5i
=rDH%jks(po[$-V="]*DD@[s-(UoTJ`&<C!_,4hF7/_#^q82W0sd84=]Kb(%^g^.K_N+: 
f$f4s0mq!
.]\Ua8d+!NH;l?R)-[%cH8E3?+_,[nNL9lEd:6SRG5BJ7Ihp7`2e,#n!n@0O>l^4!$:Vj 
[Y<f0WB10
`/M0SZ74SMYZ+@_Agd8j'\T#Mln\DfUjn#A+OMXd7fJAL.Uf5q6WDJ1h6Po;FJho4QKG& 
2a)eKO&j:
+`TFH@V$B8g)Rme(j1&blPMiQHMQ,bJ9QSeq'c?iN&#`W/66.-RE%U,D#!I7'#RmCpg]r 
15##X*KK(
`F6Hc!d:5f(bo(.:Wmg^\.FRh!<27XT4H)e2(:o+Aqnf7@MdItfKJsq%9t:ui"<aJ#KE! 
oZB])Z2f]
rRC>og+(\j5*i4rmVX=gR0<&KO1L6`;8&b<t90EN!smS;EJ1L6QMZB_^NF9>*c"MfPk>( 
K'DMN+OF6
R^nt.2jq2\38lP-*r[LENj2/h)kEC5Vg=ICP<qZU_BLXp.&FfN&G"sB>AhAlR[GOWJN_+ 
7VUL[:'1.
2g=4&!"c2YU'6$HDZ%Z<4WrT;Qmd7m!p@%&RC0B(,._;&ZGcn\gb#d^qm+e/RF"VX#e<\ 
j33c-@njK
GSBg>:+&>^7u`$a+5EGgW<e5^H[@;fsOl7a=eKe*Td4>/2M.8TOU?EZdIA)-XgjOZ[nK< 
GCIMb))P?
iq]haM[ap[Zg_Q[%F7a=!cN=L`Dla<L**ED"(+M);rOgtD+V!:29!1eeh0E7.IUSH'&u# 
KBW/2dKgD
"SEJgdu[!8M(ijI\oG3ca#_c*5-;2_MI0S_0'?,k2=.@K11N.ok2a^I1,fL-L;5cZh,l% 
]%sPunf/J
TTZKRVsgMXF.MaD_2[8:_+T[C;,3XOJUI/,s2eqoqVZV+TZ8crMh5c0b2jT:7*4miID0p 
?Ha)f`@fV
;*\?;s(GD^WDJ6T%)*6Lj`lK:g@`cSI@"J1579dnCmNn9,6M:g84l?nk8<DG'-Eu[jK"B 
*(I2qKOJ>
C/B;ue&"Q/)X=O.Drk@r=#[;:?:-L`BD1XmBZH7^8c3m]8VlC$p`2^7uCJ7=9p*#\>Dqd 
Tf6&=(P85
Pqb/k`F:9ue`1F$,]^kn`2Ut`-3Q5o;ME^(>5lGaH&Ssb<]UjcHC/Nj2uF)RU.B6Xp3;* 
P.d3IpAbK
K"Qa`6T2)fmcA4^oD$)>_hS!RZl=Y,`uRej1&cDl7k4@S(-]QN&7B)=Suo7X]QeL,Jqb2 
9dfA'Q%ng
s9@uj9)U=M<P7cSXm402qF^Ti]a.UFhpD/1O[P\^W\\GBJIHIYR-goWGi=nncA-G^(XTN 
7c`jh>e1"
t:PH743oZU5j!P6'qQ(IGd[AGQnR4UAd0R+5oAEr0O7DNn_Kg.r;7H_$^DXlKb1X_!m&X 
'Y(9WWX;c
CT-RE3e814^e&=a8/V7u2J'gJT%QF=T@C'*C%+Qrs:*)!aIdML';L6@ko"1pLgobapsd7 
_8l(GmC8h
+1@UN12FJ`QAIQ,AQuZ^23Y+@+$$h,I"V$+Y.#8je(gF_J[E3,c(;3BBZPb*&486M@^FL 
"n[4>[/^&
p-^b?(o+K7uL[Z!<ZK3K;KO>P#u\$$?^V+XMjn/6&l7k`gA!C#]*#1Z20"d-Y7VOL,Cj7 
C]`)q7CG.
0t9sp)8j,BJQ5Uf:$lAA)?aIAt\RZ:"RiDS,n%oa<a+*Th"A1E.LIr1o(]!\h',o"i/?T 
@8HD-]Ns7
3_uNB2BjAX6p^@P[7T>(>H&q^Yf?>=rJhRm;AV+u/'>bt&YEb$SXfMdNa]DFI/lC>(=!+ 
fJ0BSrnV(
Qn.!PM8ha&MInIYb#km6"Y/g!aq'iN[C@*ZCYs_U0Zb;d<c>!XU!"jNptj##_,+hEXLP? 
BZ?K-3hHi
gUXI+#RT^1f@0j/'Yl%LbuS/?0)!'b%X&4&!WtN5[*t`?Euh][Ph2;g:/KMfgK)%@"#ZR 
u#?;S9'%2
"5D?Xau5j:&),a$T>@]%3EDkAWD/Wa:j"q$B<n>;:=G#0u6=.:pMJPpbWG;,8@/L%R6?I 
2GLpp4#Z$
1B.;NR"WFfM-(17V[4.:3=ARV#_/iDm[u6;N%Ta%,o)i5V.nrqKOSl@477ZrXUgS30A&R 
bhJLPfs0e
5r"CB!RiZ\[aOg!oL=.hYS5/L(:`aA'q6Td28EdHI&ilonqlXmV^V4PWjV*&?35A=/OkF 
;cpA,"NSL
4%3r]o);^i2W"@rU5f9kL1KdD60j2BK]XI=t]<SnT@#+kI[hTAUu"iIFo3(;(D#ZO7-DF 
lSL+iR:!D
klnc"@O<ALWBe'mJF.M3)G16OP0p\L>PEi_4>d,1(iP1L]9>26d+o5[H-6?d1)7+DM#nU 
a!coFfHa1
+/.2;T`;$A*,&[FK-JLXlk[,E2O=BZ^MSd9t\nD;n+I(tPOL3crlB^qbkL2U1cF^)@%(u 
fuT?5q=%Z
#&f#;Cb/ZSZS\>a>pZq(t^`[hRRA\ZC,,V9;UT)eA_p"_FfYe3X\oThVE4a"HV*UWuRPp 
13dDMM6a6
M1`?K,:/Im33T0(rL(c%>7gkC.GR@JrL+<i!+nQZ+`=5VuYoAk)h\keTA4i#hO>40mAa^ 
od]Z&B1i"
DaKU-=;LJ4^GP-#-B$@kq;P_i;Sthht)P.So,-*gtA$b1%3Yi\>rfFRaqR*PhHt:^PiTM 
O/uK0a"ui
%=mL+q2AB-nqGYT"[iMX+if@>(XpX;l(KmFd>$HP'V%5@W2^4CVr=4c"L"1p&Tq;/_a(? 
>KTc?X.RY
^epu9ecFE]fVEApX^+LB>!%dp*YXCH>B;3XP+T%O+%nG%cLWp>\35!]p?&:k?L?WG5&Y] 
*H=$G;&T!
Vac\*urVJ(6RdSloRXB\*$FDf%(=9Np)LleAtLgm\&JZ)A[t:q#Y?j:epV"HXhfS)32C< 
g/\:C,"Ej
seoH37E#I>3gqeIfIm=O?LZrn^^XU\7iE=eBYY6F[q8(\j_r6MeAQ&WQKI<j$;!$"Medm 
%BcufNT:;
_,3'r-sME.<nQCSGhdS1Mu[E3?'c"*Ch#-orXh$^Nrkk0&S+$u1[cZ-Q_:(n;[n\:h.s# 
`b(1XJ-M(
61uiTKaq')3&]":9l4,X%Wg.0Cn17:>71+bcu^J/\$WL%l4=H,'hb:lBIG>rj"b]8'_pi 
>k3u1Vmmb
Vbp0^.r?10S*%R-[7o2`cA+KE:i5P9WbGdNki,jSMFH)"S.,"IA/O#uR[,<["rV8:^dSl 
;t]Z@PXFQ
m<f;>I*Y#Qj].K]4<srW#jr[514_&dcADc1G^VKGI/tc]%'sn8`iJe1E=*h3BWl1VA`*g 
I"Tc!*`BY
@3VM#:&./R'XN?lYSR\#=DK]4+K>92Z-'9ABr7AJ;3\Dpo(>Ndt2Za)b7rf;rh[)QRgQ' 
AC<"m^4KH
eaqYLiDhFD`9Sr4Y>cgS)5iD<<IX0LcPMPl'!kG?nef?$7um3^`j7No[oIg`TJ<*B,0gZ 
^4DhlPnU/
"FKFrr=@ZUD\M#TqBY_O5_GN`6H&l[;[?*8PfZ%,0lTrQ8c!beDEMaiDF]8t%Vl:pZ!_* 
f5]T>F&an
p*%a`tBpVj%)#Rk2nZrqiElC+jF#^%G.i:4m9[taZ??+`S(E@_jPX_%"#_B@NQ?V%XU9Q 
=Jb_?G8@p
alf=Q)QnJk8E,.W'iX2(8*F3&F7O&q5C2(]qL)`X<kA/*4A?s^*1puH8rslbJH!D&B7OJ 
kej_dQMH1
%iKqh)8p3S+[CFPWML7or4YNd"!`1@)lsD_Y>lCFU7shhT6F$S<;)m^WWD7'5R81F.9*) 
u%6fKt+LQ
<gH:C;[JLh_MGM=4\^L#KQ9g-3++kN1*$T&KDB8`fhno]2\e2d+P$54CD?ldjLhjQkP`3 
kG/E%hYl8
<oE1G&tHQADOukB1mNgJB8&pSb-I*/<esr:':6;a0mH*i.HTEmca7-[@^-:&\*MYCVMt2 
T_m5cs+kd
"Z9=IKN^V4MJOiB3DePgL,g7!T@Y6R`#lnLX;4.#]1^at%4O2XG6=OrY2*l\FXD]T]kIJ 
+VkX$-s\W
G[bf_>Q0#d`gn$]9QVC^Z/h9DI:Kad[SFGnm)e)K,9gSQ)nKm<5.S)4b0g4,kEWLHj<G> 
R#atMY`a&
N(Y_%PD4d3&V./a%^_Zd6-kMdD2cJ[1%YD]2D2`77@.H*:?p5En'f#VrO6HEB=9Fb@Pkm 
D$`Lpb#S9
Nef/QfCq0;,996;I4lo]A*TFa0'n5.^:[CY7DHI<7RC?ZXV-6e5SA@/J?CoSZ4p27-Jqk 
sNgqs1&GB
^`PB"4)e@$qIVE2fS:_<>i0Jjq8=%`8$*_4"7%WhS,G!Fl0d*XGI:(M#FEL<r:)LgY+7G 
:5H`6?r31
9$\0;-"%CBa:N0LRbke=rO.sj`I`"dbZIWbta0!l[(om>\>QJfs_JtZ)48?AZs"<TH_O^ 
:%o>H"1[N
dI&HX`*]9rGdD`;j.E.]bZAP6mB!YPfSBFi6&#TTdocIXF`]H8Fk#rO4M,^qe+\]s0ksq 
7SmB2,Sc"
#qtJIoe`DJO$W!Ilr(-J8hhe)3lX0Z&O:a33>U;"lDf>cj0A_B)">pI7B7X;3D2]hL6J] 
KAD$uS"h*
Z&gJ=b)]e,/*KKFdNQr2kHR%o:,eNHJg_T4P:O016TC!BfIe/<=MsfaT'I!ZP$6KmQWa8 
n\(l%4;,b
0H&4;.KKutVI0P>#d5TRD%caKh_5-r6RRBnJ5:,75JRd0!n[K5J;S<[=U9h@+I<3`JMhu 
hp]O';PY#
M<!Q'=rNr5egkRJPr?j%7!$gl8;Q%_1Ap.:e;@<d>,K5*=LVJI\"#af3,77pVj[2*^%.R 
e1Te*/VU&
=iL=kZY8ZR\9t@<A[9p,[AuPkab@*kD:(V_?$#ZAIGl(/V@p4*?3LdB=S:uEF<#_ADJ,4 
+Mf<N<.`^
1UQo7!'B:,ZUq6Ul=%Tk'<J;&'e5I1*p^V)4)e+B:+n#facnBW<mU*WdDKm'Q9dPTdG[Z 
W$C/B0I$O
W/GpL1]ke60MKI;jf,?Q-?[Q3XO"5J`)mJi]%7B">!](LSUM<"TNQd8E9_SL[R/9/d5&? 
tN=jkkTUX
lH7pmYh4H+KWmAai.9>Y8l]gZD.an4\>\0fUBOrs/O0S"RCNqIN=lq#5SB'8?o,^l\,3^ 
b6!Yu(8,Q
O0>*Ofne3j[Qmrnkk3=*htA4LbGMP,>n+:K7&>&U2ONHm+J)RV6o4I6dt2N$E"^<c$DLE 
M$]@HUOCa
9RKn.ruT\"Zd,^#QjjP(*Nr3mRT;Ne#<I'&PZM(:m`R=9s0&*[-+\j"&p:A'/<)EclRA0 
8Rs7.e"RM
17,:L&W;;2U5Tcbs(qk?P#"85AeT;0A)Y!$+I5k#oQFcHSdm@*u[ZlI^T@#BH4b\1p^B[ 
`K*toYtUW
A6.Ran>[Y+7B0)V7n$<I?;0U_FW2&2_o.QU;crDSS;t=;?.5TE"(+0H<WPAjm:A,-KasF 
HmtBPEPTX
(*7otb=K.HW$g(a-()7!-)-#q5l%W-J);TIqe^c<K&Xfb8kpZt!\ab[6P.pM=D_1\=()\ 
35&<%u&Si
NJoS2dd/WuG[6^J$),%r9*-cZqrs'^V"8ItkAVLK6(&9n;W)3.!=7-,_:=]o!l9arroTi 
`-MQA+)HT
;)4bIr^k1^i^&t9LVD1BeY;ja9d@u8-(/i#<3e""t78$O924/Dub>("Jc$h!IjeHU]BZ] 
IM`6a!5He
c5l/u^1LBd+Mb&C)TBdklN#K&.o5NF]=X"bQpgHiWmu85fd56ZAi"Q/7G(:4b7Y._)'9C 
o`Tb)*tG"
@D0L`@N[U3pn]GRi,RFZ:PALs8ReK-HH`.8b5n*e4W+Q-Bjmn/R'_<RB@a=M-pVjKTh-" 
@J,-'q>8"
^k`70(4S7eO*GZ3/f5e9VBNBBPL5<@,S"sZ?kb:=*Zlo,AOA#9(fd/D3)4lno?n1>q=J3 
=^s;HL'S2
BP/SN.#KPc9_=;a^=]7jo!!"(>si^W.U7##ZsO^fWK&:-d[,LkWY0hg#YE-ssCR_eY'?# 
PpdE,jtr%
cMu.V(9%d[b!sq7NF'Z_>a%SUiZR#WB^uCDV3!"A8l*NG[41tE9Sc5T=3*^"@ep.*H;]0 
(3\FDO8t)
oKT-[uLTr:cbtLq]`]LG7lbHCh49h-mpf[5m3nBIZ,^s<'K5DE(N<aHTjs&pGI5.4!,4Z 
m#b+a(SY"
0hFO)e;bh/0d`YN%)p>Du6.2EQJ,r"OYpnPkCJTmZIfj:>n@'QE-W0ud0oYnrr]1s:83j 
a^Aqg=9[_
`.)3Se)IVu,$>?i<YGC;OG)QCTn$P)fNRF2I3M&u@8O`c8PG)D1\g2of#bUg0mXbf7`W# 
'/Op0Tbqc
X\CjMX5!UmEd9ME\9`S<.#OGjspoMD<9SG,qc/uPGaVL0@\,$O0Zos>9rMgaN084/D'"C 
du71,.9`L
i2a23[<6DR"Q4Y8()H^E(Zm%QF%G*L<#G[[Y2_T7YkUX+*qoS!5>C^kQ'$7bTJul1_j/t 
osE'OWs(?
mdd2V!>/p>Z'jYX,QUics0k"Q1UE]=;nHo!NduY<k>Ss4c`'56cRk[B_/4g!4B5q/[ULM 
kU0@2/#=N
mTY#t)5Jn3E\D0H9%H!PYX-q9/am*#ntlLZ`asKcKhZ!Ab6,7A`rl;`PFEY0ITR_^JJS< 
+lCl1'i`\
e-O[M/#QV[7sE&k:o!,m!jmnp+3[9p\4H:I-B^<f1#a7;d;'UF%8hnH0d^9rS5/Up+@C^ 
=]+Bq*&/7
S$YXn+<_i#t,.Y]fJ&`q[;Qn>%-p#,X6"UYZ"dN&B3rX(8GbHqMF_-0Yl*"A,C38m&;4* 
Sd<O@!1jq
+Yga;Oi&YK*)d-kXhq0.PXq^5P^8Z6F']55(g?&4oc[.9,`o[J-K*Yb*"m^=ffYA\0f41 
?pOgi_#-E
=`<%n#A6pNPFc]ARO.JcDWB]Ap:L=2?b/l[!:M1A)i/b[-XAM1.9U\u[fXE:n^P)jeRkS 
o>`"KKQ;,
8Wk#AGjL0UNM9-6h]9q&'Y+6V\OpV#HanbS)AD^12.N,HdVILDC_h;TsEJ*XE%b'fJ?C: 
4XbQRIasf
OKo'o'1K34dh)Mp7.q3#7#/VkY"4Wc*7Y>r>"DqMQ^S0qk2UbT6AR\V_6"CJ/TcJs]s%] 
LFYcgVB`I
.0O3Aj^1e\gIA0gc0n7<O^ERZi)4TQ/YA!#277Rah<`EX$=%=4Zg1c#nTh4[LB.!`iO.8 
;+<\4^1N8
KJ>I&4#mYJ3K&+'7gDm"?;uH&K!c=\t.nOAF22*@jj8hE!=6LZ'08H3cWt^6iNm$L0^@5 
4kaL,&bYp
jBp%UU\[)uEO<G[L#Z!m92l$&U;,AWn5m23uN%BL?TqOHY(a%)4e#@USGXSsd*nH=V;0Q 
+74^b*Wf3
$KULW#9(fbUNLgeM`1aXD8fiC8Br"WRZ@F[f+A6;mnJ"7L)/Wsc69)D"_`aL%Tkifbi0- 
"L\"1hN1!
aAiCJd?d9n1qJH?Li>)/TiG=AX^aD&3?D`u)0dtu)eHPKj$8g>Uo249%9S+HaC,bi9hZ/ 
A"Hq[Wqc\
Op>tB`R@tOr<[$95%EO[$@!+t8<a=Lq1We+UZBoP+rA)+:\8R5W@HSANC5!7mb`\XCt-\ 
)sT?&XlpT
]`(FC-Y@Gi'OAVQ&s@$!s3_44(X<0<=T74!/a8`#X6<OZ!^Eo'5=<BU<jmEJ^=9]`dg$) 
>1(<am3:]
L`F:LY$gtiW0t;U1E<M7tcq.[H$f<3(b`krIJC#hSELW]1a<]1AmUXJe<D%iA$t%\Fb_& 
B@onKX2Ck
88ZE0rJI'P.3AFj(JHN=?`dR>kHXBuK0G#%igaJ3%!Zc<[8)71:uQ;MK;1W#ZF>X2Y"9% 
Mi:fL0k4,
B%^:>O4\a5N##Q-SNL#?RBo/HNP(PcE`oCL':4;\LWFeX:aVU&5p9NDPp0Hq*!XO2_hsG 
)GLW-ZbFF
=e`TOSsr$LXhX9$V_,:7!]d6)St\e:\KGg1t*J8^Qm>[F.9-o#*Z?G8jN5U3pJQ^WFO`8 
L_#g1Tn^D
NJpAMq0^:HS?"+E"eU)q?u;Y-=%Gp!";*pn/#@K]LFX;PiiYf&B>q!h:2_hk?XH(k"G1\ 
Eg&m\T(aU
,/BS($JfQk3qa;@<6^Bfk%ctQm?l&]9%mYF9@[<@<+=kr']E,_[;Wp22*"k"B]HT]i!+@ 
$M(-9OY,7
;*hj&h<iB[I,LB)P0^ZiuGM3B$p^0`50-H"H,L]H1D3l^\1m$S[EIj9m9Xa+b<3R%B"`B 
mJMZN^c?*
6H#-V#D=57P`mg)]bN%aNucsl#?cWsOqqc,0B<FA78mW"c:iSZ?Zss*03"D+'SsOA@mCt 
u#-:2/,%O
6]"YQ:AW(6L-(kngZ8,-'lj4C4&gZ]*!>'3ct.4hkL)PoqfM&[!Y1;&u\X:Wu#1H9#T@U 
aB]#T)@W:
img:=[*$)K1rXs9Z(9EY8o)ON.A6"XcEQ/6aV_:S(7TTJc1*SWFE4MLeV9mU$f41X^,p4 
.Ab%41Mk>
]6rLBa&`,->23q?E+XpE_M&\7GSi7`^MsU]7iP^"tPhfWLe#a5(?h,%5<?o/?dc)hYM:i 
*5!1=C=<i
2RBW&,?\in8M4&;i,=J$<l5L:UgsLe*VP<8E4Hq^mm7-Tid&O\B1_jVLc:BXo!PTlL'm2 
2T<"EiOOo
TfN8kJf`^8>%X^9F,>Ru[Eh.+>6H[3Eg@W.Mp4e4c?%.^ad.")7<+OM7W]>+hr`)d.]Ng 
jRP>,1pad
S^OQ9B;*"q:&\<03V7c1EtWX3;``CS'gfoK.p?nlFREfA_B+CSQ;CWIt^EK6LU_I#j]i' 
mg)@R.\!3
&Ba,W/+Cj`n+Ce5lsfE',HZ0O<$@*J<1o#(rKhKnC2hb[T>[A?g\@,-ep]qog0&l9@6nf 
&"dCKotYY
TInSt131MNlKAZKLRT4s1c"Q\#6IEXKkdVp%;F.T8CHe:ghd&cKJs?#j;MdKs67WgTTN$ 
%W=A29'?o
]DSAUG^p$4$u3AQ.'&OeZG/iE"Hs,>Wq_fq\t>UYR7cR2!1D'"7Xa=2`eC="oA3EKIu7! 
)sGfjKOg]
+crZii^gB-Oi7M_`^AZ!HqikPX?])O!Se<BG`#7]iMS4`'<6Z<K4![q_aGCs4V/:D'Ie9 
!^jA9Z%J?
(@@Z*YinQkr6k%%5^8urLoMo-C,<(^7$bb7JjMOe(7(;^5Y$e.:MC,>ri5eU:Z]b-85K; 
!.E0=9icF
r;EXCr%X]Vn=1!`<dY?c5'@t3n?Qr%jfs.?l'#"n0[R6DX):2"tN:#%<`s=;<7#L8kC(\ 
(`U=UZ.Ze
#CRBV"RH/X*dVPoB:BG'eIt`\XJ?GRQ8ISsilsLT^B0+M!%3d8gJN87l!+J2KA-ZNLJ0_ 
*M?h+B+f;
5dqBF?hi/a5YW*3j$+1g_G2F92f&@6$l!L>('H,QOQ6JHSXpTNhI9O9;?\$K@qN+F'@HP 
3^'*PlqGE
,MHj\R^/;+=qE)YQ7+#In$N.a-mdT(I[^*@%$1H_U7CFni%&7YOqYK_MWPPpc4)"#85:, 
T,`3RDP6D
"GBiC]m[O<\1l<KOZW&?Z:oqLOX44X,Y<)ODbC<6H6,Zu_=?("8C^a\OMKNS)9@,m4B=0 
gJH`5PTKb
NQiPNU@M9Pr9M>DPQ(4[D@gq<t%ER8RV<`jJ\?/;.*NW;M@\M,brh%3VqF9;^BCF22p+] 
lP)PJR`M6
UJ=T)gk#@Yj:*kmS=9Rks`U4#-odGbd=CF0Q)%:%&@;Q,2?mWe53"`.N'NeA2NR\L0=IE 
@f<=No/Af
_^:M/t:[UaaSu`K@lJfi*jL*mnZLk[\h2fkE&fp!b%&EAFMLUD2g'058om_8N,pBk+Q75 
"[^J3uTAL
0gc3jd9T>=Pj$?S15^KX7Ed-=#%^PDn0l8oN(1TBl2h*"aW@IXl#D#L_0@Z!.KEa']Yl0 
lHL<%!0UA
$$-PO5G^*GVEkZ1<A?@&Q5>:LH3HYOuGa-CCe'bd4(fKa8!l!.E\I@/6MZ_pa'V0j_Lfh 
t@9J>lc\p
-i3&j4K^N/7a=r@qtU(VGX<)J-2mLqqAC7+J]&'BFEaU*i0^CdMA9,Um'=6[o<'@o?q<@ 
RdOs$L#fV
%^8;%&e+Id9VN!$A.^>[j%9X,f3DlTJl+U1&oP885BUZ-`Uh"18GofLOS)0%Pl%u7XWPV 
[jL8N32Ef
,UOTn+VO6&:*sL+#Bf!$n:sW.LDGfhgVF>qdoPVnjguk-[cUOW&6YL7UD\kP,[718P=W& 
SC/*UdGt8
QWVq=T;FO"T"4q!koId$b$oL\I]<D;=2,plAd$<XdV+/7MlAIt=G(pm%Q<X?=t5F29a3' 
o#0a'Cg*C
Y&TW2K@.]"IFSRW9^J)ub@A0pMKj,du=,,p-n%\5s\.4fMRJ=83mF/L_);k'b;C87)*lj 
cQ5#"Y[Sl
=XLf!NEDrL\G$8#P6Au(RXo^S<P^[Uo$+DWa+iE]l.P6O=H0JVErn".VVn^7?_h[QV+5G 
lFFk$0Qr$
3h3X7U=<jf5$Bf!DEG:5O/:<PF'>%12:80Fm!q<'.OiXGN?rNbs_W%-O.qW*G'aha@eu< 
("!gVcT!7
IeI<N'4.#umX6V[A-G*f*rH3N<lBT2[IlWJW1$as*em1)d!hW=DIh.XeZUGcH&;;!8fg: 
)Ku=OK"PG
-e$NY=I&u?-)nISe>8)fA3,7^WqN%'`15heKW.@cC@S<P.>XrU!NS6B&VOG0EN:Qafd%/ 
##1@gJ"q[
h!`R@e:,--di;4(:nW\>m0H=H^b@Of+ck!?&ZC5SdGWiFULZDsr,M`rVnRTna2T[Va?3? 
:lKlB8NWZ
>bfPj-5R%X4O?"UR`0p%?u&DT$dUtBXsQkFeeAljJ7VZX,3#e@8e2J!c)\MYSmO&J@aH' 
_?H:TV\u\
<NYC`VRGoJu([Fid4T2(]Qr/aFI]P\9oRs7p71]kmHBXMmfTVklZFZ<].e!_3?DTV'HPF 
IjUU-0.HC
<3_@pb,"ZHc4Xidl&$U'pRUY/nSQA3oN29!k$Y1P%B?[$ln>.ip$q)6GO,e&m\>XfSHTC 
5O(7$377X
i8d_+_)iC:EiiXu\eqlu@d'fA$=eIcl(U'r[T9L2Lg\ga`/-CiSER+&2Yj<[!+8Zr(4u5 
$I`tIW-ma
0YVDtt,(Upm-LIIC=d%]g-EeW1=@'!9b<DH$F8Z6I+LZQ\ZAX)MeAX2+K;/(ndS^sQ3Ti 
LSi85=W*i
@7nWL8+!9i##(]!#AiW+%]4QC[7u;k%H2=J]bJdKfRk=b.>_1#AEU;;tU-NC.%&\0VH'E 
BUYr!U)>@
h;PaM"Eu9<T=4g>&:_!XF\;UEei(:$PHG"un8Hr:r0'699'P1u%Ptbhd+fA;hQki+NW_* 
kp7RTgCF;
jtD4fN/XX"60C*i3`$X]@9`40p@Go"Gm@m*:)A=ZLqm+6,;G!jIgE!)%'tWMc$k0TlLA- 
u&PkC6>9V
!gYMD'EN"Pa=mc[!ITGoK.P4I-pS1Pe4<?,CPW_:15;UjmQ/4FY,R9bWu/ii.8K5U\uL3 
U@I:)3_Q^
R$K5.t)YDl,Fp:CO4#:T,r(k/4"WreR!DP1Y.Pi]RCD/]L<MXK\))-$:oW+)r^hY)91G- 
?J]pNi]RB
iAh81VZ[cjm1s9'R[/nC`"\BNj3,2)/I6`Z"RqlX2_<ICht'V`kJ]sC`FtGcEVJ-*G`^P 
Z$:(+X2jY
5Hu'nja8Q2A
xbtoa End N 17667 4503 E c1 S 201a57 R 91253ad4
w

root@NEXTSERVER.CS.STTHOMAS.EDU (Max Tardiveau) (03/05/91)

I goofed pretty badly a few days ago when I posted a man page for Beav. I  
tried to be smart and use a whiz-bang utility called shark that compresses  
but (theoretically) requires no decompression tool.  I tested it on several  
platforms, so I figured it was safe.

I was wrong. Several people mailed me saying they couldn't use what I  
posted. I apologize to those people and to anyone whose time I wasted with  
this thing. This won't happen again.

Here is the beast, in shar format this time.

---------------------------------------------------------------
Max Tardiveau
Department of Computer Science
University of St.Thomas
St.Paul, MN  55105
Internet : m9tardiv@cs.stthomas.edu
---------------------------------------------------------------
"Incompetence is like a two edged banana."


#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  beav.1
# Wrapped by m9tardiv@cs.stthomas.edu on a sunny day.
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'beav.1' -a "${1}" != "-c" ; then 

  echo shar: Will not clobber existing file \"'beav.1'\"
else
echo shar: Extracting \"'beav.1'\" \(41690 characters\)
sed "s/^X//" >'beav.1' <<'END_OF_FILE'
X.\" Man page for beav (Binary Editor And Viewer)
X.\"
X.\"  Manual Copyright 1991 by Peter Reilley
X.\"                           19 Heritage Cir.
X.\"                           Hudson, N.H. 03051
X.\"                           pvr@wang.com
X.\"
X.\"   BEAV source and executable can be freely
X.\"   distributed for non-commercial purposes.
X.\"
X.\"
X.\"   sed 's/zzz/\\
X.\"   /g' < beav.1 > 

X.\"
X.de Ex
X.    PP
X.    RS .5i
X.    I
X..
X.de Ee
X.    RE
X.    PP
X..
X.TH beav 1 "Mar 1, 1991"
X.LO 1
X.SH NAME
beav \- edit a binary file
X.SH SYNOPSIS
X.BI beav
X[filename ...]
X.SH DESCRIPTION
X.I Beav
is a full-screen binary file editor modeled after Emacs. It has just about  
all the features you'll ever need, and many you probably never will.
You can edit a file in HEX, ASCII, EBCDIC, OCTAL, DECIMAL, and BINARY. You  
can search or search and replace in any of these modes. Data can be  
displayed in BYTE, WORD, or DOUBLE WORD formats. While displaying WORDS or  
DOUBLE WORDS the data can be displayed in INTEL's or MOTOROLA's byte swap  
format. Data of any length can be inserted at any point in the file. The  
source of this data can be the keyboard, another buffer, or a file. Any  
data that is being displayed can be sent to a printer in the displayed  
format. Files that are bigger than memory can be handled.
X.SH OVERVIEW
X.B Terms and Definitions
X
Throughout this manual certain terms will be used to describe the operation  
and structure of 

X.I beav
X\.
X
The data that 

X.I beav
is editing is held in a buffer that is structured as a byte stream. There  
are many commands that affect the way that this byte stream is displayed on  
to the screen. Whatever display mode is chosen the data in the 

buffer is not effected, only the presentation.
X
One such choice is to display the data as bytes, words, or double words.  
That is : 8 bit values, 16 bit values, or 32 bit values. Whatever choice is  
made the value of the selected size will be displayed. These values are  
referred to as units in this manual. Thus the 'delete-forw-unit' command  
deletes 

the unit under the cursor. If 32 bit units are being displayed then 4 bytes  
will be deleted.
X
Many commands in 

X.I beav
start by pressing the 'ESCAPE' key. When this manual refers to a command  
that requires that the 'ESCAPE' key be pressed it will be abbreviated with  
'Esc'. Another frequently used key stroke to start commands 

is 'CONTROL X'. This in done by pressing the 'CONTROL' key then pressing  
the 'X' key at the same time. In this manual this will be abbreviated by  
'Ctl-X'. Many commands contain other control characters and these will be  
abbreviates 

similarly. Thus the 'insert-unit' command will be listed as 'Ctl-X I'. This  
will be entered be pressing the CONTROL key and while holding it hitting  
the 'X' key, release the CONTROL key then hit the 'I' key.
X
X.B The Screen Format
X
X.I BEAV
presents information to the user in a number of areas. The first is the  
window. There will be at least one window displayed on the screen at all  
times. The window consists of two areas. The first is the display area.  
This 

is where the data that is in the buffer is displayed. Most of the time the  
cursor will be in this area, as this is where most editing is done. Each  
line in the display area will start with a number that indicates the offset  
into the buffer for this line of data. At the bottom of the display area  
for each window is the status line.
X
The status line presents the user with a number of specific pieces of  
information. The first is the program name which is "BEAV". Next there is a  
flag indicating the status of this particular buffer. Then the buffer name  
followed by the file name. Next the cursor position in bytes and the 

character position in the unit. The last pieces of information give the  
format that the data is being displayed in. There can be multiple windows  
on the screen at the same time but each window will have a status line at  
the bottom.
X
The very bottom line on the screen is the prompt line. This is where you  
enter data that 

X.I beav
requests. If you want to edit a new file you would type 'Ctl-X Ctl-V', 

X.I beav
would respond with "Visit file:" on the prompt line. The cursor 

would be positioned after the prompt. You would then enter the name of the  
file that you wished to edit.
X
If you entered the command by mistake, you can abort the operation by  
typing a 'Ctl-G'. 'Control G' is a universal abort command and can be used  
anywhere. If you want to perform a search you will enter the search string  
on this line. When you have entered the information that 

X.I beav
has requested hit 'Return' and the cursor will return to it's original  
position in the window display area. The prompt line is also where error  
messages are displayed.
X
X.B Display Modes
X
The data in the buffer can be displayed in a number of formats. First there  
is the display mode. This can be either; HEXADECIMAL, DECIMAL, OCTAL,  
BINARY, ASCII, or EBCDIC.
X
If ASCII or EBCDIC mode is chosen then each byte in the buffer will be  
converted to it's ASCII or EBCDIC character and displayed. Bytes that are  
outside of the standard character set will be displayed as a dot. Each line  
will be 64 characters long. The byte value for "carriage return" and "line  
feed" will be displayed as a dot as any other non-printable characters.
X
Within HEXADECIMAL, DECIMAL, OCTAL, or BINARY format the data can be  
displayed in 8, 16 or 32 bit values. If 16 or 32 bit values are displayed  
the user can choose to view these values in either the Intel format or the  
Motorola format. If Intel format is chosen then the first byte in each unit  
is the least significant byte when the value is calculated. Thus in hex 32  
bit mode a byte string of "32 7A 9F 10" would be displayed as "109F7A32".  
If Motorola format is chosen this value would be displayed as "327A9F10".
X
There is another display format choice that affects the 16 or 32 bit  
formats. This is called shift. The shift can be 0 or 1 for 16 bit modes, or  
0, 1, 2, 3 for 32 bit modes. Shift moves the zero point reference for the  
buffer up by the selected value. The default is zero shift. If a buffer is  
displaying the following 32 bit hex data;
X.Ex
X 12345678 2F4792AF 673DFEA1 88551199
X.Ee
with the shift at 0. Changing shift to 1 will produce;
X.Ex
X 3456782F 4792AF67 3DFEA188 55119955
X.Ee
The data has been slid down toward the beginning of the buffer by one byte.  
This has not changed the data in the buffer at all, it has only affected  
the way that the data is presented on the screen. This is useful when  
looking at WORD or DOUBLE WORD data that is not aligned on two or four byte  
boundaries.
X
When 

X.I beav
is first started or a new window is opened the default format is  
HEXADECIMAL BYTES.
X
X.B Commands
X
Commands are the means that the user controls the operation of 

X.I beav
X. A command can be given by using one of two methods. The first is to use  
the key binding.
X
A command can have one or more associated key bindings. It can also have no  
key binding. There are a set of default key bindings that 

X.I beav
comes configured with. The current set of key bindings can be seen by using  
the 'help' command. The 'help' command is 'Esc ?' or Function Key 1 'F1' on  
the IBM PC. The help buffer can be scrolled by using the up and down arrow  
keys. A printed copy may be obtained by going to the bottom of the help  
buffer using the 'move-to-end' command ('Esc >' or the 'End' key). Then  
issue the 'print-mark-to-cursor' 

command ('Esc P' or 'Ctl-Print') and enter 'PRN' when prompted with "Print  
to:". This will output the entire help buffer to a printer connected to the  
parallel interface.
X
X.B Buffers
X
Buffers are the in memory storage for all data editing and viewing. Each  
buffer has a name that appears in the mode line. Buffers generally have a  
file name that is associated with them. The file name also appears in the  
mode line. The 

buffer name and the file name are independent but the buffer name defaults  
to the file name.
X
The buffer name is used to refer to a specific buffer. The 'change-buffer'  
('Ctl-X B') command will prompt you for a buffer name. After you enter a  
buffer name that buffer will be displayed in the current window. If there  
is no such buffer, one will be created and displayed (it will be empty).
X
When 

X.I beav
is run with a file name as a command line parameter, the file is read into  
a new buffer. The buffer name will be made the same as the file name. The  
file name is only used when the buffer is saved. If the file name is  
changed using the 'buffer-set-file-name' ('Ctl-X Ctl-F') command then when  
the buffer is saved it will be saved to the new file.
X
Buffers are dynamically allocated. They grow or shrink as the size of the  
data they contain changes. The buffer size can be frozen using the  
'buffer-size-lock' ('Ctl-X Ctl-L') command. This prevents inserting or  
deleting data from the buffer but data can be modified.
X
Buffers continue to exist even if they are not being displayed. Buffers are  
saved in a linked list that can be stepped through using the  
'change-to-next-buffer' ('Esc +') or 'change-to-prev-buffer' ('Esc -')  
commands. If the 'change-to-next-buffer' command is given then the next  
buffer in the list is displayed in the current window.
X
X.B Files
X
XFiles are the means of storing data on disk. Files or segments of files  
can be loaded into 

X.I beav
for editing or viewing. The file on the disk has not been changed until 

X.I beav
does a save to that file. When a save to a file is performed the original  
file contents in saved in a ".BAK" file.
X
X.B Key Binding
X
All commands in 

X.I beav
have a command name and a default key binding. The bindings may be changed  
to suit personal preference by using the 'bind-to-key' ('Esc K') command.    
The current binding of a key sequence can be displayed by using the  
'binding-for-key' ('Ctl-X ?') command.
X
If there is an environment variable "BEAV=" and it is set to a file name,  
all key bindings that the user sets are saved in this file. When 

X.I beav
is started again this file is read and these bindings are loaded. Thus, any  
bindings that a user creates becomes permanent.   This file is a simple  
text file and can be edited to make changes.
X
X.B Configuration
X
When 

X.I beav
is first run it detects whether the system is an IBM PC or a clone. If a PC  
is detected then a set of key bindings that use the 10 function keys and  
the relevant keypad keys are loaded. If the system is not recognized then  
only the standard bindings are loaded.
X
If a PC is detected the screen is managed by making BIOS level calls that  
enhance performance. Otherwise, the screen is controlled by making ANSI  
compatible calls to the operating system. This is much slower but is not  
sensitive to hardware configuration. This requires that non-standard  
systems support ANSI display controls. The following ANSI escape sequences  
are used :
X.PP
X.nf
X.ta .5i 2i
X	Position cursor	ESC [ <row> ; <column> H
X
X	Erase to end of line	ESC [ 0 K
X
X	Erase to end of page	ESC [ 0 J
X
X	Normal video	ESC [ 0 m
X
X	Reverse video	ESC [ 7 m
X.fi
X.PP
X.SH COMMAND DESCRIPTION
This section describes all 

X.I beav
commands as to their function and any side effects that they may have. The  
first line of each description of a command will begin with the default key  
binding then the command name and follows with the key binding for a PC.
X
X.B Help
X
This command returns information that will aid in the use of 

X.I beav
X\.
X.PP
X.ta 1i +1.5i +1.5i
X	Esc ?	help	F1
X.fi
X.PP
A new window is opened by splitting the current window then all current key  
bindings are displayed. This buffer is larger than can be shown at one time  
and must be scrolled up and down to see all entries. All commands that do  
not alter data can be used to move around and search the help buffer. To  
leave the help buffer you move to the next window using the  
'change-window-forw' command ('Ctl-X N'). The help window can be removed  
from the screen by making the current window the only window with the  
'window-single' command ('Ctl-X 1').
X
X.B Cursor Movement
X
There are a number of commands that move the cursor around the current  
window. If the cursor bumps the top or the bottom of the window the  
position of the window will be adjusted so as to keep the cursor within the  
bounds. When the window is moved in response to cursor movements it is  
moved by about one third of the window size. This improves performance by  
reducing the number of window moves.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-P	move-back-line	North (up arrow)
X	Ctl-N	move-forw-line	South (down arrow)
X.fi
X.PP
These commands move the cursor up one line or down one line. If the cursor  
is on the top line in the buffer and a 'move-back-line' command is given  
the cursor will jump to the beginning of the first unit in the buffer. If  
the cursor is on the last line of the buffer and a 'move-forw-line' is  
given the cursor will move to the last unit in the buffer.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-F	move-forw-char	East (right arrow)
X	Ctl-B	Move-back-char	West (left arrow)
X.fi
X.PP
These commands move the cursor forward or backward in the current line. If  
the cursor is at the first character in the first unit of the line and the  
'move-back-char' command is given then the cursor will wrap to the last  
character of the previous line. If the cursor is at the last character of  
the last unit in the current line then it will wrap to the first character  
of the next line.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc F	move-forw-unit	Ctl-East
X	Esc B	move-back-unit	Ctl-West
X.fi
X.PP
These commands are similar to the above set but they move the cursor by  
units rather than characters. The command 'move-forw-unit' will position  
the cursor to the first character of the next unit. The command  
'move-back-unit' will move the cursor to the first character of the  
previous unit.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-V	move-forw-page	PageUp
X	Esc V	move-back-page	PageDown
X.fi
X.PP
These commands move the move the data in the window by the number of lines  
in the window less one. The cursor will stay in the same position relative  
to the window as the data is moved.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc <	move-to-beginning	Home
X	Esc >	move-to-end	End
X.fi
X.PP
Move the cursor to the beginning or the end of the buffer.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X G	move-to-byte	F9
X.fi
X.PP
Prompt for a byte offset, then go to that position in the current buffer.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-N	move-window-down	Ctl-Z
X	Ctl-X Ctl-P	move-window-up	Esc Z
X.fi
X.PP
Move the buffer in the window up or down by one line. This does not effect  
the cursor until it hits the top or bottom of the window.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc .	mark-set	F2
X.fi
X.PP
Set the mark position to the current cursor position. The mark position is  
remembered even for nonactive windows and buffers.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-X	swap-cursor-and-mark
X.fi
X.PP
The position of the cursor and the position of the mark are swapped.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc L	window-link
X.fi
X.PP
This command causes all windows that are displaying the contents of the  
current buffer to have the same cursor position. Thus if one window is  
scrolled then all other windows that display that buffer are scrolled so as  
to keep the cursor in the window.
X
X.B Buffer Management
X
Buffers store all data that is being edited. The only limit to the number  
of buffers is the size of available memory. If a file is loaded into a  
buffer and there is insufficient memory to hold the entire file, then it  
will be loaded until memory is exhausted. The buffer will then be set to  
read only mode.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-B	buffers-display	Ctl-F1
X.fi
X.PP
A new window is opened and a list of all buffers in 

X.I beav
is displayed. The list contains the buffer name, the file name (if it  
exists), the buffer size, and a state flag. If the list is too large for  
the window, you can go to that window and scroll the list.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X B	change-buffer	Ctl-F2
X.fi
X.PP
This command prompts you for a buffer name. If you enter the name of an  
existing buffer, that buffer will be displayed in the current window. If  
the name does not match an existing buffer, a new buffer will be created  
and displayed. This buffer will be empty and will have no file name.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc +	change-to-next-buffer	Ctl-F4
X	Esc -	change-to-prev-buffer	Ctl-F5
X.fi
X.PP
The next or the previous buffer in the buffer list is displayed in the  
current window. This does not effect buffers that are displayed in other  
windows.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc G	move-to-buffer-split
X.fi
X.PP
Prompt for a buffer name. Then split the current window and display that  
buffer, creating it if necessary.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc Ctl-N	buffer-set-name	Esc Ctl-N
X.fi
X.PP
The current buffer name is changed to the name that you enter. This does  
not effect the file name.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-F	buffer-set-file-name	Ctl-F7
X.fi
X.PP
The file name of the current buffer is changed to the name that you enter.  
This does not affect the buffer name.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X K	kill-buffer	Ctl-F3
X.fi
X.PP
This command prompts you for a buffer name. This buffer is then deleted. If  
the buffer is currently being displayed you are prompted for conformation.  
If the buffer has been changed you are again prompted for conformation.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-L	buffer-size-lock
X.fi
X.PP
The buffer size is prevented from being changed. Data can be edited but  
only by changing the existing data. If a buffer is copied into a  
size-locked buffer the operation well be successful but will overwrite  
existing data. This command toggles between locked and unlocked.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc Y	yank-buffer	Ctl-F6
X.fi
X.PP
Data from one buffer is inserted into the current buffer at the cursor  
position. You are prompted for the name of the buffer to copy from.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Esc O	save-mark-to-cursor
X.fi
X.PP
Prompt for a buffer name. Create a new buffer with that name and write the  
data from the mark to the cursor into that buffer.
X
X.B File Management
X
These commands control 

X.I beav
X's access to files. Files are loaded into buffers or are written from  
buffers. Commands that prompt for a file name also accept range parameters.  
Range parameters are always given in the numeric base of the current  
window. Thus if you are displaying data in decimal format then the range  
parameters must be entered in decimal.
X
The size of a file read or write can be limited by specifying a range. The  
range parameter specifies the offset into the file, not the buffer. Range  
parameters can be specified in these forms;
X.PP
X.nf
X.ta 1i +1.i +1.i
X	<file name>	<start address>
X	<file name>	<start address>	<end address>
X	<file name>	<start address>	+<length>
X.fi
X.PP
The first form causes the read or write to begin from the <start address>  
value until the end of the buffer on write or the end of the file on read.
X The second form reads or writes from <start address> until <end address>  
non-inclusive.
X The third form reads or writes from <start address> for <length> bytes.
X
Thus, if the command 'file-read' is given and you enter at the prompt;  
main.obj 1000 +100. If the current display mode is hex, the file "main.obj"  
will be read from hex byte address 1000 to 10FF into the buffer.
X.PP
X.nf
X.ta 1i +1.5i +1.5i
X	Ctl-X Ctl-R	file-read	Sh-F2
X.fi
X.PP
Prompt for a file name and read that file into the current buffer. This  
overwrites the current contents of the buffer. The buffer name is not  
changed but the buffer file name is set to the new file name.
X.PP
X.nf
X	Ctl-X Ctl-S	file-save	Sh-F3
X.fi
X.PP
Write the current buffer out to the file if it has been changed. If the  
buffer has not been changed then do nothing.
X.PP
X.nf
X	Ctl-X V	file-view
X.fi
X.PP
Prompt for a file name and read file into a new buffer and display in  
current window. Set to read-only mode.
X.PP
X.nf
X	Ctl-X Ctl-V	file-visit	Sh-F4
X.fi
X.PP
Prompt for a file name. If the buffer already exists then display it in the  
current window. Otherwise, read file into a new buffer and display in  
current window. If there is no such file then create it.
X.PP
X.nf
X	Esc U	file-visit-split
X.fi
X.PP
Same as above but split current window and display new buffer. This  
displays the new buffer as well as the old buffer.
X.PP
X.nf
X	Ctl-X Ctl-W	file-write	Sh-F5
X.fi
X.PP
Prompt for a file name, then write the current buffer to that file.
X.PP
X.nf
X	Ctl-X Tab	insert-file	Sh-F8
X.fi
X.PP
Prompt for a file name and insert that file into the current buffer at the  
cursor position.
X.PP
X.nf
X	Ctl-X Return	save-all-buffers	Sh-F6
X.fi
X.PP
Write all buffers that have been changed to their respective files.
X
X.B Window Management
X
X.I Beav
presents information to the user in one or more windows. Each window is a  
view into a buffer where the data is actually stored. The window controls  
how this data is formatted for display to the user. Data can be displayed  
as HEX bytes, OCTAL bytes, ASCII characters, plus many others. The display  
format is associated with the window. Thus if a new buffer is displayed in  
the current window that new data will be displayed in the current windows  
format.
X
The only limit to the number of windows is the screen size. A window can be  
no smaller than two lines. This along with the mode line associated with  
each window limits to eight the number of windows on an IBM PC 25 line  
screen.
X
Any window can view any buffer including having many windows on the same  
buffer. For example, two windows can display the same buffer but present  
the data in two different modes. One window could display HEX bytes and the  
other could display ASCII characters.
X.PP
X.nf
X	Ctl-P	change-window-back	Ctl-PageUp
X	Ctl-N	change-window-forw	Ctl-PageDown
X.fi
X.PP
These commands move the cursor to the next or previous window on the  
screen, making it the current window.
X.PP
X.nf
X	Ctl-X Z	window-enlarge
X	Ctl-X Ctl-Z	window-shrink
X.fi
X.PP
XEnlarge or shrink the current window size by one line.
X.PP
X.nf
X	Esc !	window-reposition
X.fi
X.PP
Move window position so that the cursor is centered in the window. The  
cursor position in the buffer does not change.
X.PP
X.nf
X	Ctl-X 2	window-split
X.fi
X.PP
Split the current window into equal parts. Both haves have the same display  
mode and view the save buffer.
X.PP
X.nf
X	Ctl-X 1	window-single
X.fi
X.PP
XExpand the current window to fill the entire display, all other windows  
are removed. Make the current window the only window displayed. This has no  
effect on the underlying buffers except that they may not be displayed any  
more.
X.PP
X.nf
X	Esc Ctl-A	display-ascii
X	Esc Ctl-E	display-ebcdic
X	Esc Ctl-H	display-hex
X	Esc Ctl-O	display-octal
X	Esc Ctl-D	display-decimal
X	Esc Ctl-B	display-binary
X.fi
X.PP
These commands set the window display mode. Text buffers can be displayed  
as ASCII or EBCDIC characters. Buffers that are not human readable can also  
be displayed in hexadecimal, octal, decimal, or binary format.
X.PP
X.nf
X	Esc 1	display-bytes
X	Esc 2	display-words
X	Esc 4	display-double-words
X.fi
X.PP
As a further option on the non-text display modes, data can be displayed as  
8, 16, or 32 bit values.
X.PP
X.nf
X	Ctl-E	display-swap-order
X.fi
X.PP
When data is displayed as words or double words the order of significance  
can be changed. In Intel microprocessors the least significant byte of a  
word is stored at the lowest address. Thus if the word 5892 (HEX) were  
stored at memory address 10, then 92 (HEX) would be stored at address 10  
and 58 (HEX) would be stored at address 11. In Motorola microprocessors the  
reverse is true. This command toggles between the Intel and Motorola  
schemes of assembling bytes into words and double words. This command has  
no effect on byte display or on the text display modes. The data in the  
buffer is not changed.
X.PP
X.nf
X	Ctl-A	display-byte-shift
X.fi
X.PP
This command changes the offset from the beginning of the buffer used to  
assemble words and double words. The default shift is 0. For example, a  
double word at address 10 is made up of the bytes at address 10, 11, 12,  
and 13. With a shift of 1 that double word would be made of bytes 11, 12,  
13, and 14. With a shift of 2 then bytes 12, 13, 14, and 15 would be used.  
The maximum shift in word display mode is one and the maximum shift in  
double word mode is three.
X
The buffer is in effect shifted toward the beginning of the buffer with 1,  
2, or 3 bytes becoming not visible. These bytes are not lost, they become  
visible when the shift is set to zero. This command cycles through all  
possible shift values. There is no effect in any byte display mode or any  
text display mode.
X
X.B Inserting and deleting
X
X These commands are the core of 

X.I beav
X\. These commands allow the buffer to be edited in a similar fashion to a  
text editor. 

X.I Beav
has an insert mode much the same as text editors but it only works when  
displaying data in one of the text modes, either ASCII or EBCDIC. In other  
modes it doesn't make any sense to insert characters as they are typed when  
there is more than one characters per unit. In the data modes there is a  
command that inserts a unit of zeros into the buffer. Similarly the delete  
commands always delete a unit rather than a character. In a text mode the  
delete commands work as in a text editor because a unit is a character.
X.PP
X.nf
X	Ctl-X I	insert-unit
X.fi
X.PP
Insert a zero at the cursor position. The rest of the data moves down one  
place. Thus, if double words are being displayed, four bytes are inserted  
before the cursor position. These bytes are initialized to zero. This  
command works in all display modes.
X.PP
X.nf
X	Ctl-X Ctl-A	insert-toggle	Insert
X.fi
X.PP
In either of the two text modes this command toggles between insert mode  
and overwrite mode. In insert mode each character that is typed is inserted  
in front of the cursor and the rest of the buffer is moved down. In  
overwrite mode the typed characters replace the character that is at the  
cursor. This command has no effect in a non-text display mode.
X.PP
X.nf
X	Ctl-Q	insert-literally	Esc Q
X.fi
X.PP
This command sets a special temporary mode where the next typed character  
is inserted in the buffer no matter what the character is. This allows  
control codes to be inserted in the buffer when in a text display mode.  
Alternatively the same byte could be inserted into the buffer by using one  
of the data display modes. It night be faster to use this command on some  
occasions.
X.PP
X.nf
X	Ctl-T	unit-twiddle
X.fi
X.PP
The unit at the cursor is swapped with the previous unit.
X.PP
X.nf
X	Rubout	delete-back-char	Backspace
X.fi
X.PP
This command deletes the character before the cursor and pulls the rest of  
the buffer back. The cursor remains on the same character as it moves back.  
It only works in the text and byte display modes.
X.PP
X.nf
X	Ctl-D	delete-forw-char	Delete
X.fi
X.PP
The character at the cursor is deleted and the buffer is pulled back. The  
cursor remains at the same position. It only works in the text and byte  
display modes.
X.PP
X.nf
X	Esc Rubout	delete-back-unit	Esc Ctl-K
X.fi
X.PP
This command deletes the unit before the cursor and pulls the rest of the  
buffer back. The cursor remains on the same unit as it moves back.
X.PP
X.nf
X	Esc D	delete-forw-unit
X.fi
X.PP
The unit at the cursor is deleted and the buffer is pulled back. The cursor  
remains at the same position.
X.PP
X.nf
X	Esc W	copy-mark-to-cursor	F7
X.fi
X.PP
The area in the buffer from the mark to the current cursor position is  
copied into the kill buffer. If the mark is not set before this command is  
given an error is reported.
X.PP
X.nf
X	Ctl-W	delete-mark-to-cursor	F8
X.fi
X.PP
The area in the buffer from the mark to the current cursor position is  
deleted and placed into the kill buffer. If the mark is not set before this  
command is given an error is reported.
X.PP
X.nf
X	Ctl-Y	yank	F6
X.fi
X.PP
The contents of the kill buffer is inserted into the buffer at the cursor  
position. The kill buffer itself is not changed.
X
X.B Search and Replace Commands
X
X.I Beav
has very powerful search and replace commands. The search and replace  
string can be entered in any of the display modes. The search and replace  
strings can each be up to 256 bytes long. The display mode can be changed  
at any time while entering the string. Wild cards can be placed down to the  
bit level on both the search and replace strings. The wild card character,  
'?', will match any value that it is compared with.
X
When a wild card is placed in the replace string it leaves the destination  
data unchanged at that position. Thus, if the destination contains the  
ASCII string '41 42 43 44' and the replace string contains '66 67 ?? 69'  
the result would be '66 67 43 69'.
X
Wild cards can be placed in any position that makes sense. If you want to  
use wild cards in an ASCII string then you must switch to another mode to  
enter them. You can then switch back to ASCII mode. In this case a '?' will  
appear in the position where the wild card has been placed but it appears  
exactly the same as a standard question mark. In fact if you type a '?'  
over the wild card there will be no apparent change. However, the character  
will no longer be a wild card but a standard question mark. To see the true  
wild cards you must use a data display mode. In fact if the wild card has  
been set on the bit level then you must go to binary display mode to see  
its actual position.
X
The commands to change the display mode in search and replace are the same  
as for the window display mode. The search and replace strings can be  
scrolled back an forth and the cursor moved using the same commands as for  
the window. While performing a replace command you can switch between the  
search string and replace string by using the 'move-back-page' or  
'move-forw-page' commands.
X.PP
X.nf
X	Esc S	search-forw	F3
X.fi
X.PP
Prompts for a search string then searches from the current cursor position  
for the first match. The cursor is positioned at the first unit of the  
match.
X.PP
X.nf
X	Esc R	search-back
X.fi
X.PP
This command is the same as the previous one except that it searches  
backward.
X.PP
X.nf
X	Esc T	search-again	F4
X.fi
X.PP
This command repeats the previous search command, forward or backward. The  
cursor is first moved one byte in the appropriate direction before the  
search is repeated.
X.PP
X.nf
X	Esc %	replace	F5
X.fi
X.PP
Prompt for search string. After entering the search string hit return and  
you will be prompted for the replace string. After entering the replace  
string hit return. 

X.I Beav
will then search for the first match with the search string. If a match is  
found you will be prompted with '(R)eplace, (S)kip, (A)ll, (O)ne, (Q)uit'
X
If you type a 'R' the replace will be done at this location and the search  
will continue. If you type a 'S' the replace will not be done and search  
will continue. If you type an 'A' the replace will be done and will be done  
at all future matches without pausing for conformation. If you type an 'O'  
the replace will be done at this location and the search will stop. If you  
type a 'Q' then the search will be terminated.
X.PP
X.nf
X	Ctl-R	recall-srch-string
X.fi
X.PP
If you enter search or replace previously used strings can be recalled with  
this command.
X
X.B Exiting BEAV
X
While using
X.I beav
individual buffers may be saved to disk during the editing session. When  
quitting
X.I beav
you must save all buffers or delete all buffers. There are two commands  
that that do this.
X.PP
X.nf
X	Ctl-C	quit-no-save	Sh-F10
X.fi
X.PP
If there are any unsaved buffers you will be prompted for conformation  
before proceeding. All buffers will be deleted then you will return to DOS.
X.PP
X.nf
X	Ctl-X Ctl-E	quit-save-all	Sh-F9
X.fi
X.PP
All buffers are saved before exiting to DOS.
X
X.B Printing
X
The data that is being displayed in
X.I beav
can be printed or sent to a file in the same format as displayed. If the  
current window is displaying octal words and a print command is given the  
format of the print will be in the format of the window; that is, octal  
words.
X.PP
X.nf
X	Esc P	print-mark-to-cursor	Ctl-Print
X.fi
X.PP
To use this command you must set the mark and the cursor to define the  
region that you want printed. If the mark is not set it as assumed to be at  
the first unit. After you enter the command you will be prompted with  
'Print to:'. You can enter a file name or a device name to send the print  
image to. If you enter 'PRN' most systems will print a hard copy.
X
This is useful for getting a print out of the current key bindings. To do  
this give the 'help' command 'F1'. Go to the bottom of the help window  
using the 'move-to-end' command 'End', the mark will be assumed to be at  
the beginning of the buffer. Issue the 'print-mark-to-cursor' command.  
Enter 'PRN' at the prompt. This should print the complete help buffer and  
will reflect any changes that you have made to the key bindings.
X
X.B Keyboard Macros
X
X.I Beav
has the capability of recording key strokes as they are entered and playing  
them back later. This is useful for repeating multi-keystroke operations.
X.PP
X.nf
X	Ctl-X (	macro-start
X.fi
X.PP
Start recording key strokes. There is no effect on the operation of the key  
strokes. Any previous recorded key strokes are cleared.
X.PP
X.nf
X	Ctl-X )	macro-end
X.fi
X.PP
Stop recording key strokes. The key strokes are available for play back.
X.PP
X.nf
X	Ctl-X E	macro-execute
X.fi
X.PP
Play back the recorded key strokes. The key strokes that were recorded are  
played back as if they were typed at the keyboard.
X
X.B Key Binding
X
X.I Beav
provides a user configurable interface. The interface is controlled by a  
set of key bindings. This relates the command that will be executed when a  
particular key stroke is entered. There are a set of default key bindings  
as described in this manual. These can be changed to reflect your  
preferences. When a change is made it is reflected in the help screen.
X.PP
X.nf
X	Ctl-X ?	binding-for-key	Sh-F1
X.fi
X.PP
This command will tell you what function a certain key sequence is bound  
to. When this command is given you will be prompted for a key stroke or key  
stroke sequence.
X.I Beav
will report back with the function name.
X.PP
X.nf
X	Esc K	bind-to-key
X.fi
X.PP
XFirst you will prompted for a function name. Enter the name of the  
function that you wish to create a new binding for. Function names are the  
names listed in this manual that are of the form of 'move-forw-unit' or  
'display-hex'. After you enter the name hit return. You will be prompted  
for a key. This can be in the form of a single standard key such as 'Z'.  
Standard key sequences can be entered such as 'Ctl-X Z' or 'Esc Z'. Special  
keys can be entered such as 'F1' (function key 1) or 'Page Down'. It is  
probably a good idea to not use keys that are needed for editing. If you  
bound 'Z' to a function then you would not be able to enter it as a  
keystroke when using ASCII display mode. You could still enter it using the  
'insert-literally' command or doing it in one of the data display modes but  
this would be more cumbersome.
X.PP
X.nf
X	Ctl-X L	bindings-load
X.fi
X.PP
You are prompted for a file name that contains the key binding that you  
wish to set. This file is read in and the appropriate bindings are set. The  
text in the binding file should be of the form;
X.PP
X.nf
X	<key name>	<function name>	<key code>
X.fi
X.PP
XFor example;
X.PP
X.nf
X	Ctl-X Ctl-P	move-back-char	0550
X	F1	move-forw-char	04bb
X	Ctl-A	move-forw-unit	0141
X	Esc Ctl-T	move-back-unit	0354
X.fi
X.PP
The easiest way of producing a valid key binding file is to set the  
'BEAV=<file name>' environment variable, then in
X.I beav
set the desired bindings. The file created will be a valid format for  
loading and can be edited as desired. It is the only way to reliably get  
the <key code> number. 

X
X.B Special Functions
X
These are the commands that do not logically fit under one of the previous  
headings
X.PP
X.nf
X	Ctl-G	abort-cmd	F10
X.fi
X.PP
This command aborts the current command. It can even abort a partially  
entered command. Thus, if you have typed an 'Esc' as that start of a  
command you can type Ctl-G to return to the normal command entry mode.
X.PP
X.nf
X	Esc A	auto-save
X.fi
X.PP
X.I Beav
can be set to automatically save the current buffer after a specified  
number of buffer editing commands are given. This command first prompts for  
the number of operations before the save is made. If a zero is entered at  
the prompt, this feature is disabled. The default condition of this command  
is disabled.
X.PP
X.nf
X	Esc C	compare
X.fi
X.PP
This is a powerful feature of
X.I beav
X\. The contents of two windows are compared byte for byte from the current  
cursor position in each window. There must be exactly two windows to use  
this command. These windows can be displaying the same or different  
buffers. When a difference is found the cursor in each window is moved to  
that position and both windows are moved accordingly. The display mode does  
not affect the operation of this command except in restricting the cursor  
position to whole units.
X.PP
X.nf
X	Esc X	extended-command
X.fi
X.PP
If any command looses its binding, this command allows the unbound command  
to be used. A command can loose its binding because the binding was  
assigned to another command. When this command is given you will be  
prompted for a command name. Enter the command name that you wish to  
execute, it will be executed as if you had typed its key binding.
X.PP
X.nf
X	Ctl-L	refresh-screen
X.fi
X.PP
The screen is reprinted from
X.I beav
X's internal buffer. This is useful if the display is messed up due to  
transmission errors. On a PC this is unlikely to happen.
X.PP
X.nf
X	Esc Ctl-V	show-version
X.fi
X.PP
The version and date of
X.I beav
is displayed in the command line.
X.PP
X.nf
X	Ctl-X C	spawn-shell
X.fi
X.PP
A new MSDOS command shell is created. You can return to
X.I beav
by typing 'exit'.
X.PP
X.nf
X	Ctl-U	repeat count
X.fi
X.PP
This command prompts for a number to be entered. This causes the next  
command given to be repeated by that number of times. This command cannot  
have it's binding changed and cannot be issued using the 'extended-command'  
function.
X.bp
X.SH "Key Bindings"
The following table describes the default key bindings.
X.PP
X.nf
X.ta 2i +1.5i +1i
X.B Command	Key	Section
X\l'4i'
abort-cmd	Ctl-G	3.12
abort-cmd	Ctl-X Ctl-G	3.12
abort-cmd	Esc Ctl-G	3.12
abort-cmd	F10	3.12
auto-save	Esc A	3.12
bind-to-key	Esc K	3.11
binding-for-key	Ctl-X ?	3.11
binding-for-key	Sh-F1	3.11
bindings-load	Ctl-X L	3.11
buffer-set-file-name	Ctl-F7	3.3
buffer-set-file-name	Ctl-X Ctl-F	3.3
buffer-set-file-name	Sh-F7	3.3
buffer-set-name	Esc Ctl-N	3.3
buffer-size-lock	Ctl-X Ctl-L	3.3
buffers-display	Ctl-F1	3.3
buffers-display	Ctl-X Ctl-B	3.3
change-buffer	Ctl-F2	3.3
change-buffer	Ctl-X B	3.3
change-to-next-buffer	Ctl-F4	3.3
change-to-next-buffer	Esc +	3.3
change-to-prev-buffer	Ctl-F5	3.3
change-to-prev-buffer	Esc -	3.3
change-window-back	Ctl-PageUp	3.5
change-window-back	Ctl-X P	3.5
change-window-forw	Ctl-PageDown	3.5
change-window-forw	Ctl-X N	3.5
compare	Esc C	3.12
copy-mark-to-cursor	Esc W	3.6
copy-mark-to-cursor	F7	3.6
delete-back-char	Backspace	3.6
delete-back-char	Rubout	3.6
delete-back-unit	Esc Ctl-K	3.6
delete-back-unit	Esc Rubout	3.6
delete-forw-char	Ctl-D	3.6
delete-forw-char	Delete	3.6
delete-forw-unit	Esc D	3.6
delete-mark-to-cursor	Ctl-W	3.6
delete-mark-to-cursor	F8	3.6
display-ascii	Esc Ctl-A	3.5
display-binary	Esc Ctl-B	3.5
display-byte-shift	Ctl-A	3.5
display-bytes	Esc 1	3.5
display-decimal	Esc Ctl-D	3.5
display-double-words	Esc 4	3.5
display-ebcdic	Esc Ctl-E	3.5
display-hex	Esc Backspace	3.5
display-octal	Esc Ctl-O	3.5
X.bp
X.B Command	Key	Section
X\l'4i'
display-swap-order	Ctl-E	3.5
display-words	Esc 2	3.5
extended-command	Esc X	3.12
file-read	Ctl-X Ctl-R	3.4
file-read	Sh-F2	3.4
file-save	Ctl-X Ctl-S	3.4
file-save	Sh-F3	3.4
file-view	Ctl-X V	3.4
file-visit	Ctl-X Ctl-V	3.4
file-visit	Sh-F4	3.4
file-visit-split	Esc U	3.4
file-write	Ctl-X Ctl-W	3.4
file-write	Sh-F5	3.4
help	Esc ?	3.1
help	F1	3.1
insert-file	Ctl-F8	3.4
insert-file	Ctl-X Tab	3.4
insert-file	Sh-F8	3.4
insert-literally	Ctl-Q	3.6
insert-literally	Esc Q	3.6
insert-toggle	Ctl-X Ctl-A	3.6
insert-toggle	Insert	3.6
insert-unit	Ctl-X I	3.6
kill-buffer	Ctl-F3	3.3
kill-buffer	Ctl-X K	3.3
macro-end	Ctl-X )	3.10
macro-execute	Ctl-X E	3.10
macro-start	Ctl-X (	3.10
mark-set	Esc .	3.2
mark-set	F2	3.2
move-back-char	Ctl-B	3.2
move-back-char	West	3.2
move-back-line	Ctl-P	3.2
move-back-line	North	3.2
move-back-page	Esc V	3.2
move-back-page	PageDown	3.2
move-back-unit	Ctl-West	3.2
move-back-unit	Esc B	3.2
move-forw-char	Ctl-F	3.2
move-forw-char	East	3.2
move-forw-line	Ctl-N	3.2
move-forw-line	South	3.2
move-forw-page	Ctl-V	3.2
move-forw-page	PageUp	3.2
move-forw-unit	Ctl-East	3.2
move-forw-unit	Esc F	3.2
move-forw-unit	Sh-Tab	3.2
move-to-beginning	Esc <	3.2
move-to-beginning	Home	3.2
X.bp
X.B Command	Key	Section
X\l'4i'
move-to-buffer-split	Esc G	3.2
move-to-byte	Ctl-X G	3.2
move-to-byte	F9	3.2
move-to-end	End	3.2
move-to-end	Esc >	3.2
move-window-down	Ctl-X Ctl-N	3.2
move-window-down	Ctl-Z	3.2
move-window-up	Ctl-X Ctl-P	3.2
move-window-up	Esc Z	3.2
print-mark-to-cursor	Ctl-Print	3.9
print-mark-to-cursor	Esc P	3.9
quit-no-save	Ctl-C	3.8
quit-no-save	Ctl-F10	3.8
quit-no-save	Ctl-X Ctl-C	3.8
quit-no-save	Sh-F10	3.8
quit-save-all	Ctl-F9	3.8
quit-save-all	Ctl-X Ctl-E	3.8
quit-save-all	Sh-F9	3.8
recall-srch-string	Ctl-R	3.7
refresh-screen	Ctl-L	3.12
replace	Esc %	3.7
replace	F5	3.7
save-all-buffers	Ctl-X Return	3.4
save-all-buffers	Sh-F6	3.4
save-mark-to-cursor	Esc O	3.3
search-again	Esc T	3.7
search-again	F4	3.7
search-back	Esc R	3.7
search-forw	Esc S	3.7
search-forw	F3	3.7
show-position	Ctl-X =	3.2
show-version	Esc Ctl-V	3.12
spawn-shell	Ctl-X C	3.12
swap-cursor-and-mark	Ctl-X Ctl-X	3.2
unit-twiddle	Ctl-T	3.6
window-enlarge	Ctl-X Z	3.5
window-link	Esc L	3.2
window-reposition	Esc !	3.5
window-shrink	Ctl-X Ctl-Z	3.5
window-single	Ctl-X 1	3.5
window-split	Ctl-X 2	3.5
yank	Ctl-Y	3.6
yank	F6	3.6
yank-buffer	Ctl-F6	3.3
yank-buffer	Esc Y	3.3
X
X.SH "SEE ALSO"
emacs(1).
END_OF_FILE
if test 41690 -ne `wc -c <'beav.1'`; then
    echo shar: \"'beav.1'\" unpacked with wrong size!
fi
# end of 'beav.1'
fi
echo shar: End of shell archive.
exit 0