SPHRASE.BASm2_}ހ  !#"%$'&()+*-,/.102435687:9<;=?>@ACBDFEGIHJKLMNOPQRSTVUWXYp$[Z\^]_a`cbd egfhnti0kjmlpnoq,r sutwvyx{z|}~o|v%{i~}wa1j'=zm " ]Kqg#3P^Wr-+6<@>GOQs[yx!)&27BAY\`_  (5?EUJbVdcfeu*/.89;ICMLSklez'ڦ,(/|Sx{Of<"rmB U_ij.6Cpmt1>&O/a,kOgg=lOSHR6܅{pK:zʝF3m::yTt3u&MWy?SwiOYBY;Lrϻo =|b&n.msl5!a1 O_|T.. m<CgnpV>& l\c.Tqlʼz}jr]l/- f?l5[0g g`.|LCٙN~^oDl{< {ݳ\Q1r>= gګ=|A12d^y F½,\<C▚ 凇5Dq1һg L+-x-O5HYU͝F7!&zQ/~bs#^T,%sƟ7;+o ^zD4J ^z &;+ka$ܓz<xslʼz]5?Lu @ nΤb3T9/$u:+#K>bpZ\)rG|Tdw*i/6KZ2"q2bmB]ۮoY_@Y8Κr{ksWc0$jI3_YF_WVr7EfX5Q;j]E{"~k/c0=s3 5+z j\DitN_{yvEdK3xk/em#og[vۿ %ͤBUidDr^HUJ}Na3V>jnTu 3އT`H=[V-pOquq1N*kFWj͝F7⾻n N<{P(F\II\aRl؋I7A#Y=Uh4J tӫk>B(XfY - U=y=sS0_ Fslʼz]&,F%Fy: hGN_{Y ԯoVwM3Th1/l|BU/B~A4wV%ވmcᄲaQ7%y( ;+o0<~&AolDFߢjMqTkZSd~ZSv ԃuz&*?} 狲gx̵T"u=;}%ujg@ȗ nUnv(FܷYSvxk} e[D6L͢g:¦eH!eY)r Ya`8u٫a`H=X٘z̤b96rQe^>_E1U`h4Ja_\' Yix7|äQelfի`h4J aRϒ&FgdFbT`U`͝F7ooBX.x_C>! , ,z脲E}N(ۙmv<%ډ/`xQTkjM e!N<NtNtBm2?:^m]N_{yq\<CBU >`s̽j%llB1LAp4 r-&.x ޝ5]ﻳ\ʶl g'HT) ˘ d(^ £XD&0iiHG`7;Cf3>= Ͽ<.T 6ܫ5Ά%x^/T."͛`ˮruv.υ?Kaˮr7^g!<CY%?"|l6"2wL-zgQ w {:l -h_Κrg'|6xq-x 7湧s:\ip`H=[тF|]|>Zjpa%Ϣաt>R m>H{|-6eڪ[vc(k;j]EuEwR4N_{y-?_[Pk ~TGt>K\OۃҶU'ZG i⤽\')8BY.NP,SۃzO#NW\O\)"ND}qV2? ,E&DmꊓСD_X~P*D<<q.5'h{PoJK,',~\CA\\I_R{"=( 8i4F\)oNPd+ N-n+S?)eپ *N-`Vdپ*NK8Q} q({$TjA滓bk{P%'nOh'ξD0q2bDNtd~mʥRR:qb2{#NL&\8 'aŒ*-@sgQaߒ:lJ&;q@x55h4J}7狂2}}N(YD {脲6hov".5nM(f*e!v~h4JfaBRqbYW?qZt)"<̈́`R,&XL?x5c0$' j' N =={脲 ^{Wl'g:[1ֿ{c٘g̣tVƳ\F]DxQktP(.ƹ"Q88 V~aYUn͟Y2KR ,ۋx76Wn/ضEd;ҍ/.p ̪*p#IfUd'S]"ލ͕wۋx7m.[ d(^ £XD @LH@ڟY.ܫO٬* F_Ǝ` 3y5+V?[xcgu4w{損`Ho?@ABCDEFGHIJKLMNOPRQTSUVXWYZ\[^]`_cbaegfdhiljkdqnopustvmr3oDG:o4"{af#x tF54"Ј߰3jDfAB#2WI7]p}F"7ח6xg4+<`YZL #7ߕD =OFnwaMڹ_[c9,ݐ}.gCFn x6 aO}F"7S_<`$❽Fd̯a}^@ȯy96|麍0rmp3l^\Kݐ9Ԡs}y|9w\}9Bwܯ}9;WG5"Y64YLoѺhX F8ZܠJzёSM h,,lD֗kD˛efD2Vcw9tm^Ij 4&/hF$Ai#:OcgC6fܰT>i#s* JF7:lnsSck K-W*ØS˕ ՘uu% '1/oe|`6(e|~Ș n]y5fߚe|~Jspmpl0W9FQjFVO-uFV;R7Œm35\3:nynT;(:Ai#[iP=5ƣ'B>tmܠz2t0XQa,5mXbmF#4#|6s E9F$`Ǜ%#`Hl}z8bmtf7vH}ِ-c6X5ްftͰoyι1وy ,M|V`9n;'9[,́J||6,M0{68RxӯYڹ߳yuӆkv]>ʀ keg#zhPz-5sgCi3miqblf.ߝ&i8RJF뱆uJV991] t3z+þsŸO6Gīcp9mF:W0⓴)?$^Js .T7Ӭf+mg%ïnV8}GiX*fmXCÂ+0ֆ54Yh3{d.15,VOCAB.PTRSmR_}+  o)}y_K}Q_/E_}9re_N}Y_r/}}A  /`/T}//}ٗ/ޗD_RRx_Rԗ}IT%y_D_}"d_D} })i_R}̾z_}YKa/K}YeY_e;f_Lż/d_b/b/f./}qŵ/.}q}q/Uї)RLD_LeʾL˴}/R}f_.D_./KIB}l_.G_.d_j/UF}@ RD_ 2C_ K!rarR\T;\}` }//w]N}۾TY_/Uٗ;˝ndr}S_`}R_!rP_ۗng};/ٗrE_`/0K!rվ\e_ԗ:jR)//WL˕jfr)r}D_.,˥S`ʾԵ/u˥%R b}ʾ\T\˥ٗ \/Uۗ }A;`ܗrҾԲޗˉR7X_J/'LKd_N/ޗK%R}}9}}d}Az_nE_n//˭}}`}}̾ /7E_PT̾ھܲY_/ R}z_ny_n;Th_Jޗ ٗ3r}9}9پ RaRrrf\}/˹\rny_ ޗs RRaMٗ*}y_P R&rSrS&M֗/%/7;D_ @_ڗZ/D}Aؾ X_J/ a}/8k_pR2R}Ay_jEA})Q_/֗ j}A}E_pFVOCABSRT.BAS_}J ad: Sort the vocabulary arrayan:7bx UC$(A$)((A$)(((u(A$)((A$)A)Zb CNT$(A$)(((A$))A$|b RGHT$(A$)(P(A$))A$b CUR$(X%,Y%)()"="(Y%)(X%)bCLS$()bINV$()")"bNORM$()"("b BASE 0 c PTR(), SORTORD() : word pointericSORTORD(): SORTORD(): SORTORD(): SORTORD(): SORTORD()cWMAX : number of words in dictionaryc: Open the vocabulary filec:c CLS$;CNT$("* VOCABULARY SORTER *")"d:"What drive does the VOCAB.DAT file reside on? ";:dK$: K$"" JdK$UC$(K$)|d" (K$"A" (K$"D" K$"L") K$"M") d,:RGHT$("Opening "K$":VOCAB.DAT");d6 Jd@ "r",,K$":VOCAB.DAT",<: TeJRGHT$("Unable to open "K$":VOCAB.DAT"): eT Ie^ RGHT$("Opening "K$":VOCAB.PTR");Weh |zer "i",,K$":VOCAB.PTR": e|RGHT$("Unable to open "K$":VOCAB.PTR"): e e#, AS WORD$,( AS DTA$e: f: Read in the vocabulary pointersf:#f#, WMAXpf WMAX ()"WHAT? There are no words in this dictionary!": fWMAXWMAXf I WMAXf#, PTR(I)f IfWMAXWMAXf:f: Now sort the pointer arrayf:g M  : sort every sortord(m) entriesJg& "Sorting every "SORTORD(M)"th entry"]g0 KSORTORD(M)hg: SK~gD IK WMAX gN XPTR(I)gX JIKgb  S SK: SS: PTR(S)Xgl #,Xgv W1$WORD$g #,PTR(J) h W2$WORD$Lh  (W1$W2$) (JWMAX) PTR(JK)PTR(J): JJK: _h PTR(JK)Xih Iqh Mh CNT$("Dictionary sorted: print (y/n)?");hY$: Y$"" hY$UC$(Y$)h Y$"N" >hh I WMAX  i J "i  IJWMAX 7i #,PTR(IJ)Gi   WORD$Qi Jji  "[More]";( );}i* "" *i4 Ii> RGHT$("Writing "K$":VOCAB.PTR back to disk")iH iR K$":VOCAB.PTR" AS K$":VOCAB.BAK"jf "o",,K$":VOCAB.PTR"jp#,WMAX(jz I WMAX9j #,PTR(I)Aj IKj ,OCAB.PTR" AS K$":VOCAB.BAK"jf "o",,K$":VOCAB.PTR"jp#,WMAX(jz I WMAX9j #,PTR(I)Aj IKj ,