`8NNNNp &<`  @`! #@%`)+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq su`wy{} @` @ ` @ ` @ ` O ɠ @ ` ׀  @` @`!Oa   !Aa!!#%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!S`  @`! #@%`)+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq su`wy{} @` @ ` @ ` @ ` O ɠ @ ` ׀  @` @`!Oa   !Aa!!#%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SST321 P6  ,READ ME *)YCPOKER e,DESKTOP INFRUBIK ACC +)-RUBIK DOC 0)'3RUBIK PRG 9)t-RUBIK SIZ D)SAMPLE CUB E)SAMPLE LIB G) SAMPLE TXT I)?SAMPLE1 MAC K)SAMPLE2 MAC L)SIZESET PRG N)G The documentation for this program is in a 1st Word file called RUBIK.DOC. I assume that everybody has access to 1st Word so they can read it. SAMPLE.CUB is a sample of a Rubik 3-cube that I solved and saved to show how things work. The solution is deliberately not the fastest possible, but merely one to illustrate that it can be done. SAMPLE.TXT is the same cube stored in a text format. SAMPLE1.MAC and SAMPLE2.MAC are two sample maros, and SAMPLE.LIB is a sample library (consisting of the two macros). This should be enough to illustrate the finer workings of the program. The source code, if unavailable from the people from whom you got the program, is available from me for $10. How heavily docu- mented it is depends on how much documentation I do over the next little while. It is in Personal Pascal. My address is: John H. Jenkins 1115 Sixth Street #37F Albany, CA 94710-1209 I also would not object to those who enjoy this program sending a small amount to help me feel better about wasting time on writing it. me that everybody has access to 1st Word so they can read it. SAMPLE.CUB is a sample of a Rubik 3-cube that I solved and saved to show how things work. The solution is deliberately not the fastest possible, but merely one to illustrate that it can be done. SAMPLE.TXT is the same cube stored in a text format. SAMPLE1.MAC and SAMPLE2.MAC are two sample maros, and SAMPLE.LIB is a sample library (consisting of the two macros). This should be enough to illustrate the finer workings of the program. The source code, if unavailable from the people from whom you got the program, is available from me for $10. How heavily docu- mented it is depends on how much documentation I do over the next little while. It is in Personal Pascal. My address is: John H. Jenkins 1115 Sixth Street #37F Albany, CA 94710-1209 I also would not object to those who enjoy this pro`08OfAf"HN o"h#j#n#rBbByvN?X/,HNVA"-HpHy,?Nq?<KNqXN^,_Nu/,HNVA"-HpHy,?Nq?<ENqXN^,_Nu/,HNVA"-HpHy,?Nq?<MNqXN^,_Nu/,HNVA"-HpHy,?Nq?<LNqXN^,_Nu/,HNVA"-HpHy,?Nq?<pNqXN^,_Nu/,HNVA"-HpHy,?Nq?<qNqXN^,_Nu/,HNVAB-HpHy,?Nq?<YNq0. @?Nq0.@?NqXN^,_ _XN/,HNVA8-H0. raA\0. rzA_CBd0. @=@`=n 0.N^,_ _TN/,HNVA"-HpHy,?Nq?<ANqXN^,_Nu/,HNVA"-HpHy,?Nq?<BNqXN^,_Nu/,HNVA"-HpHy,?Nq?<CNqXN^,_Nu/,HNVA"-HpHy,?Nq?<DNqXN^,_Nu/,HNVA"-HpHy,?Nq?<HNqXN^,_Nu/,HNVA"-HpHy,?Nq?<INqXN^,_Nu/,HNVA"-HpHy,?Nq?<JNqXN^,_Nu/,HNVA"-HpHy,?Nq?<eNqXN^,_Nu/,HNVA"-HpHy,?Nq?<fNqXN^,_Nu/,HNVA.-HpHy,?Nq?<bNq0. ?NqXN^,_ _TN/,HNVA.-HpHy,?Nq?<cNq0. ?NqXN^,_ _TN/,HNVA"-HpHy,?Nq?<dNqXN^,_Nu/,HNVA"-HpHy,?Nq?<jNqXN^,_Nu/,HNVA"-HpHy,?Nq?<kNqXN^,_Nu/,HNVA"-HpHy,?Nq?<lNqXN^,_Nu/,HNVA"-HpHy,?Nq?<oNqXN^,_Nu/,HNVA"-HpHy,?Nq?<vNqXN^,_Nu/,HNVA"-HpHy,?Nq?<wNqXN^,_Nu/,HNVA"-HpHy,?Nq?<dNqXN^,_NuNV?<NNN^Nu/,HNVA-HN2. HH@J@jD@=@0.N^,_ _TN/,HNVA0-HNJ@jD@?<r/<?NwNy"A0 .2.N^,_NuNV?<NAN^Nu/,HNVA-HN=@N^,_NuNV?<NAN^Nu/,HNVA<-HN-@ .2<H".¼4<H//N$=@0.N^,_Nu/,HNVA-H"n p2"nBQ"n 0r.A_"n 0rA0p0@\C"n 0rA0p9@_CBd8"n$n0 $n 2tA0B@2"n $n 0R@2`N^,_ _ON/,HNVA-H0.J@f"n p0`0.J@jp=@0.D@=@`Bn"n E0.J@gR"n N0.r HH@@0??`0.29RAArH=@`0.D@29RAArH=@`0.29RAArH=@`x0.29RAArH=@`\0.D@29RAArH=@`>0.29RAArH=@`"S@ @b@0;N@\z0.N^,_ _\N/,HNVA-H?.?.?. N@`0.D@29RAArH=@`0. D@29RAArH=@`0. D@29RAArH=@`z0. D@29RAArH=@`\0. D@29RAArH=@`>0.29RAArH=@`"S@ @b@0;N:Xv0.N^,_ _\N/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.N$/?<?<?<N" 4.BBAm(0. `?.?.?.N&D@=@?.?.?.NN=@?.?.?.N=@`?.?.?.N"D@=@?.?.?.ND@=@?.?.?.Nz=@`^?.?.?.N=@?.?.?.ND@=@?.?.?.N8=@`S@ @b@0;N$f?.?.?.N=@?.?.?.NX=@?.?.?.NB=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.Nz/?<?<?<Nh" 4.BBAn(0. `?.?.?.N>=@?.?.?.N=@?.?.?.ND@=@`?.?.?.N=@?.?.?.ND@=@?.?.?.NVD@=@`^?.?.?.N=@?.?.?.N(D@=@?.?.?.NP=@`S@ @b@0;N$f?.?.?.N=@?.?.?.N2=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.N/?<?<?<N" 4.BBAn(0. `?.?.?.ND@=@?.?.?.N=@?.?.?.N=@`?.?.?.ND@=@?.?.?.N=@?.?.?.N0D@=@`^?.?.?.N=@?.?.?.N@=@?.?.?.NjD@=@`S@ @b@0;N$f?.?.?.N|=@?.?.?.N =@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.N./?<?<?<N" 4.BBAm(0. `?.?.?.N=@?.?.?.NbD@=@?.?.?.N=@`?.?.?.N=@?.?.?.N^D@=@?.?.?.N D@=@`^?.?.?.Nl=@?.?.?.N=@?.?.?.ND@=@`S@ @b@0;N$f?.?.?.NV=@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.N/?<?<?<N" 4.BBAm(0. `?.?.?.NPD@=@?.?.?.Nx=@?.?.?.N=@`?.?.?.ND@=@?.?.?.N6=@?.?.?.ND@=@`^?.?.?.N=@?.?.?.N=@?.?.?.ND@=@`S@ @b@0;N$f?.?.?.N0=@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA-Hp=@ nnp=@=y0.nnp=@=y0.nn=n=n=n?.?.?.Nf/?<?<?<NT" 4.BBAn(0. `?.?.?.Nh=@?.?.?.ND@=@?.?.?.N=@`?.?.?.NdD@=@?.?.?.ND@=@?.?.?.N=@`^?.?.?.ND@=@?.?.?.N =@?.?.?.Nz=@`S@ @b@0;N$f?.?.?.N =@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`>Rn`Rn`N^,_ _XN/,HNVA:-H0. rHH@=@ 0.`b?.?. N`r?.?. N`b?.?. N`R?.?. N,`B?.?. NB`2?.?. NX`"S@ @b@0;Np=@ nnp=@=y0.nnlp=@=y0.nnL0.r `2.AA2.AA2.t a4.BB4.BBA40A1Rn`Rn`Rn`lN^,_ _\N/,HNVA-H V0(`T V0(29 VhSA VA=@`P V0(29 V4(UB VhSA VA=@`"S@ @b@0;N0.N^,_Nu/,HNVA-H V0(`j V0( V2(SA VA=@`l V0( V2(SAy VA=@`H V0(29A VhSA VA=@`"S@ @b@0;N0.N^,_Nu/,HNVA^-HN`:0. @=@`D0. rAl p=@`p=@`$p=@` @b@0;N0.N^,_ _TN/,HNVA-HN `dp=@`r0. ` p=@`6p=@`,p=@`"S@ @b@0;N`(0. R@=@` @b@0;N0.N^,_ _TN/,HNVA-H V0(29 VA? V0(2. VA? V0(29A VAS@? V0(2. VA?NY V?( V0(29n VA? V0(29A VAS@? V0(29n VA?NY V0(29 VA? V0(29An VA? V0(29A VAS@? V0(29An VA?NY V0(2. VA? V0(29 VA? V0(2. VA? V0(29A VAS@?NY V0(2. y VA? V?( V0(2. y VA? V0(29 VAS@?NY V0(2. 49BB VA? V0(29 VA? V0(2. 49BB VA? V0(29A VAS@?NY V0(2. 49B VA? V0(29 VA? V0(2. 49B VA? V0(29A VAS@?NYN^,_ _TN/,HNVA$-HNeN^?.?.?.?. N\?9NT`?9HnHnHnHnNSHp=@p=@0.@29AH=@0.@29H=@BgNaV?<NaBgNa?<N_0.n?0.n??.?. NZ0.rA\0.rA\CBd*p=@ nnp=@=y0.nnp=@=y0.nn0.r `2.AA2.AAA?0 NN?NaV0.r `2.AA2.AAA?0 NN?Na NN$? NN??.?.NZRn`pRn`NRn`.?<N`@p=@09S@=@0.nn?. NNRn`?.0.2.A?0.@?0.?NcZ0.2.A??.0.?0.?NcZ0.29A?0.29A?0.29A?0.29AAS@?NY0.29AR@?0.29A?0.29AR@?0.29AAS@?NY0.29AT@?0.29A?0.29AT@?0.29AAS@?NY?9HnNNHz?< NHn??9NT`?9NU p3N^,_Nu/,HNVA-H?9HyHyHyHyNS?9NUN`?<?<`?<?<?9?9?9?9BgN؞`~?<p(3p23303,` @b@0;NC*E0p QC E pQ?9HyN@3p3ByNN:p@dpr ArArA?BgBgBgp/BgBgBgBgBgBgBgBgBgBgHnHnHnHnHnHnHnNg=@0.rAJ@V0.rA^CyBd?.?.?.?.N0.rAJ@VyBdNTʰyf ?.NL0.rAJ@g0.`09@e$N@d NNNNBn`"NTʰyg?9NU N`09@dN `092.yWC@d?.?.?.?.N`N092.yWC@d ?.?.?.?.?.NVNf`09@d0.@dFBn?.?<HnHnHnHnNR?.?.?.?.?.NVN `Dp=@?.?<HnHnHnHnNR?.?.?.?.?.NVN`r092.yWC@d?9NU N`D@ @b8@0;N,,,,,,,,,,,,,,H`@N^,_Nu Rubik RUBIK'S CUBE AH#xA|0B1|A,01|Nj309J@kNHy,NqBgNANu/,HNVtA>-HN=n0. rA=@-nx?<HnHnHnxHntNlhN^,_ _PN/,HNVtA8-HN=n p=@-nx?< HnHnHnxHntNlhN^,_ _\N/,HNVtA6-HN=n Bn-nx?< HnHnHnxHntNlhN^,_ _\N/,HNVA0-HN/.?. A O"Op?"QBgBgNGN^,_ _ON/,HNVnAX-HN"n $n p*R@r=n"n / Nn-@r?<#HnHnzHnrHnnNlh=nz0.N^,_ _\NNu/,HNVAp-HN0.T@=@?.NI-@/.?-HN=n PBnR?<BgBg?<HnHnHnhHnPHn8BgNlN^,_ _TN/,HNV8AN-HN?.?. NnD=n=n ?<lBg?<BgHnHnHnhHnPHn8BgNlN^,_ _XN/,HNVA"-HN?. NnT?<?. NN^,_ _TN/,HNVA.-HN0. rA?Nnh?<h0. rA?NN^,_ _TN/,HNVAz-HN?. Nn^=n 0. rAo0p=@0. S@=@ 0. rAop=@0. @=@ ?<?.N.0.rAo?<?. NN^,_ _TN/,HNV6A@-HN=n =n?<'Bg?<BgHnHnHnhHnPHn8BgNlN^,_ _XN/,HNVA-HN?<j?. NN^,_ _TN/,HNV8A>-HNBnP=n R?< BgBg?<HnHnHnhHnPHn8BgNlN^,_ _TN/,HNVA-HN?<?. NN^,_ _TN/,HNV2A-HNHn2Hn4Hn6NnrBgBgNl=nP=nR0.nS@=@T=nV0.nS@=@X0.n S@=@Z=n\0.n S@=@^=n`=nb?<BgBg?<HnHnHnhHnPHn8?<Nl?.4?.6NN^,_ _PN/,HNV8A`-HN=nP=nR0.nS@=@T0.n S@=@V?< ?< Bg?<HnHnHnhHnPHn8?<NlN^,_ _PN/,HNVAr-HNHnHnHnNnBgN?<NHnHnHnNnr?.Nn?.?.?.?. N*?.N?.N?.NBN^,_ _PNNu/,HNVtA2-HN=n-n x?<NHnHnHnxHntNlhN^,_ _\N/,HNVA-HN?</. NN^,_ _XN/,HNVA-HN0. ?BNnN^,_ _TN/,HNVA2-HNNn(J@f ?<BN8Nn(R@?Nn0N^,_Nu/,HNVA@-HNNn(rAo(Nn(S@?Nn0Nn(J@f ?<BNN^,_Nu/,HNVA<-HNp?BNp=@Nn(=@0.nn NrRn`N^,_Nu/,HNVtA,-HNp=@?<kHnHnHnxHntNlhN^,_Nu/,HNVtA,-HNp=@?<kHnHnHnxHntNlhN^,_NuNu/,HNVNA-H=nF=n@=nD=nB0.:rA=@=n8=n6=n4=n20.0rA=@=n. =n, =n*=n(=n>=n<-n$?<HnHnHnHnNlh=n"n2"n2"n2"n 2"n 2"n20.N^,_ _O3|NAXNu _4` _t6 Bo r aSB`2aNH?s _r ar a/L?sNu _r aN _4` _t"x0HgJJjDxvCt.zp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCt.p0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d CsQt`CsLtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH s"oA/ Nt.L sNuByd(_ _/ C( g  f,t4(H / /?(?<@NA LJkvfNu4(SBraQNu(g^ f,H tHy/<??<@NA LNu fH t` fH t` f NuHyu)` Hyu0< LNkREWRITE required prior to WRITE or PUTDisk or directory fullByd(_ _/ C (g ( fxJ(ft4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gfJ(fT f6H`?<NAT fHyv/<?BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LNuBBo `H _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LNuoH _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LNuH _0 @&b(C}tC/)?/LNuHy~v`Hy~^LNk Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvPFloating point overflowFloating point division by zero jNu#d _ gnejd 9dNHy|`HyNkt`t _"_0gR@| e.G`$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9Tg0$A#T`""9Xg$A#X`"9\g $A#\"`"Ej&R"$b HyhNkJgr"QHd2S@k"QN _"_0" gnejd gR@ @mz @ e@E`"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"\#\` |f"X#X` "T#TNHeap overruns stackPointer NILPointer not in heapHJ _0"_e /LJNuHyNk/B9r/|rNuHJ _0 @f0"|HHp` "_J@jpErr4@ BbBS@kQ/LJNuHJ _4SBkt82$_rAdd0 @f0"|HHp` "_J@jp6ADb6CG0IS@k$eQ/LJNuHJ _4k2SAk0"_p6B@bE0)CS@kQ/LJNuHJ _2$_r0 @f0"|HHp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LJNuHJ _4kF2SAk>0 @f0"|HHp` "_J@jp6B@bErSBkQ/LJNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"yje Hy^NkN#z#v .f -|N`-|N nNнvf yzNStack overruns heapH?~ _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?~Nu0NvDNH~|` H~| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/L~Nu09dNu _3bNBydNu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc.         t          $ $        x&.|*< XX RPpl R R R R R D H$x*(  *    "8," 4    ,* >  0d,,,8,,,,,0,,,,:,:,  0""*  ((>2,D,4888844P( 6,\ &  8F X4 . > ~  &`", (.  ( $2, v2 , * $"(,06 ,\60LP"4*>4@ l*trp`  zP,&D0T>0,8&&,F.:FFFF*@4n(>2020nD(."F<".$ B " 4T R"BBD 4@@(&. ,@ ,,2 4 ,2 4 ,2 ,,T  V& ,,  ,6  LL2`*2 "T &( &0&  >           nBB6 2J XpD D< P z  f H F  2  <   , FR ( *@ B @ B V          t          $ $        x&.|*< XX RPpl R R R R R D H$x*(  *    "8," 4    ,* >  0d,,,8,,,,,0,,,,:,:,  0""*  ((>2,D,4888840660103030566 1 2- # - 9[....................................................] WHATTHISPROGRAMDOES    Rubik'sCubeSimulatorsimulatestheactionoftheRubik's  Cubepuzzle,inventedbyDr.ErnoRubikin1975andbothering  peopleovertheyearssince.Italsosimulatestheactionof  similarcubepuzzles,someofwhichhavebeenmarketedbutmostof  whichhaveneveractuallybeenconstructed. Rubik'sCubeSimulatordoesnotsolvethecubeforyou.  Rather,itprovidesyouwithasetoftoolstohelpyoudiscover  yourownsolutionthecube.Theseinclude: 1.AcompleteGEMinterfacewithwindows,menubaranduse  ofthemouse.Mostorderscanbeaccessedinmorethanoneway. 2.Savingthecubetodisk,eitherinamachine-readableor  ahuman-readableform. 3.Taggingasquaretofollowitsmovementsasyoutwistand  turnthecube. 4.Take-backcapabilitytoundoyourmistakes,withforward-  againcapabilityifyoudecidetheyweren'tmistakesafterall.  Youcangobackwardsorforwardseitheronemoveatatime,orgo  backalargenumberofmovesatonce.Limitededitingofyour  solutionisalsopossible. 5.Settingmarkstomakeiteasytofindyourwaybackwards  (orforwards)throughyoursolution. 6.Macrocapability.Byusingmacros,along,complicated  seriesofmovescanbecompressedintoone,easy-to-executeorder.  Forfurtherpower,macroscanbeassignedtothekeyboard,and  thenexecutedwithasinglekeystroke. Astripped-down,deskaccessoryversionofRubik'sCube  Simulatorisalsoincludedforthosewhoneedsomethingtodoin  theiridlemomentsofwordprocessingoranythingelseusefulbut  dull. Rubik'sCubeSimulatorisbeingreleasedintothepublic  domainthroughCOAST,theCaliforniaOriginalAtariSTusers  group.Itisnotspecificallybeingreleasedasshareware,butif  anybodywantedtosendme,say,$10forit,theywouldfind  everythinggoingtheirwayfortherestoftheirlives.(Ormaybe  not.Tryitandfindout.)Mycurrentaddressis: JohnH.Jenkins 1115SixthStreet#37F Albany,CA94710-1209 ThePersonalPascalsourcecodemayormaynotbeavailable  fromthepeoplefromwhomyougottheprogram;ifnot,andifyou  wouldlikeit,Iwillmakeitfreelyavailable,althoughIdo  insistona$10recompenseforthesourcecode. ThesourcecodebeingreleasedthroughCOASTisnotheavily  documented(thesourcecodeforthedeskaccessoryversionbeing  hardlydocumentedatall,sinceitisjustasubsetmore-or-less  ofthecodeforthefullversion).Futurereleasesofthe  sourcecodemayormaynotincludebetteralgorithmsandmore  features,buttheywillcertainlybebetterdocumented.Ihope  thisisnotaninsuperabledifficulty,sinceIdidatleastmake  anattempttowritethecodesoastobeself-documenting,butI  mustconfessIhaveyettoreallyputintopracticethe  programmer'stwocardinalrules:backeverythingup,anddocument  everythingthoroughly.  IamworkingonaMacintoshversionoftheprogram,but  peoplemayfreelyadaptitforuseonothercomputersifthey  like.Iamnotawareofanymajorbugsintheprogramasit  currentlystands,butdoubtlesstheyarethere.Iamnot,  however,planninganyfutureversionsofRubik'sCubeSimulator  tocorrectsuchfewbugsastheremaybeunlesstheyprovetruly  major. Ishouldgivepublicthankstothetechnicalsupportstaffat  OSS,whofreelygavehelpasneededinthewritingofthis  program.Itwasnicetobeabletogettop-notchtechnical  supportand--forthoseofyouwithpiratedcopiesofPersonal  Pascal--morethanworththecostoftheprogram. Thename"Rubik'sCube"is,Ibelieve,atrademarkofthe  IdealToyCorp.(orsomebody),butsinceI'mnotlikelytomake  anymoneyoffthisbeast,Idon'tseehowtheycouldpossiblyhave  anyreasontosuemefortakingadvantageofit.   EQUIPMENTREQUIREMENTS  ThisprogramrunsonanAtari520STor1040STcomputer  systemwithatleastonediskdrive.ItisnotnecessarythatTOS  beinROM.Itwillruninanyresolutiongraphics.Aprinteris  notneededbutmightbeuseful.MostfilesgeneratedareASCII  textfilesthatcanbereadandmodifiedusinganywordprocessor  operatingin"textonly"or"non-document"mode. Thismanualassumesyouarefamiliarwiththedesktopandthe  STterminologyof"windows,""dialogboxes,""deskaccessory,"  "menubar,"andsoon,aswellashowtousethemouse.Ifnot,  reviewtheappropriatesectionsinyourSTowner'smanual.Menu  selectionsarealwaysinboldface.Namesforkeysonthekeyboard  arein.  WARNING:Itisnotagoodideatousethisprogramwith  MOUSTRAP.PRGinSTART,vol.1,no.2becauseitdoesmakeuseof  therightmousebutton.     CHAPTERONE RUBIK'SCUBEBASICS  Thischapterisintendedforthosewhohaveneverseena  Rubik'sCubepuzzleorwhohaveonlyplayedidlywiththepuzzle,  neverstudyingitsmathematicalproperties.AlthoughtheRubik's  Cubecrazeofafewyearsbackhaslongsincediedawell-  deserveddeath,andfrustrationsinsolvingRubik'sCubeareno  longerconsideredpolitetopicsfordinnerconversations,it  remainsnonethelessaningeniouspuzzle,andonewithnot  withoutsomeinteresttothemathematician. ItmightbesurprisingtolearnthatRubik'sCubeis,in  fact,afascinatingobjecttothemathematicianandillustratesa  largenumberofideasfromthebranchofmathematicscalled"group  theory."Fortunately,itisn'tnecessarytoknowgrouptheoryto  solvethepuzzle;buthavinganideaasto"howthecubeworks"  willbenecessarytouseRubik'sCubeSimulator.Experienced  "cubologists"mayskipthischapter.  Rubik'sCubeconsistsoftwenty-sevensmallercubes(3x3x  3)linkedtogether.Todistinguishthesmallcubeswhichmakeup  thelargecube,andthelargecubeitself,wewillrefertothe  smallcubesas"pieces."(Theyaremoreoftengiven,inthe  technicalliterature,themorescientificname"cubies.")The  piecesofthecubearecoloredoneofsixdifferentcolors--  usuallywhite,yellow,orange,red,blackandgreen,butthecolor  schemevariesandsometimespatternssuchasstarsorpiecesof  fruitareusedinsteadofcolors.Thegoalisto"solve"the  cube--makeallofthesquaresoneachfaceofthelargecubethe  samecolor.  Movesaremadeby"twisting"thecube.Bygraspingthecube  andturningit,thetoplevelofsmallcubes,orthemiddlelevel,  orthebottomlevel,onanyside,canbeturned,leavingtherest  ofthelargecubealone.Thecoloredsquaresaremovedasa  resultandmixedup;injustafewtwistsandturns,thecubeis  thoroughlyscrambledandalmostimpossibletosolve--orsoit  seems.  IfyouhaveaRubik'sCube(buried,nodoubt,insomedark  corner,whereitwasthrownwithdisgustthelasttimeanybody  triedtosolveit),getitoutandlookatit.Twistsomeofthe  facesidlyandandnoticewhathappens.  FIRSTRULE.FortheRubik'sCubepuzzle,itisnever  necessarytomovethemiddlelevelofcubes.Supposeyoudowant  tomovejustthemiddlelevelofcubes.Allyouhavetodoisto  turnthetoplevel,andthenturnthebottomlevelinthesame  direction.Thisdoesthesamethingasmovingthemiddlelayer.  Inordertotellthecomputerwhatfacetoturn,wehaveto  beabletonamethesixfacesofthecube.Ourfirstguesswould  betonamethemfortheircolors("turnthewhitefaceonce,"and  soon),butthiswouldn'twork.Asmentioned,thecolorschemes  varyfromcubetocube,andifyou'reworkingwithamonochrome  monitor--well,somuchforusingcolors.Weuseherewhathas  becomethestandardwayofnamingthefaces,bytheirdirection.   Thismightnotmakesenseatfirst.Afterall,thedirection  ofthefaceschangesallthetimeasyouplaywiththecube.For  themathematician,however,ithasthisadvantage.Ifyouhave  workedoutawayofsolvingonefaceofRubik'sCubewhenthe  entirecubeisscrambled,itdoesn'tmatterwhichfaceitis.All  thatmattersishowitistreated.Sincethecubecanberotated  sothatanyfaceisontop,thisemphasizeshowinterchangeable  thefacesare.  Thesixfacesarenamed:Up,Down,Left,Right,Frontand  Back,orU,D,L,R,FandBforshort.Whichfacegetswhich  nameshouldbeobvious.Noteagainthatthenamesdonotdepend  ontheface'scolor;whatisthecoloroftheUpfacenowcould  becomethecoloroftheFrontfacewithasimplerotationofthe  cube.  Facescanbeturnedinquarter-turnincrements.Youcangive  afaceaquarter-turn,ahalf-turn(twoquarter-turns),three  quarter-turns,orafullturn(fourquarter-turns).  RULETWO.Givingafaceafullfourquarter-turnsisthe  sameasdoingnothing.  Although,mathematiciansbeingwhattheyare,youwould  expectacounterclockwiseturntobepositiveandaclockwiseone  negative,mostpeoplefindthatinconvenientandpreferthe  opposite.Thus,whendealingwithRubik'sCube,aclockwiseturn  isconsideredpositiveandacounterclockwiseturnisconsidered  negative.Forthesakeofbrevity,wewillnolongerspeakof  "quarterturns,"butjustcallthem"turns."Thus,youcangivea  faceone,twoorthreeturns;fourturnsdoesnothing.Thismeans  thattherearetwowaysofgivingafaceeachofthethree  possibleturns(trythemandsee):  +1turn(1clockwisequarter-turn)= -3turns(3counterclockwisequarter-turns) +2turns(2clockwisequarter-turns)= -2turns(2counterclockwisequarterturns) +3turns(3clockwisequarter-turns)= -1turn(1counterclockwiseturn) Wecanthereforesaythataclockwiseturnis1turn,two  turnsineitherdirectionis2turns,andacounterclockwiseturn  is3turns.Thismaynotbethewayyouareactuallytwisting  things(togiveafaceacounterclockwisetwist,youarenot  actuallyturningitthreetimesclockwise),butitis  "mathematicallyequivalent"andmakesthenotationsimpler.  Wecanrepresentturnbyusingthenameofthefaceweturn.  Thus,twistingthefaceofthecubecurrentlyatthefrontonce  clockwiseisrepresentedby"F1"."UUU"meansgivingthefaceon  top("Up")threeclockwiseturns,whichisthesamethingas  givingitonecounterclockwiseturn.Wecanmakethisshorterby  usinganotationderivedfromtheexponentialnotationinalgebra,  where"xn"meansnx'smultipliedoverandover.x1isonexor  justx;x2isxtimesx;x3isxtimesxtimesx,andsoon.We  canthereforewrite"U3"for"UUU"and"F1"(ifwereallywant)  for"F".  Whenwewanttodoaseriesofthesamemovesover,weagain  useasortofexponentialnotation.Forexample,wecanwrite(F2  R2)3.Thismeans"F2R2F2R2F2R2"or"FFRRFFRRFFR  R".(YoucantrythisonyourownRubik'sCubeifyoulike.It  isaveryusefulmovetoremember.)  Thenotation(oravariationofit)herepresentedisinthe  literatureonRubik'sCube.Somecommonvariationsaretohave  R-1orR'forR3.Mathematically,whendealingwithRubik's  Cube,R-1isequivalenttoR3.Wewillfinduseful,however,a  slightvariationonthenotationofourownwhichwillbe  presentedinthenextchapter.  Equippedwithabasicnotation,youcanstarttowritedown  thethingsyou'vedonetoyourRubik'sCube,somethingthatis  vitaltofiguringoutasolution.Rubik'sCubeSimulatordoes  notfindasolutionforyou;that'syourproblem.Itcanbemade  easierbymakingacoupleofobservations. Rubik'sCubeismadeupoffourdifferentkindsofpiece: 1)one"center"piece,whichyouneverseeandmaybe  ignored; 2)six"face"pieces,whichhaveonlyonesidevisible; 3)twelve"edge"pieces,whichhavetwosidesvisible;and 4)eight"corner"pieces,whichhavethreesidesvisible. PlayingaroundwithRubik'sCube,itbecomesfairlyclear  thatfirstofall,solongasyouonlytwistone"level"ofany  face,noneofthefacepiecesmove;theyarenevermixedup.It  isalsoclearthatnopieceeverchangestype.Thecenterpiece  nevershowsanyface,cornerpiecesaremovedtocorners,face  piecesstayfacecubesandedgepiecesremainontheedges.    RULETHREE.TosolveRubik'sCube,firstfindamoveor  seriesofmovesthatdoesthingstoedgepiecesbutleavescorners  alone,andanothermoveorseriesofmovesthatleavesedgesalone  butmovescorners.  Forexample,themove(F2R2)3,mentionedabove,swapstwo  pairofedgecubes,butleavesallthefacesandallthecorner  piecesintact.Bycarefullyusingthismove(anditscousinssuch  as(B2U2)3),wehavecompletecontrolovertheedges.Wecan  movethemvirtuallyanywhereonthecube,andleaveeverything  elsealone.Thus,wecanworkonsolvingtheedgepieceswithout  worryingaboutthecornersorthefaces.  Wealso,however,needtobecarefulaboutorientation.An  edgepiecehastwoorientations;itcanbewhereitisthewayit  is,oritcanbethereupsidedown.Similarly,cornerpieceshave  threeorientations.Inworkingoutasolution,youhavetotake  orientationintoconsideration,sinceyoumightmoveanedgepiece  intherightplace,butleaveitthereupsidedown,whichwouldbe  adisaster.  ThereareanumberofbooksonRubik'sCubeforthe  desperatethattellyouhowtosolveit.Twoofthebestare: David Springmaster, "Notes on Rubik's Magic Cube," Hillside, N.J.: Enslow Publishers, 1981, and Christoph Bandelow, "Inside Rubik's Cube and Beyond," Boston: Birkhauser, 1982. Thesebooksnotonlytellyouhowtosolvethecube,butthey  explainitsinterestasamathematicalobjectandsomeofits  properties.Forexample,ifyouareadaringsoulandtakeyour  cubeapart,youneedtobecarefulhowyouputitbacktogether.  Thesebooksprovethatputtingitbacktogetheratrandomleaves  youwithonlyaoneintwelvechanceofbeingabletosolveit.  Thenotationusedhereisderivedfromthemanddevelopedbythem  atgreaterlength,alongwiththetheory. Inthemeantime,DouglasHofstadter'sarticlesinMetamagical  Themas(originallypublishedinhiscolumninScientificAmerican)  alsodeservenote.AfullsolutionfortheRubikn-cube,although  onerequiringsomepriorknowledgeofgrouptheory,isfoundin: J.A.Eidswick.(1986).Cubelikepuzzles--Whataretheyand howdoyousolvethem?AmericanMathematicalMonthly,93,157-176.  CHAPTERTWO SIMULATORBASICS      Wewanttobeginbydefiningacoupleofterms. Rubik'sCubeisonlyoneofalargeclassofrelatedcube  puzzles,sixteenofwhichareavailabletoyouthroughRubik's  CubeSimulator.Eachofthesepuzzlesconsistsofalargecube  whichismadeupofanumberofsmallercubes("pieces"),andwe  cantellthepuzzlesapartbyhowmanypiecestheyhave.The  numberofpiecesalonganyedgeofthepuzzlewewillcallthe  puzzle'ssize.Rubik'sCubeitselfhasasizeofthree;three  piecesarefoundalonganyofitsedges.Cubeswithasizeof2,  4and5havealsobeenmarketed.(Sohavecubeswithasizeof1.  Wecallthem"blocks."Theyareratherdullandeasytosolve,as  youcanquicklydeterminebyusingRubik'sCubeSimulator.)To  developadecentterminology,wewillcallthecubepuzzlerelated  toRubik'sCubewithsizen,theRubikn-cube.Thestandard  Rubik'sCubeweallknowandloveisaRubik3-cube.(Blocksare  Rubik1-cubes.)  WhenyoustartupRubik'sCubeSimulatorfromthedesktop,  itwilldisplayadialogboxaskingforthesizeofthecubeyou  wanttofoolaroundwith.Thereisalwaysacubepuzzleonthe  screenwhenyourunRubik'sCubeSimulator,sobeforeanything  else,theprogramwillwanttoknowwhatsizeofcubeyouwantto  workon. Morelikelythannot,you'llbeworkingwiththeRubik3-  cube,sotheprogramsuppliesthevalueof"3"asadefaultinthe  dialogbox.Ifyouaremore(orless)ambitious,andwanttowork  withacubeofdifferentsize,justchangeit.ClickontheOK  boxorpressorwhenyou'vesettledonthesize  youwant. Validsizesare1to16.Ifyouenteranythingelse,Rubik's  CubeSimulatorwillgiveyouacubeofsomesizeitthinks  appropriate. Displayingthecube Whenthesizehasbeendecided,Rubik'sCubeSimulatoropens  awindowdisplayingacubepuzzleoftheappropriatesize.Notice  thatthiswindowcanbemovedaroundonthescreenanditssize  canbechanged,butitcannotbeclosed.Theonlywaytogetrid  ofitaltogetheristoquittheprogram,eitherbyclickingonthe  QuititemintheFilemenu,orbypressing.Notice,too,  thatifyouadjustthesizeofthewindowsothatitistoosmall  todoadecentjobofdisplayingthecube,Rubik'sCubeSimulator  willdisplayadialogboxlettingyouknow.Clickonthe"OK"box  orpressortocloseit,andthenreadjustthe  sizeofthecubewindow. Now,intryingtoplaceathree-dimensionalobject(likethe  EarthorRubik'sCube)onatwo-dimensionalsurface(likeamap  oracomputerscreen)meansoneoftwothings.Eitherwedon't  showeverythingandusefancymanipulationtotakeaglanceatthe  backside,orweallowafewdistortionsandmanagetofit  everythingon.  ThedisplayusedbyRubik'sCubeSimulatorfollowsthe  secondcourse.Itispossibletocutacubealongsevenofits  twelveedgesandunfolditonaflatsurfaceinafashionshownin  mostgeometrybooks.Forus,thefacesstillretaintheirnames  inthecross-likeresult: Up Left Front Right Back Down (Lookingattheactualdisplaymightmakethismoreobvious.) Aswithalmostanysolutiontoalmostanyproblem,thereare  advantagesanddisadvantages.Thedisadvantagetounfoldingthe  cubeonthescreenisthatsometimesit'shardertotellwhich  squareisattachedtowhich.Theadvantage,however,isenormous.  Everypartofthecubeisvisibleatonce. Thisscenarioisfamiliartoanybodywhohasfooledaround  longenoughwithRubik'sCube.You'vegottheredface  completelysolvedexceptforthered/whiteedgepiece.Youknow  it'ssomewhere,butyou'renotsureexactlywhere.Desperate,you  turnthecubeoverandovertryingtofindit--andbythetimeyou  do,you'veforgottencompletelywhatyouwanteditforandtake  anotherfiveminutestolocatethefaceitwasmeanttogoto.  Maddening,tosaytheleast. WithRubik'sCubeSimulator,weavoidthisproblemby  displayingthewholepuzzle.Althoughitcanbesometimesabit  ofabothertryingtorememberwhichpiecefitswithwhich,itis  aloteasierinthelongrunbecauseallthepiecesareeasierto  find.  Youwillnotetwoadditionalitemsonthedisplayofthe  cube.  Thefirstisinthelowerright-handcorner,whereitsays  "LEVELS:1".Youcanmanipulatethecubebyusingthemouse.  WhenRubik'sCubeSimulatortwiststhecubeonthescreen,ithas  toknowhowmanylevelstoturn.TheLEVELSdisplayinthe  lower-righthandcornerofthecubewindowtellsyouhowmany  levelswillbeturnedifyoumanipulatethecubewiththemouse.  Intheupperright-handcornerofthecubewindowisa"0."  Rubik'sCubeSimulatorkeepstrackofupto7500differentmoves  thatyoumakeinplayingaroundwiththecube.Whatyoudidlast  andthenumberofmovesyouhavemadeintheprocessofgetting  whereyouare,arebothdisplayedintheupperright-handcorner.  Sinceyouhaven'tdoneanythingyet,thelastmoveyoumadeisa  blankandyouarestillonmovezero,soitdisplaysazero.That  willchange,however,assoonasyoustartplayingaround.   Somethingstoremember Rubik'sCubeSimulatorisdesignedtobeflexible.Asa  result,afeaturehasbeendesignedintotheprogramtomakeitas  easyforyoutouseaspossible.Virtuallyanyordercanbe  executedinmorethanoneway.Inparticular,everyorderthat  canbeexecutedfromthemenubarcanbeexecutedfromthe  keyboard--specifically,usingtheten"function"keysF1through  F10andsomeofthekeysinthecursorkeypad.  IfyouarerunningRubik'sCubeSimulatorinhighormedium  resolutiongraphics,eachitemineachofthemenusinthemenu  bardisplayswhichkeyonthekeyboardcanbeusedtodothesame  thing.Forexample,theNewcube...itemintheFilemenusays  "F1,"meaningthatpressingonthekeyboardwilldothesame  thing.Ifyouhavetoholddownoneofthekeysatthe  sametime,thereisalittle"+"signinfrontofthekeyname.  (Thus,"+F1"meansholddownakeyandpress.)  Rubik'sCubeSimulatorwillruninallthreegraphicsmodes,  high,mediumandlow.Naturally,itismorecolorfulinlow  resolutiongraphics,andifyouwantlotsofcolor,thatisthe  modetouse.Theseriouscubologistwillprobablyprefermedium  orhighresolutiongrahpics,however,becauseitallowslonger  orderstobeenteredfromthekeyboard.  Scramblingthecube Thisiseasytodo.Remember,althoughRubik'sCube  Simulatorwillnotsolvethecubeforyou,itwillmixitup.To  doso,simplypressF6orclickontheScrambleitemintheTwist  menu.Rubik'sCubeSimulatorwillfirstaskyouifyouare  absolutelypositivelycertainyouwantthecubemixedup,and,if  youare,merrilyproceedtodoso.Butbecareful--Rubik'sCube  Simulatorisverythoroughatmixingthingsup,anditwon'tbe  nicetoyouandmakethingseasyjustbecauseyou'reabeginner.  Bytheway,youcannotfindasolutionby"cheating."You  maythinkthat,becauseRubik'sCubeSimulatorremembersupto  7500movesandbecauseyoucangobackandundothingswhen  they'vebeendone,youcan"undo"backoveritsattemptto  scrambleandso"solve"thecube.Nosuchluck.AlthoughRubik's  CubeSimulatorremembersupto7500movesthatyoumake,itdoes  notrememberanythingaboutitsownattemptstomixthingsup.It  remembersneitherwhatitdidnorwhenitdidit.  Manipulatingthecubewiththemouse  Theeasiestmethodtomanipulatethecubeisbyusingthe  mouse.Totwistaface,clickonit.Totwistittotheleft  (counterclockwise),usetheleftmousebutton.Totwistittothe  right(clockwise),usetherightmousebutton.Togiveita  doubletwist,doubleclick.(YoumayhavetousetheControl  Paneldeskaccessorytoadjustthemouseinorderforthingsto  movesmoothly.)  Again,theLEVELSdisplayinthelowerright-handcornerof  thecubewindowtellsyouhowmanylevelswillbeturnedbymouse  clicks.Therearethreewaystochangethis. ThefirstistousetheLevelsitemintheTwistmenuonthe  menubar.Thiswillcallupadialogbox,similartothedialog  boxweranintobeforeinspecifyingthesizeofthecube.The  defaulthereisthecurrentvalueforthenumberoflevelsto  turn,asseeninthecubewindow.Therearetwoadditionalboxes,  however,aboxandabox.Clickingontheboxincreasesthe  defaultvaluebyone.Clickingondecreasesitbyone.Ifthe  defaultvalueis1andyoutrytodecreaseit,itwill  automaticallyjumpuptothehighestvalidvalueforthecurrent  cube,namelythesizeofthecube.(Ifyouareworkingwiththe  Rubik3-cube,tryingtoturn3levelsmakessense[youarejust  turningthewholecube],buttryingtoturn4levelsdoesnot.)  Ifthedefaultvalueiscurrentlythesizeofthecubeandyoutry  toincreaseit,itwillautomaticallygoto1.  Youcanalsoenteryourownvaluebyhand. ClickingonOKorpressingorwillmakethe  valuedisplayedinthedialogboxthecurrentvalueforthenumber  oflevelstoturn.Ifyouhaveattemptedtoenteranonsense  value(e.g.,0,47),Rubik'sCubeSimulatorwillonceagainpick  avalueforyouwhichitthinksappropriate.  Clickingthemouseanywhereinthecubewindowotherthanon  theactualcubeitselfalsocallsupthissamedialogbox.(If  youdoitaccidentally,clickonCanceltomakeitgoaway.)  PressingtheF8keyalsocallsupthedialogbox.  Theeasiestwaytochangethevalueforthenumberof  levelstoturn--notgoingthroughthisdialogbox--istousethe  cursorkeysonthekeyboard.Usingthekeyincreasesthevalue  by1(again,ifthedefaultvalueforthenumberoflevelstoturn  isalreadysettothesizeofthecube,itwillchangeitto1).  Usingthekeydecreasesitby1(or,ifitalready1,changesit  tothehighestvalidvalue).   Thetwomostcommonvaluesforthenumberoflevelstoturn  are1andthesizeofthecube.IfyouareworkingwiththeRubik  3-cube,itwillneverbenecessarytomove2levels,andinanyof  theothersizes,atoplayeralonewillbeoftentwistedtoget  piecesintherightposition.Ifthenumberoflevelsturnedis  equaltothesizeofthecube,youareflippingthewholecube  overwithoutactuallychangingtherelativepositionsofanyof  thepieces.Thisallowsyoutomoveanyfaceofthecubetoany  positionwithoutscramblingitatall,thecomputerequivalentof  turningthecubeoverinyourhand.Becausethesetwovaluesare  usedmost,ashort-cutwayofsettingthenumberoflevelstoturn  to1ortothesizeofthecubeisgiven.Pressthekey,and  thenumberoflevelstoturnwillbesetto1.Pressthekey,  andthenumberoflevelstoturnissettothesizeofthecube.  NoteonethingabouttheBackface.Thebackfaceturns  "backwards."Clickingonitwiththeleftmousebuttonturnsit  clockwise,andclickingwiththerightmousebuttonturnsit  counterclockwise.Thisisnotamistake.  Theproblemisthatwhenthecubewas"unfolded"tofitit  intotheflatwindow,thebacksidewasflippedcompletelyover.  ThedisplayshowsnottheactualBacksideofthecubeitself,but  itsmirrorimage.Thismeanswhenitactuallyturnsclockwise,it  lookslikeitsturningcounterclockwise,andsoon.  Don'tthinkofthisasanexception,however.Noticethat  twistingthebackofthecubealsotwiststhefaredgesoftheUp,  Right,Down,andLeftsides.Thesemovethewayyouwouldexpect.  (Tryitandsee.)Ratherthantryingtorememberwhathappensto  thebacksidewhenyouclickonit,justpayattentiontothese  edges.Theymovethewaytherestofthecubedoes--andthey're  usuallywhatyou'reinterestedinanyway.Thatis,nomatter  whichfaceyouclickon,thesquaresonthe"main"partofthe  cubedisplay(i.e.,nottheback)willturnclockwiseifyouclick  ontherightmousebuttonandcounterclockwiseifyouclickonthe  leftmousebutton.       Manipulatingthecubefromthekeyboard YouwillnotethatwhenRubik'sCubeSimulatortellsyou  whatyou'vebeendoing,itusesamodifiedversionofthenotation  presentedinthelastchapter.Thefirstdifferenceisthatit  doesn'tusesuperscripts.T3means"T3"or"TTT". Theseconddifferenceisthatitalsoexplicitlytellsyou  howmanylevelswereturned.Thenotationdevelopedtodescribe  theactionoftheRubik3-cubedidn'tneedtospecifyhowmany  levelswereturned,sinceitisnevernecessarytoturnmorethan  1.Rubik'sCubeSimulator,however,letstheambitiousworkwith  moredifficultpuzzles(andyouareambitious,aren'tyou?).For  theRubik4-cubethroughtheRubik16-cube,youhavetospecify  howmanylevelswereturned;justsayingT3isnotenough.  Therefore,Rubik'sCubeSimulatorprefacesthenameoftheface  withhowmanylevelswereactuallyturned.Thus,1T3meansthat  onelevelofthetopsidewasturnedthreetimesclockwise,that  is,oncecounterclockwise.  ItispossibletomanipulatetheRubikcubeonthescreenby  usingthekeyboardinsteadofthemouse.Todoso,weuseathe  samenotationRubik'sCubeSimulatorusestocommunicatewithus.  PressingF7orclickingontheInputorder...itemintheTwist  menucallsupadialogboxforenteringanorder.Inputthe  commandyouwantRubik'sCubeSimulatortoexecute,andeither  clickontheOKboxorpresstheorkey.If  youchangeyourmindaboutinputtinganorder,justenternothing,  clickontheboxorpressor.Makesureyouare  carefulinenteringtheorderyouwantexecuted;ifRubik'sCube  Simulatorencounterssomethingitdoesn'tunderstand,itwill  ignoreitandyourcarefullyconstructed,complicatedorderwill  getallscrewedup. Totelltheprogramtotwistonelevelofthetopfaceonce  counterclockwise,forexample,youwouldenter"1T3".Torepeat  orders,youcanuseparentheses.Thus"(1F21R2)3"wouldexecute  ouroldfriend(F2R2)3. Thevariousmovesshouldalsobeseparatedbyspaces.Thus  "(1F21R2)3"wouldnotbeinterpretedas"(1F21R2)3",norwould  "(1F21R2)3(1F21L2)3"beinterpretedas"(1F2 1R2)3 (1F2 1L2)3". Itisnotnecessarytospecifyeitherthenumberoflevelsto  turnorthenumberoftwists.Ifyouleaveeithernumberout,"1"  willbeassumed.Thus"1F1","F1","1F",and"F"willallmean  thesamething--turnonelevelofthefrontfaceonce(clockwise).  Thissavesonspacewhenenteringtheorder.Becareful,though.  Thenumberinthelowerright-handcornerofthewindowdisplaying  thecube,theoneattachedtothewordLEVELSonlyhastodowith  whathappenswhenyouusethemouse.Nomatterwhatthatvalue  forthenumberoflevelsturnedbythemouseis,anorderlike  "F1"willturnonlyonelevel.  Youcanmakeyourordersfairlycomplex:((F2R2)3(F2  T2)3)2wouldbeoneexample.Ifyourparenthesesdon'tmatch,  Rubik'sCubeSimulatorwillassumeyoudon'tknowwhatyou're  doingandignoreyou.But,please,exercisealittlerestraint.  Rubik'sCubeSimulatorcanhandlereasonablycomplexorders,but  ifyoureallytry,youcanoverloadit.Thereisnosimplewayto  sayjusthowcomplicatedanorderhastobebeforetheprogramis  overloaded,butitisvery,veryunlikelythatyouwillever  manageitwithoutdeliberatelytrying.If,bychance,youdo  overloadRubik'sCubeSimulator,allisnotlost.Itwillnot  crashordie.Itwillsimplyremindyouinagentlefashionthat  you'regettingcarriedawayandabortthecurrentorder.  Itisnotnecessarytoentertheorderusingcapitalletters.  Rubik'sCubeSimulatorissmartenoughtoknowthat"f"and"F"  meanthesamething.   Theactuallengthoftheorderyouenterislimitedmostlyby  whatresolutiontheprogramisrunningin.Inlowresolution  graphics,sincethescreenisonly40characterswideitself,you  cannotenteranordermorethan26characterslong.Inhighor  mediumresolutiongraphics,thelimitis52characters.  Enteringorderscanbeusefulwhenyouhaveworkedoutamove  orseriesofmovestodosomething.Evenwithsomethingassimple  as(F2R2)3,itispossibletosuddenlylosetrackofwhatyou're  doinginthemiddleofit(becausethephonerings,dinneris  ready,yourbosswalksintheroom,orwhatever).Notonlydoyou  havetostartthisparticularmoveover,butsinceyouwere  halfwaythroughsomething,you'vescrambledthecubeupagainand  havetostartfromsquareone.  Rubik'sCubeSimulatoralsohasthepotentialforthis  problemifyouusethemouseexclusivelytomanipulatethecube.  Actually,evenso,itisn'tmuchofadisaster.Youcanalways  Undobacktothepointwhereyouwerelastincontrol. Thebiggestadvantageofenteringordersfromthekeyboard  comeswhenyouareworkingwiththeRubik4-cubeorsomethingeven  morecomplicated.Hereyoumightwanttoenteranorderthat  lookslike(F22R)3(whichmeans(1F22R1)3,remember?),and  constantlyhavingtoclickaface,changethelevels,thenclick  again--itgetsannoying.Itismucheasier,andalotfaster,to  enterthecommandfromthekeyboard.    DoandUndo Naturally,thedaywillcomewhenyou'llmakeamistakeand  regrethavingdonesomething.Youcangetyourselfoutofthis  messeasily. Rubik'sCubeSimulatorremembersupto7500movesthatyou  make.Ifyou'vedonesomethingyouregretandwanttogobacka  move,pressthekeyorclickontheUndooneiteminthe  Twistmenu.Ifyouwanttogobackmorethanonemove,pressthe  key,orclickontheUndo...itemfromtheTwistmenu.  Rubik'sCubeSimulatorwilldisplayadialogboxaskinghowmany  movesyouwanttogoback.EnterthenumberandclickonOKor  pressor,orclickonCancelifyouchangeyour  mindaboutthewholething.  If,aftergoingback,youdecidethatgoingbackwasa  mistake,youcangoforwardagain.Pressingthekey,or  clickingonthetheDooneitemintheTwistmenuwilltakeyou  forwardonemove.ThekeyortheDo...itemintheTwist  menuwillcallupadialogboxaskinghowmanymovesyouwantto  goforwardshouldyoudecidetogoforwardmorethanonemove.  Thisdoandundocapabilitymakesitpossibletomovethrough  asolutiononestepatatimeandseehowitworkedout--orwhyit  wentwrong.  Itisalsopossibleto"edit"yourlistofordersinasimple  fashionusingDoandUndo.Supposeyouhaveattemptedtoenter  (F2 R2)3withthemouse,butatitsend,thingsdon'tlookquite  right.GoingbackusingUndo,youfindtheproblem:youwanted  toenter F2R2F2R2F2R2,  butsomehowthemouseslippedatonepointandwhatyouactually  gotwas D2R2F2R2F2R2.  Tofixthis,useUndotogobacktothemovejustbeforethe  incorrectD2andenterF2,eitherbydouble-clickingontheFront  faceofthecubewiththemouse,orbyenteringthecommandfrom  thekeyboard.NowuseDotogoforwardagain.You'llfindatthe  endthepositionyouwerehopingfor,justasifyouhadcorrectly  executed(F2R2)3inthefirstplace. Thus,anymovemaybereplaced.Itisimpossibletoinsert  anymoveintoyoursolution,butyoucanineffectdeleteamove  byreplacingit(fromthekeyboard)withamovelikeF4,which  doesnothing.  CHAPTERTHREE SAVINGANDLOADING,MARKSANDTAGS   Savingandloading Therearetimeswhen,foronereasonoranother,youwill  abandonasolutionpartwaythrough.Certainly,aswithanykind  ofworkonacomputer,itisagoodideatoprotectyourself  againstpoweroutagesbysavingyourworkeveryfewminutes. Youcanhavethecubeyourarecurrentlyworkingonsavedby  eitherchoosingtheSaveitemfromtheFilemenuorbypressing  .Thiscallsupadialogboxaskingforthenameofthefilein  whichyouwanttosavethecube.Nameitwhatyouwill,butitis  stronglyrecommendedthatyouuseendthenamewiththeextension  ".CUB",whenwhenyouaskforacubetobeloaded,thatisthe  extensionRubik'sCubeSimulatorwillbelookingfor.Ifyou  don'tsupplyanyextension,Rubik'sCubeSimulatorwill  automaticallysupplytheextension".CUB". Thisordersavesyourworkinaformwhichisconvenientfor  thecomputerandcanbereloaded.Tosaveyourworkinaform  whichyoucanread,clickontheSavetextitemintheFilemenu  orpress.ThiscreateswhatiscalledanASCIIortextfile  whichcanbe"Showed"or"Printed"bydouble-clickingonitfrom  thedesktop,andwhichcanalsobeeditedorprintedbymostword  processorsasa"textonly"or"non-document"file.Again,a  dialogboxwillappearwhenyoupressF3orclickonSaveastext  askingforthenameofthefile;callitwhatyouwill.Sincethe  programcannotreloadacubesavedintextform,itmakesno  differencetoRubik'sCubeSimulatorwhatextensionisused.  Whenacubeissavedinnon-textform,thefollowing  informationissaved: 1.Thesizeofthecube; 2.Thefulllistofmovesyouhavemadeandwhereyou  currentlyareinit; 3.Thecurrentconfigurationofthecube; 4.Anymarksortagswhichyouhaveset(seebelow). Infact,theonlythingsnotsavedareanymacrosyouhave  currentlyloaded.Inessence,savingthecubeallowsyoutogo  backtoexactlywhereyouareatthemoment. Notallthisinformationisretainedifyousavethecubein  textform.Here,allthatissavedisthelistofmovesandany  marksthatareset.Firstthemovesarelistedinrowsoften;  numbersareatthetopofeachcolumnandatthebeginningofeach  row.Thenumberofanyparticularmoveisfoundbyaddingthe  numberatthetopofitscolumntothenumberattheendofits  row.Belowthemoves,allthemarksarelisted,andtowhichmove  theyareset. AsamplesolutiontoascrambledRubik3-cubeisfoundonthe  programdiskette.ThefileSAMPLE.CUBisthecomputer-legible  form,andSAMPLE.TXTisthetextformforthesamecube. Toloadasavedcube,pressF4orclickontheLoad...item  intheFilemenu.Adialogboxappearsaskingforthenameofthe  cubetoload.Clickon"Cancel"ifyouchangeyourmind. Becauseonlyonecubecanbepresentatatime,loadinga  cubewilldestroythecubecurrentlybeingworkedon.Ifyouhave  doneanythingtothecurrentcubesinceyoustartedworkingonit  (evenifyouhaveaskedRubik'sCubeSimulatortoscramblethe  cubeforyou),orsincethelasttimeitwassavedinanon-text  form,Rubik'sCubeSimulatorwillaskyouwhetherornotyouwant  tosavethecurrentcubefirstbeforeloadinganewone.  Givingup TherearetwoothertimesintheFilemenu.ThefirstisNew  cube...whichcanalsobeaccessedbypressingF1.Usethiswhen  yougetdesperateandwanttogiveupandstartoverwithanon-  scrambledcube.Ittakesyoubacktothebeginningofthe  program,whereadialogboxaskingforthesizeofthecubeis  displayed.Again,ifyouhavedoneanythingtothecubesinceyou  startedworkingonitorsincethelasttimeitwassaved,you  willbeaskedwhetherornotyouwanttosavethecurrentcube  first. Finally,theQuititemintheFilemenu,orF5willquitthe  programaltogether.Again,ifRubik'sCubeSimulatorconsiders  itanappropriatequestion,itwillaskifyouwanttosavethe  oldcubefirstbeforequitting. Settingmarks Althoughbeingabletogobackwardsandforwards,thewayyou  caninreadingabook,canbeveryuseful,ithasitslimits.For  example,youmightbetosolvethreefacesbuthavetroublewith  theforth.Everytimeyousolvethefourth,youmakeamistake  andhavetoUndofifteentimestogetbacktoapointwhereyou  wereincontrol.  Ratherthanmakeyougobackstepbysteptoacertain  criticalstage,Rubik'sCubeSimulatorallowsyoutosetmarks,  ratherlikebookmarks.Thisway,ratherthanhavingtoremember  howlongagoyouhadthefirstthreefacessolved,youcanseta  markthereandgobacktoitasneeded. Upto1000markscanbeset,numbered1to1000.Youcannot  givethemnamesinsteadofusingnumbers.Tosetamark,usethe  Set...itemintheMarkmenuorpress.Adialogbox  appearsaskingyouthenumberofthemarkyouwantset.Tohelp  youout,itwillprovideasadefaultthelowestnumberfora  currentlyclearmark.Forexample,ifnomarksareset,itwill  assumeyouwanttosetmark#1.Ifonlymark#1isset,itwill  assumeyouwanttosetmark#2.Ifmark#2isset,andmark#1is  clear,itwillassumeyouwanttosetmark#1.Naturally,ifyou  don'tlikeitsassumption(whichitonlymakestobepolite  anyway),youdon'thavetouseitbutcanenteryourownmark  number.ClickontheOKbox,orpressorwhen  you'vedecidedonyournumber,orclickonCancelifyou've  decidednottosetamark.  Ifamarkissetatthepositioncurrentlybeingdisplayed,  thena"M"followedbythemarknumberisdisplayedintheupper-  righthandcornerofthecubedisplaywindow,justinfrontofthe  numberofthemove.Noticethatmove0canhaveamarksetthere.  Ifthemarkyouwanttosetisalreadyset,Rubik'sCube  Simulatorwillaskifyoureallywanttoresetthemark. Togotoamarkedposition,usetheGotoitemintheMark  menuorpress.Again,Rubik'sCubeSimulatorwill  guesswhichmarkitisyouwanttogoto,thistimeguessingthe  highestnumberedmarkset.Thus,ifmarks#1through#10areset,  itassumesyouwanttogotomark#10.Ifallofmarks#1through  #10exceptformark#2areset,itwillstillassumeyouwantto  gotomark#10.Again,youdon'thavetodoasitguesses;you  canenteryourownnumberifyoudesire.  Ifthemarkyouwanttogotoisnotset,Rubik'sCube  Simulatorwilltellyouandnotgoanywhere. Ifyouwanttoclearamark,therearetwowaysyoucan  proceed. Youcanclearallthemarksatoncebypressing  orusingtheClearmarksitemintheMarkmenu.Allmarksare  alsoautomaticallyclearedwhenyoucallupanewcube.Whenyou  loadanoldcubefromdisk,thenthemarksareallsettothe  valuestheyhadwhenthatoldcubewassaved.Tomakesureyou  don'tdoanythingrash,Rubik'sCubeSimulatorasksyouifyou're  certainyouwantallmarksclearedbeforeclearingthem.  Ifyouwanttoclearjustonemark,youcandosobyusing  theClearmarkitemintheMarkmenuorbypressing.  Again,adialogboxwillappearaskingyouwhichmarkyouwant  cleared.Ifyouchangeyourmind,clickonthe"Cancel"box,  otherwise,enteranumber(orusethenumberprovidedbyRubik's  CubeSimulator)andclickonthe"OK"boxorpressor  .  Themarkenteredwillbecleared,whetherornotitwas  alreadyset. Asbefore,Rubik'sCubeSimulatorprovidesaguessasto  whichmarkyouwantcleared,butwherethereisnocompletely  obviousreasonforitschoice,sincethenumberprovidedisnot  necessarilythenumberofamarkwhichisset,butthetotal  numberofmarkswhichhavebeenset.Forexample,ifonlymark#2  hasbeenset,itsguesswillbe1,despitethefactthatmark#1  isclearalready. Infact,however,itisararetimeindeedwhenyouwillwant  toclearanymarkonceset.With1000marksatyourdisposal,it  won'thurtifthereareafewsetwhichyoudon'treallyneed,and  ifyoudostartrunninglow,youcanalwaysresetoldmarks  withouthavingtoclearthemfirst.Thus,here,Rubik'sCube  Simulatorprovidesanumbernotsomuchasaguessastowhatyou  wanttodo,buttotellyoujusthowmanymarksyouhaveset.  Consequently,youwillusetheClearmarkfunctionmostoften,not  toclearanythingatall,buttofindouthowmanymarksyouare  using. Marksareusedmostefficientlybyusingthedefaultnumbers  providedbyRubik'sCubeSimulator.Whenyousetamark,usethe  numberitprovides,andtheywillbesetinanorderlyfashion.  Whenyougotoamark,youwillmostlikelywanttogobacktothe  onemostrecentlysetand,ifyouhavealwaysusedthedefault  numbersinsettingthemarks,thiswillindeedbythehighest-  numberedmarkset. Marksareinvaluableinsolvingthecube.Evenan  experiencedcubologistcanmakeamistakesometimeandhavetogo  backtothelastpointwherehewasinfullcontrol.Marksallow  youtodothiseasily.Setmarksoftenandsaveyourworkoften,  sothatunforseenproblemswillnotslowyoudown. Severalmarkshavebeensetinthesamplesolutionfoundon  thedisk.JustasSAMPLE.CUBandSAMPLE.TXTcontainthesample  cube,SAMPLE.DOCalsocontainssomeinformationonwherethemarks  areset. Taggingsquares InstudyingaRubikcubepuzzleandtryingtoworkouta  solution,it'softenthecasethatyoutryoutsomethingyouthink  mightbeusefultoseewhathappens.Whathappens,however,can  beverycomplicated,anditisoftendifficulttofigureitout  becauseitisdifficulttofindexactlywherethepiecesyou're  interestedinhavegoneto.Insuchasituation,stickingsome  maskingtapeonthemcanhelpyoukeeptrackofwheretheygo. Rubik'sCubeSimulatorgivesyoutheabilitytotagsquares  inanexactlyanalogousfashion.Youcanmarkthemwitheithera  letterornumber,oryoucanhaveoneofsixfiguresdrawnin  them,a"-",a"|",a"+",a"/",a"\"ora"X". Totagacharacter,clickontheTag...itemintheMark  menu,orpressthekey(afterall,"tag"and"tab"sound  almostthesame).Thiscallsupadialogboxwithwhichthetag  isset.  Therearetwopartstosettingatag.First,youhaveto  specifywhichsquareyouwanttagged,whichiseasilydone.  Second,youhavetospecifyhowyouwantittagged. Inspecifyingasquare,youarespecifyingthesquareonthe  cubeinitscurrentconfiguration,andnothowitstartedout.  Allyouhavetodoistoindicatewhichfacethesquareison,and  whichrowandwhichcolumnitisonwithintheface.Thereare  sixboxesmarked"T","L","F","R","B"and"D"inthedialogbox  forsettingtags;theyarelaidoutinafashionsimilartothe  displayofthecubetomakeiteasiertorememberwhichone  indicateswhichface.Clickontheoneyouwant.Ifyouare  workingwiththeRubikn-cube,thentherearenrowsandncolumns  withineachface.Therowsarenumbered1throughn,startingat  thetopoftheface,andthecolumnsarenumbered1throughn,  startingattheleftoftheface.Thisistrueforallsixfaces,  includingtheback. Ifaninvalidrownumberorcolumnnumberisentered,orif  eitheritemisleftblank,thennotagisset. Usethe<>and<>orkeysinthecursorkeypadto  movethecursorbetweentheboxesforsettingrownumber,column  numberandtagvalue.  Ifyouwanttohavethesquaretaggedwithaletteror  number,therearethreewaystoindicatewhichletterornumberto  use.First,youcantypetheletterornumberitselfandnothing  elseintheboxforthevalueofthetag.Thisistheeasiest  way.Unfortunately,althoughthereare255charactersbuiltinto  theAtariST(assignednumbers1through255asindicatedinTable  1),notallofthemcanbetypedfromthekeyboard.Toletyou  useanyofthese255characterstomarkasquare,youcanalso  specifyacharacter'snumber.Again,twomethodsarepossible.  Oneistotypea"#"followedbythecharacter'snumberindecimal  formorbaseten--thenumberthewaywe'reusedtowritingit.  Thus,"#65"meanstousecharacternumber65whichis"A"."#227"  meanscharacternumber227,whichis.A"#"byitselfmeans,of  course,the#-sign. Peoplewhohavedonealotofcomputerprogrammingmightbe  morecomfortabletousebase16orhexadecimal.Toinputthe  numberofacharacterinhexadecimal,usethedollarsignfollowed  bythehexadecimalnumberofthecharacter.Rubik'sCube  Simulatortreats"a"through"f"thesameas"A"through"F".  Again,a"$"byitselfmeansjustthe$-signandnotthe  hexadecimalvalueforthenumberofacharacter. Finally,therearesixpatternsthatcanbedrawnina  square.YoucantellRubik'sCubeSimulatortouseoneofthese  sixpatternsbyenteringa"-"(minussign)followedbyanumber1  through6.Againa"-"byitselfmeanstotagthesquarewiththe  "-"signandnotanyspecificpattern.(Youmaytrythemoutone  atatimetoseepreciselywhattheyare.)  Taggingsquareswithcharactersis,onthewhole,more  useful,sinceitmakesitpossibletotellapartupto255  differentsquareseasily.(Ofcourse,gettingthebigvaluein  taggingsquarescomesinshowingalittlerestraint;tagging255  differentsquareswillclutterupthedisplayquiteabit.)  Still,ifthesquaresareverysmall,thecharactersusedtotag  themmightnotfitincompletely,althoughRubik'sCubeSimulator  willtrymanfully(orwomanfully,dependingonyourgender).In  suchacase,taggingwithapatternismoreuseful. Toclearatagafteritwasset,usetheSettagdialogbox  again,butleavetheboxforthevaluetowhichtosetthetag  blank,orenter"#0"or"$0".Thetagisautomaticallycleared. CHAPTERFOUR MACROS   ThemostpowerfultoolthatRubik'sCubeSimulatorputsat  yourdisposaltosolveaRubikcubepuzzleisitscapacitytouse  macros.Macrosarehelpfulinanysituationwhenacommandor  seriesofcommand,orablockoftext,isoftenused.Ratherthan  havingtorepeatoverandovertheparticularcommand,amacro  givesyoutheabilitytorepresentitbyasinglecommandor  keystroke. InRubik'sCubeSimulator,amacroisdefinedasanoften-  repeatedcommandorseriesofcommandsandassignedaname.After  amacroisdefined,insteadofhavingtoexplicitlytellRubik's  CubeSimulatortoexecutethefullcommand,simplytellitto  executethemacro,andithandleseverythingelse.Sinceany  commandRubik'sCubeSimulatorcanexecutecanbepartofthe  definitionofamacro,youcanevendefinemacroswhichwill  executeothermacros.Upto500macrosmaybepresent,readyfor  execution,atanyonetime.  Definingandeditingamacro Todefineanewmacrooreditanoldone,press  orclickontheEdit...itemin0660103030566 theMacromenu.Rubik'sCube  Simulatorrespondsbydisplayingadialogboxaskingforthemacro  name.  Everymacromusthaveanametotellitapartfromother  macros.Avalidnamecanconsistofanycombinationofletters  andnumbers,butitmustbeeightorfewercharacterslong.  Upper-andlower-caselettersaretreatedasthesame,sothatif  youhavetwomacrosnamed"macro"and"MACRO",Rubik'sCube  Simulatorwillnotbeabletotellthemapart. Afteryouenterthename,anotherdialogboxappearsasking  youtoenterthemacro.Justtypeinthedefinitionofthemacro,  justasifyouwereenteringitasacommandfromthekeyboard.  Clickonthe"OK"box,orpressor,andyou're  through.Themacroisdefined. Toeditanoldmacro,followthesameprocedurebutenterthe  nameoftheoldmacroinsteadofmakingupanewone.Here,as  elsewherewhenRubik'sCubeSimulatorasksyouforthenameofa  macro,theprogramwillnothateyouifyoutemporarilyforgetthe  name.Justclickon"OK"orpressorwithout  enteringanythingatallforthemacro'sname.Thedialogbox  vanishes,andawindowappearslistingallthemacroscurrentlyin  memory.Clickthemouseonthemacroyouwant(youmayhaveto  usethearrowsorthescrollbartofinditifyouhavealotof  macrosinmemory),andRubik'sCubeSimulatorwillknowwhatyou  mean.Clickonthecloseboxintheupperleft-handcorner,or  anywhereinthewindowwherethereisablanklineifyouchange  yourmindanddon'twanttoeditmacroafterall. Amacro'sdefinitionmustbenomorethan80characterslong.  Infact,becauseoflimitationsonthescreen,youwon'tbeable  toenteramacroeventhatlong,especiallyifyou'reinlow  resolutiongraphics,soitshouldn'tbeaproblem.(Again,in  lowresolutiongraphicsmode,themaximumlengthis26characters,  andinmediumorhighresolutiongraphicsmode,itis52  characters.)However,ifyousaveamacrotodisk,itwillbe  possibletoeditthemacrousinganytexteditororwordprocessor  in"non-document"or"textonly"mode,andinsuchacaseyou  mightaccidentallymakeyourmacrodefintiontoolong,whichwould  beamistake.  Definingamacrousingmarks Ratherthanmakeitnecessarytoscribbledownonpaper  everythingyoudidafteryoudiscoveraparticularlyclevermove  orsetofmoves,Rubik'sCubeSimulatorcancreatemacrosfor  you.Setamark,gothroughyourmoveorsetofmoves,andthen  setasecondmark.Rubik'sCubeSimulatorcannowturnthemoves  betweenthetwomarksintoamacro. ClickontheMark...itemintheMacrosmenuorpress.  Dialogboxesappearaskingforthenameofthemacrotocreate  (youarewarnedifthemacroalreadyexists),thenumberofthe  markatthebeginningofthestretchofmovestobemadeintoa  macro,andthenumberofthemarkattheend.  Sinceamacrocanonlybe80characterslong,thetwomarks  shouldnotbeveryfarapart,althoughhowfaraparttheycanbe  dependsonwhatmovesareinvolved.Forexample,Rubik'sCube  Simulatorissmartenoughtoturn"1F2"into"F2"and"1U1"into  just"U",butitisnotsmartenoughtoturn"F2R2F2R2F2R2"  into"(F2R2)3".Asageneralrule,thetwomarksshouldnotbe  morethanabouttwenty-fivemovesapart.Ifyouwanttoconverta  longerseriesofmovesintoamacro,youcanbreakitupinto  smallerstretches,defineamacroforeach,andthendefinea  macrowhichsimplyexecutesalltheothermacros,oneatatime.  Youwillbetoldifthetwomarksaretoofarapart. WhenRubik'sCubeSimulatorturnsthemovesbetweentwo  marksintoamacro,itdoesnotincludethemovethefirstmarkis  setto.Thatis,ifthefirstmarkisatmovenumber40,andthe  secondmarkisatmovenumber50,thenmovesnumber41through50  areturnedintoamacro.Themacroisthesetofmovesnecessary  togetfromthefirstmarktothesecond. If,bychance,youaccidentallygetthetwomarksmixedup  andmakethefirstmarksecondandthesecondmarkfirst,Rubik's  CubeSimulatorwillsortthingsoutforyou.  Executingamacro Therearethreewaystoexecuteamacro.Oneofthese  involvesmappingthemacrotothekeyboardandwillbediscussed  later.Theothertwoarebothverysimple. First,youcanusetheExecute...itemintheMacromenuor  press.Again,thiswillcallupadialogboxasking  forthemacroname.Ifyou'veforgottenthemacro'sname,click  on"OK"orpressor,andyou'llgetthewindow  listingallthecurrentmacros;clickontheoneyouwant,aswith  editinganoldmacro.  Thesecondwaytoexecuteamacroinvolvesenteringacommand  fromthekeyboard.Inadditiontothecommandswhichmanipulate  thecubedirectly,youcanenter"X"followedbyaspace,thename  ofamacro,andanotherspace(thespacesareonlyneededto  separatethenameofthemacrofromeverythingelse).Thus,  enteringthecommand"XMACRO"fromthekeyboardtellsRubik's  CubeSimulatortoexecutethemacronamedMACRO. Thefactthatamacrocanbeexecutedinthisfashionallows  youtodefinemacroswhichexecuteothermacros.Forexample,  supposeyouhavetwomacros,MACRO1andMACRO2,whichyouexecute  alotseparatelyortogether.Youcandefineathirdmacro,say  MACRO12,tobe"XMACRO1XMACRO2".ThenexecutingMACRO12will  automaticallyexecuteMACRO1andthenMACRO2. (Mind,Rubik'sCubeSimulatordoesn'tneedthemacronames  orthecommandstobeupper-caseletters.Theyaremerelyused  hereforthesakeofconvenience.) Becareful,however.Itispossibletodefineamacrothat  executesitself,andthatwouldbeadisaster.Rubik'sCube  Simulatordoesnotkeeptrackofwhichmacroiscurrentlybeing  executed,soifyoudefineamacroMACROtobe"XMACRO",whenever  youexecuteMACRO,itwillexecuteMACRO,whichwillinturn  executeMACRO,andsoonforever.(Thisistheprogrammer's  nightmare:theendlessloop.)Rubik'sCubeSimulatorconsiders  thissituationtobesounlikelythatitdoesn'tworryaboutit;  soyouhaveto. Mappingamacrotothekeyboard Asanaddedconvenience,itispossibleto"map"amacroto  thekeyboard.Thismeansthatyouassignaparticularkeystroke  toamacro,sothatpressingthatkeyautomaticallycausesthe  macrotobeexecuted. Youhaveachoiceof36keystowhichyoucanmapmacros.  Thesearetheso-called"alt"keys.Thekeytothelefttothe  spacebarislabeled"Alternate";itactsasasortofextra  "Shift"key.Byholdingitdown,andpressingakey"A"through  "Z"or"1"to"0",yougetakeystrokewhichisentirelydifferent  frompressinganyofthekeysbythemselves. The"alt"keysdonotgenerateanycharactersthatmost  programsrecognize,sothatmakesitconvenienttousethemto  standformacros. Tomapamacrotothekeyboard,pressorclick  ontheMap...itemintheMacromenu.Again,Rubik'sCube  Simulatorasksforthemacro'sname;tellitthesamewayas  beforewhichmacroyouwant.Thenanotherdialogboxappears  askingforthekeytowhichthemacroshouldbemapped;entera  letter"a"through"z"(or"A"through"Z"--it'sthesamethingto  Rubik'sCubeSimulator)oranumber"1"to"0".Press  ororclickon"OK",andyou'refinished.Fromnowon,  holdingthe"Alternate"keydownandpressingonthekeyyou  indicatedwillautomaticallycausethemacrotobeexecuted.   Tomapthemacrotoadifferentkey,repeattheprocess. Iftwomacrosshouldbeaccidentallymappedtothesamekey,  theonedefinedfirstwillbeexecutedwhenthatkeyispressed. WARNING!Someotherprograms(suchasMichTron'sAlt)which  operateasdeskaccessoriesalsousethe"alt"keystodefine  macros.Becarefulifyouusesuchadeskaccessorywhilerunning  Rubik'sCubeSimulatorthatyoudon'tgeteverybodyallconfused  byusingthesame"alt"keytodotwodifferentthings. Deletingamacro Sinceupto500macroscanbepresentinmemoryatonce,it  seemsextremelyunlikelythatyou'lleverwanttodeleteanyof  them,butincaseyoudo,Rubik'sCubeSimulatorwillletyou.  PressorclickontheDelete...itemintheMacromenu.  Rubik'sCubeSimulatorwillaskintheusualwayforthemacro  youwant;tellitintheusualway.Aftermakingsurethatyou  reallydowanttodothisdrasticthing,Rubik'sCubeSimulator  willpromptlyforgetthatthemacroinquestioneverexisted. Listingmacros ClickontheListitemintheMacromenuorpress  togetawindowonthescreenlistingallthecurrentmacros.  Thisis,infact,thesamewindowaswe'veseenbeforewhenwe've  forgottenamacro'sname.(YoucantellwhetherornotRubik's  CubeSimulatorisexpectingyoutoclickonamacrotospecify  itsnameorjustshowingyouwhatmacrosarepresentinmemoryby  whetherornotithasturnedoffallthechoicesinthemenus.)   Thiswindowcanstayonthescreenaslongasyoulike.  Whenyouwanttoworkwiththecubeagainforawhile,clickon  thewindowdisplayingthecube;togetbacktothelistofmacros,  clickonthatwindow.Likethewindowdisplayingthecube,the  windowlistingmacroscanbemovedaroundoritssizechanged.  Unlikethewindowdisplayingthecube,youcanmakethisonego  awaybyclickingonits"close"box. ThiswindowalsoappearswhenRubik'sCubeSimulatorneeds  tohavethenameofamacroforediting,deleting,executing,or  saving.Thedifference,however,isthatifRubik'sCube  Simulatoriswaitingforyoutoclickonamacrobecauseitneeds  thename,allitemsonthemenubararedisabled,thatis,they  appearinlightgreyandnolongeroperate.Tore-enablethemenu  bar,clickonthe"goaway"boxintheupperleft-handcornerof  thewindowdisplayingmacros.Ifyoustillwantthemacroliston  screen,youcanmakeitreappearusingListor;this  time,themenubarwillstilloperateproperly. Savingandloadingmacros Naturally,itwouldbeunpleasanttohavetore-entera  usefulmacroeverytimeyouranRubik'sCubeSimulator.Asa  result,Rubik'sCubeSimulatorgivesyoutheabilitytosave  macrostodiskandthenreloadthemlater.Furthermore,Rubik's  CubeSimulatorcancreateorloadamacrolibrary--agroupof  macros--soyoudon'thavetodoitoneatatime. Tosaveasinglemacro,pressorclickonthe  Save...itemintheMacrosmenu.Youarefirstaskedifyouwant  tosaveamacroorcreateamacrolibrary.Pressor  orclickonthe"Mac"boxtotellRubik'sCubeSimulator  thatyouwanttosaveamacro.ThenRubik'sCubeSimulatorasks  whichmacroyouwanttosave.Youmustalreadyhavedefinedthe  macroinordertosaveit.Specifythenameofthemacrointhe  usualway.OnceRubik'sCubeSimulatorknowswhichmacrois  supposedtobesaved,itwantstoknowthenameofthefilein  whichtosaveitanddisplaysadialogboxaskingforthename.  It,asusual,givesasuggestion--justthenameofthemacrowith  '.MAC'stuckontheend.Youmaychangeitifyoulike,butit  wouldbeagoodideatoendyournamewith'.MAC'.Remember,the  nameofadiskfilecannotbemorethaneightletterslong(that's  whyamacronamemustbeeightorfewerlettersinRubik'sCube  Simulator).   Toloadamacro,clickontheLoad...itemintheMacromenu  orpress.Again,youmustspecifywhetheryouwant  toloadasinglemacrooramacrolibrary.Pressor  orclickonthe"Mac"boxtospecifyasinglemacro.  Rubik'sCubeSimulatorthengivesadialogboxaskingfor  thenameofthemacrotoload.Onceyouloadonemacro,youcan  loadanotheronerightaway,becauseRubik'sCubeSimulatorwill  continuetodisplaythedialogboxaskingforthenameofamacro  toloaduntilyouclickon"Cancel"tomakeitgoaway.This  makesiteasytoloadseveralmacrosallatonce. Macrolibrariesmakeiteveneasiertoloadseveralmacros  allatonce.Rubik'sCubeSimulatorcancreateorloadmacro  libraries,butitcannoteditthemoncetheyarecreated. Tocreateamacrolibrary,allthemacrosyouwanttobein  themacrolibrarymustalreadyhavebeensavedondisk.Clickon  theSaveitemintheMacromenuorpress.Again,you  areaskedifyouwanttosaveasinglemacrooramacrolibrary.  Clickon"Lib".  Rubik'sCubeSimulatorthenasksforthenameofthe  library.Nameitwhatyouwill,butitwouldbeagoodideato  endthenamewith'.LIB'.Whenyou'vespecifiedaname,adialog  boxappearslistingallthemacrosavailableondisk.Aswhenyou  loadasinglemacro,thisdialogboxwillonlygoawaywhenyou  clickon"Cancel"butthistime,thenameofthemacrosisadded  tothelibrary,ratherthanthemacrobeingloaded.Furthermore,  thediskdrivewherethediskcontainingthemacroisfoundis  includedinthemacrolibrary,sowhenthemacrolibraryisloaded  againfromdisk,thediskcontainingthemacrosmustbeinthe  samedriveasitwaswhenthemacroswerecreated. Toloadamacro,clickontheLoaditemintheMacrosmenuor  press.Youareaskedifyouwanttoloadasingle  macrooramacrolibrary;clickon"Lib"tospecifyamacro  library.Rubik'sCubeSimulatorthenasksforthenameofthe  library.Whenyoutellitthenameofthemacrolibrary,itthen  automaticallyloadsallthemacroslistedinthelibrary.If  therearemacroslistedinthelibrarynotfoundondisk,Rubik's  CubeSimulatorwillstoptoletyouknowandgiveyouthechance  toabortloadingthelibrary,butonlythefirsttimeit  encountersamissingmacro.Thereafter,itwillskipovermissing  macroswithoutcomment.  Asamplemacrolibraryandseveralsamplemacrosareincluded  ontheprogramdisk.Thelibrary'snameendswith'.LIB'andall  themacroswith'.MAC',sotheyareeasytofind. BothmacrosandmacrolibrariesaresavedondiskasASCII  textfiles,sotheycanbeeditedwithatexteditororword  processorin"textonly"or"non-document"mode.Thus,although  Rubik'sCubeSimulatorcannotitselfeditamacrolibraryandcan  editlengthymacrosonlywithdifficulty,itshouldbepossibleto  dosucheditingwithouttrouble.Thesefilescanalsobe  displayedonthescreenorprintedupbydoubleclickingonthem  fromthedesktop.  Amacrofileconsistsofthreelines.Thethirdlineisa  number,thekeyboardscancodeofthekeytowhichthemacrois  mapped,ifany.Leavethislinealoneunlessyouarefamiliar  withkeyboardscancodes.Thesecondlineisthenameofthe  macro.Thefirstlineisthemacroitself. Amacrolibraryisalistofthefullnamesofthemacro  filesitcontains. Becausethemacrofileincludesthekeyboardscancodeofthe  keytowhichthemacroismapped,youcanmanuallychangeitso  thatthemacroismappedtoakeyotherthanoneofthe36"alt"  keys.Thatisnot,however,recommended. Youcanalsouseatexteditororwordprocessorin"text  only"or"non-document"modetoeditthemacroitself.Becauseof  thelimitsforeditingmacrosinRubik'sCubeSimulator,ifyou  insistonusingamacromorethan52characterslong,youwill  havenochoicebuttousethisround-aboutmethod.Bevery  careful,however.Ifthemacroendsupmorethan80charactersin  length,Rubik'sCubeSimulatorwillcrashaltogetherwhenyou  attempttoloadit.Itwouldbebettertosplitanexceptionally  longmacrointotwoormoresmallerones,andthendefineathird  macroexecutingbothofthem. CHAPTERFIVE DESKACCESSORYVERSIONOFRUBIK'SCUBESIMULATOR  AdeskaccessoryversionofRubik'sCubeSimulatorisalso  includedontheprogramdisk.Becauseitisintendedonlyforfun  andnotforseriousstudyoftheRubikcubepuzzles,itlacksmost  ofthefeaturesoftheregularprogram. Tobemoreexact,itlackseverythingexceptthefollowing: 1.Thecubeismanipulatedbyclickingonitwiththemouse,  and 2.Thenumberoflevelsmovedwithmouseclickscanbe  changedbyusingthecursorcontrolkeysorclickingonthe  displaywindowsomewherenotonthecube. Thereisnomenubar,noorderscanbeenteredfromthe  keyboard,thereisnodo-and-undocapability,cubescannotbe  savedandloaded,nomarkscanbeset,andmacrosarenot  implemented. Youshouldbewarnedaboutoneaspectofthedeskaccessory  versionofRubik'sCubeSimulator:ithasastrongaversionto  thecubebeingsolved.Ifeveryoucallupthedeskaccessoryand  thecubeissolved,beforethecubeiseverdisplayed,thedesk  accessoryinafitofpassionscramblesitforyou. Whenloadedfromyourbootdisk,thedeskaccessoryversion  ofRubik'sCubeSimulatorsearchestherootdirectoryforafile  called"RUBIK.SIZ".ThisfilecontainsthesizeoftheRubikn-  cubetobedisplayed.Ifthefileisnotpresent,yougetaRubik  3-cube,thestandardRubik'sCube.Tochangethesizeofthe  cube,usetheprogramSIZESET.PRG,includedontheprogramdisk. Double-clickonSIZESET.PRGfromthedesktop;adialogboxwill  appearaskingforthesizeofthecube.Theoldvaluewillbe  displayed,andthenewvaluecaneitherbeentereddirectlyorby  clickingonthe""and""boxes.Clickon"OK"orpress  orwhenyou'rethrough.Whenfinished,rebootby  pressingtheresetbuttonorturningthecomputeroffandthenon  againafterafewseconds.ThedeskaccessoryversionofRubik's  CubeSimulatorwillnowsimulatetheactionoftheRubikn-cube  ofthespecifiedsize. Aswithalldeskaccessories,thedeskaccessoryversionof  Rubik'sCubeSimulatoriscalledupbyclickingonitsname  (here,"Rubik")intheDeskmenuofanyprogramusingGEMorthe  desktop. APPENDIX SUMMARY OF COMMANDS  F1 Give up and start over with a new cube F2 Save the cube to disk before I go crazy F3 Save it as a text file so I can read it F4 Reload a cube from disk so I can try it again F5 Quit the program altogether F6 Scramble the cube (I'm feeling brave today) F7 Input an order from the keyboard (I have an idea) F8 Set the levels for twisting with the mouse F9 Deleteamacro F10 Convert orders between two marks to a macro shift-F1 Set a mark (default: lowest-numbered mark not set) shift-F2 Go to a mark (default: number of marks set) shift-F3 Clear all marks shift-F4 Clear a mark (default: highest-numbered mark set) shift-F5 Define a new macro or edit an old one shift-F6 Save a macro to disk shift-F7 Load a macro (or macros) from disk shift-F8 Execute a macro shift-F9 List all macros currently defined shift-F10 Map a macro to the keyboard or change a macro's keyboard mapping Undo Go back one move (if possible) Clr/Home Go back n moves (program asks for n) Help Go forward one move (if possible) Insert Go forward n moves (program asks for n) alt-d Execute the macro mapped to alt-d (d is 0..9, A..Z/a..z) [n]f[m] Give toface f,mclockwise quarter-twists, down to n levels (defaults are n = 1, m = 1; f is U, L, F, R, B, or D) Click on a face to twist it-- One click (left button), one quarter-twist, counterclockwise One click (right button), one quarter-twist, clockwise (= three quarter-twists, counterclockwise) Two clicks (either button), one half-twist (clockwise or counterclockwise doesn't matter).  d a macro (or macros) from disk shift-F8 Execute a macro shift-F9 `", o"h#$#$#$,Oc.N//Bg?<JNA BbBy$ N,/,HNVA"-HpHy$?N ?<KN XN^,_Nu/,HNVA"-HpHy$?N ?<EN XN^,_Nu/,HNVA"-HpHy$?N ?<MN XN^,_Nu/,HNVA"-HpHy$?N ?<LN XN^,_Nu/,HNVA"-HpHy$?N ?<pN XN^,_Nu/,HNVA"-HpHy$?N ?<qN XN^,_Nu/,HNVAB-HpHy$?N ?<YN 0. @?N 0.@?N XN^,_ _XN/,HNVA8-H0. raA\0. rzA_CBd0. @=@`=n 0.N^,_ _TN/,HNVA"-HpHy$?N ?<AN XN^,_Nu/,HNVA"-HpHy$?N ?<BN XN^,_Nu/,HNVA"-HpHy$?N ?<CN XN^,_Nu/,HNVA"-HpHy$?N ?<DN XN^,_Nu/,HNVA"-HpHy$?N ?<HN XN^,_Nu/,HNVA"-HpHy$?N ?<IN XN^,_Nu/,HNVA"-HpHy$?N ?<JN XN^,_Nu/,HNVA"-HpHy$?N ?<eN XN^,_Nu/,HNVA"-HpHy$?N ?<fN XN^,_Nu/,HNVA.-HpHy$?N ?<bN 0. ?N XN^,_ _TN/,HNVA.-HpHy$?N ?<cN 0. ?N XN^,_ _TN/,HNVA"-HpHy$?N ?<dN XN^,_Nu/,HNVA"-HpHy$?N ?<jN XN^,_Nu/,HNVA"-HpHy$?N ?<kN XN^,_Nu/,HNVA"-HpHy$?N ?<lN XN^,_Nu/,HNVA"-HpHy$?N ?<oN XN^,_Nu/,HNVA"-HpHy$?N ?<vN XN^,_Nu/,HNVA"-HpHy$?N ?<wN XN^,_Nu/,HNVA"-HpHy$?N ?<dN XN^,_NuNV?<NNN^Nu/,HNVA-HN2. HH@J@jD@=@0.N^,_ _TN/,HNVA0-HNJ@jD@?<r/<?N\NA0 .2.N^,_NuNV?<NAN^Nu/,HNVA-HN=@N^,_NuNV?<NAN^Nu/,HNVA<-HN-@ .2<H".¼4<H//N!$=@0.N^,_Nu/,HNVA-H"n p2"nBQ"n 0r.A_"n 0rA0p0@\C"n 0rA0p9@_CBd8"n$n0 $n 2tA0B@2"n $n 0R@2`N^,_ _ON/,HNVA-H0.J@f"n p0`0.J@jp=@0.D@=@`Bn"n E0.J@gR"n N`0.r HH@@0??0.rAV80p\@gHyV8?N`09V6@A??`0.29UrRAArH=@`0.D@29UrRAArH=@`0.29UrRAArH=@`x0.29UrRAArH=@`\0.D@29UrRAArH=@`>0.29UrRAArH=@`"S@ @b@0;N@\z0.N^,_ _\N/,HNVA-H?.?.?. N@`0.D@29UrRAArH=@`0. D@29UrRAArH=@`0. D@29UrRAArH=@`z0. D@29UrRAArH=@`\0. D@29UrRAArH=@`>0.29UrRAArH=@`"S@ @b@0;N:Xv0.N^,_ _\N/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.N$/?<?<?<N" 4.BBAm(0. `?.?.?.N&D@=@?.?.?.NN=@?.?.?.N=@`?.?.?.N"D@=@?.?.?.ND@=@?.?.?.Nz=@`^?.?.?.N=@?.?.?.ND@=@?.?.?.N8=@`S@ @b@0;N$f?.?.?.N=@?.?.?.NX=@?.?.?.NB=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.N6/?<?<?<N$" 4.BBAn(0. `?.?.?.N=@?.?.?.Nj=@?.?.?.ND@=@`?.?.?.N=@?.?.?.NfD@=@?.?.?.ND@=@`^?.?.?.Nt=@?.?.?.ND@=@?.?.?.N =@`S@ @b@0;N$f?.?.?.N^=@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.N/?<?<?<N|" 4.BBAn(0. `?.?.?.ND@=@?.?.?.N<=@?.?.?.Nf=@`?.?.?.NND@=@?.?.?.N=@?.?.?.ND@=@`^?.?.?.N=@?.?.?.N=@?.?.?.ND@=@`S@ @b@0;N$f?.?.?.N=@?.?.?.N=@?.?.?.Nn=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.Nb/?<?<?<NP" 4.BBAm(0. `?.?.?.N&=@?.?.?.ND@=@?.?.?.N=@`?.?.?.N=@?.?.?.ND@=@?.?.?.N>D@=@`^?.?.?.N=@?.?.?.N=@?.?.?.N:D@=@`S@ @b@0;N$f?.?.?.N=@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.N/?<?<?<N" 4.BBAm(0. `?.?.?.N@D@=@?.?.?.Nh=@?.?.?.N=@`?.?.?.NzD@=@?.?.?.N&=@?.?.?.ND@=@`^?.?.?.N=@?.?.?.N=@?.?.?.ND@=@`S@ @b@0;N$f?.?.?.N =@?.?.?.N=@?.?.?.N=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVAV-Hp=@ nnBp=@=yUr0.nn p=@=yUr0.nn=n=n=n?.?.?.N/?<?<?<N" 4.BBAn(0. `?.?.?.N=@?.?.?.N>D@=@?.?.?.N=@`?.?.?.ND@=@?.?.?.ND@=@?.?.?.Nh=@`^?.?.?.ND@=@?.?.?.N=@?.?.?.N&=@`S@ @b@0;N$f?.?.?.N=@?.?.?.NF=@?.?.?.N0=@0.r `2.AA2.AA2.t a4.BB4.BBAGP40A;P10.r `2.AA2.AA2.t a4.BB4.BBA/P40A#P1Rn`Rn`Rn`N^,_ _XN/,HNVA-H0. rHH@=@ 09Uz29VԲ|L]C@dV09VR@3Vp3V409V@2.A4.BBn AV109V԰yVo 3VVpn =@ 0.`b?.?. N`r?.?. N4`b?.?. N`R?.?. N`B?.?. NB`2?.?. N`"S@ @b@0;Np=@ nnp=@=yUr0.nnp=@=yUr0.nn0.r `2.AA2.AA2.t a4.BB4.BBA;P40AGP10.r `2.AA2.AA2.t a4.BB4.BBA#P40A/P1Rn`fRn`DRn`$N^,_ _\N/,HNVA6-H"n E:?9VHnN"n N`Hn?N/9?9:N/9?9"p?)\N??"p/ ?"p / ?Q?<NrAf*p=@ nn0.@rAn1Rn``*p=@ nn0.@rAn1Rn`N^,_ _TN[2][ Do you really want to clear all marks? ][ Yes | No ]/,HNVA-Hp=@0.@An20p@V0.|]CBd0.R@=@`CO$OpQ?.N=@0.rAo0.@An20p@f(0.@An1V09nR@3n`LCRO$O5p4Q?<NrAf$0.@An1V09nR@3nNN^,_Nu[2][ Mark already set. Reset it? ][ Yes | No ]Set which mark?/,HNVAP-H0. r0A\0. r9A_C0. rAA\0. rFA_DC0. raA\0. rfA_DC=B0.N^,_ _TN/,HNVA-H0. r0A\0. r9A_CBd0. @=@``0. rAA\0. rFA_CBd0. @=@`40. raA\0. rfA_CBd0. @=@`p=@0.N^,_ _TN/,HNVA-H"n p2Hn?@ @b2@0;N&&&&&&&&&pd &`09V 2.JAVC@dNR?9UxN=n0.N^,_Nu/,HNVAp-HNxN=@?.HnHnHnHnN?.?.?.?.N?<NBgNBgBg?.?.NNN^,_NuNV?<,NAN^Nu/,HNVAN-HNNJ@jD@2<HH@=@0.rAo?<N=@0.S@=@`BgNLN^,_Nu/,HNVA-HCO$O&p%Q?<NrAfByUzp3V4NZNNp=@09Ur =@0.nnL?<NR@=@09UrrH?NR@=@?<NR@=@?.?.?.NHRn`p3UzBgNLN.N^,_Nu[2][ Are you sure? ][ Yes | No ]/,HNVA-Hp=@ nnp=@=yUr0.nnnp=@=yUr0.nnN0.r `2.AA2.AAAGP10.r `2.AA2.AAA/PBpRn`Rn`Rn`jN^,_NuNV?<NAN^Nu/,HNVA -HN=@0.J@jBnBn0.N^,_Nu/,HNVA-HABP1|09V4@d0CO$O-p,Q?<NrAW=B`p=@0.@d:N`HyV8?pU=@`TpL=@`JpF=@`@pR=@`6pB=@`,pD=@`"S@ @b@0;NHn?.?<N t?.N ?.N zHz>?<N XRn`HnN XHnN XHnN XHnN XHnHz?< N N XHnN Xp=@ nn|0.@An20p@g\HnHz?<N ?.?<N tHzb?<N 0.@An?0?<N t?<.N N XRn`~HnN BgNLHnN N^,_Nu is set to position Mark Marks set: . 0. 0 1 2 3 4 5 6 7 8 9Orders processed:Save cube in text form as.../,HNVA-HABP1|CV8E4p$QCO$OpQHnNn@dN@?<:?p=@`rp=@`hp=@`^p=@`Tp=@`Jp=@`@@B @b4@0;N((((((((((((((0.N^,_ _TN/,HNVA&-H0. r0A^0. @аyUr_C=B0.N^,_ _TN/,HNVA-H?. Hz ?<N 0=@0.N^,_ _TN/,HNVA-H?. Hz ?<N 0=@0.N^,_ _TNT$/,HNVA-H0. r0A=@0.N^,_ _TN/,HNVA-HHn ?"p/ ?< VHh?"p VE4p$Q?<*?< VHh?"p/ ?< VHh ?"p VE 4p$Q?<*?< VHh ?E `Hn ?<?.N:0.S@=@0.rA0p)@fCEp?$QHn?<?.NHn?.p.?NAO"Op?"QHnHnNrHn?<?<Np=@=n0.nnp.r. A|lDN`Hn?"p/ ?"p?)\NO"O?<?<N8/.?.CO$O?<?<Nޒ/.N./.?.ND=@CE/.?.HnN$Hn?"p/ / p.?N"_?N"_3@\`0.@A>"pBi\/.N/.NؖN^,_NuOK Map to: __ MACRO MAP: /,HNVAV-Hp=@CEHnNh=@0.J@f09@|]Hn?HpN~09@@A>"p-I"nE2"""nE^ "nBi\`Bn0.@d~N`Hz(?<NrHn?"p IO$Op?$Q?<?<N8`j/.?.C"O$O"p!QCO$OpQ0.@A>"p IO$Op?$Q?<?<N8/.?.CO$O?<?<Nޒ/.N./.?.ND=@/.?.HnN$p.rPAo pP=@` p.=@0.@A>"pE p=@=n0.ܰnnl0.@A>"pN`0.@A>$p / ?"pp) =@0.ܰnnL0.@A>"p0.H@2.AA>$p2.t2 ?N"L Rn`/.N/.NؖN^,_NuOKXXXXXXXXXXXXXXXXXXXXXXXXXXMacro: __________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXMacro: ____________________________________________________MACRO: /,HNVAd-HCbEHnNR=@0.J@g>N 0.@A>"p IO$Op?$QNBgNLNN^,_Nu/,HNVA-HA01|CEHnN=@0.J@gHn?"p/ ?"p / ?"p/ ?"p?)\N zN XHnN AO"O2p"QN BgNLHnN N^,_NuSave macro:.MAC/,HNVVA-HAV01|CV8E4p$QN`HyV8?N~HnB?<HnE< 2p"QHnB?<HnE<2""HnB"n>\/ NNXHnBN p=@=y@:0.n:n<0.@A>"p/ ?<"n>/ ?!>`?<^/.>NDA O"O2p"QN BgNL`BnHpN~09@@A>"pE 2""09@@A>"pBi\09@@A>"pE 0.R@=@=n0.nn,0.@AV=p0.rHH@=@0.rH=@0.rHH@=@0.rH=@?.HnN0.`:N`Hn?"pr) ArPAlp09@@A>"pN`09@@A>$p / ?"p/ ?/0ND=n0<S@=@0.nn*0.@2.RAAA>$0A>!Rn`B09@S@3@`&C(O$O%p$Q?<N=@N^,_Nu[1][ No macros to delete! ][ OK ][2][ Are you sure? ][ Yes | No ]/,HNVA&-H3V3xV3yV3zV3{V3|V3}V3~V3V3V3V30V3.V3 V3V3!V3"V3#V3V3$V3%V3&V32V31V3V3V3V3V3V3V3V3/V3V3-V3V3,VN^,_Nu/,HNVA&-HN낰yUxg?9UxNNN^,_Nu/,HNVAR-H09V4@d0CDO$O)p(Q?<NrAW=B`p=@0.@dNByVByVByV(NBgNByV4?9UxN~N `?<?<`?<?< V?( V?( V?( V?(BgN`?<fN N`.0. yN`6 VBh`,N`$ VHhN N  VAO"Op?"QNͲBgNLN`NѠ`NN`N,N`NN`NN`N`N`NN|`?<N`N `N`|N`tN`lN`dN V1@`VN`NNL`FN`>09V*R@3V*09V*yUro p3V*N:`09V*S@3V*09V*rAl 3UrV*N `3UrV*N`p3V*N`@ @Sb@0;NR\dlt~\dl&.6>FT0. `J?9BgN`?9BgN`?9BgN`?9BgN`@ @Sb@0;NN^,_ _TN/,HNVA-H0. yTf NF`0. yNf NL`0. yRf N`r0. yPf N`\0. yLfN V1@`@0. yJf N`*0. yHf N@`0. yFfNN^,_ _TN/,HNVA R-HN `np3V2p3V03V.3V,`bp(3V2p3V030V.3V,`>p(3V2p23V030V.3,V,` @b@0;NNN3V6C O$ON N J@f?<?<k?<?<N?<?<?<k?<N?<?<?<q?<}N?<?<?<k?<}N?<?<?<?<N?< ?<}?<?<N?< ?<}?<?<}NCBRn`By@BynBgNp3V*p=@p3UzByV4ByV prAr ArA?HyUBgBgBgBgN3UxprArAr A|rAr@A|?HyU|?< ?< BgBgN3V&N N^NNNNBn0.@d?9UxHnHnHnHnNFpr ArArA?BgBgBgp/BgBgBgBgBgBgBgBgBgBgHnHnHnHnHnHnHnN=@0.rAJ@gp=@p=@=y@0.ְnn0.2.4.BA>"p i\WC@ddBn?9?<NNbN 0.@A>"p IO$Op?$QNJBgNL?9BgNNZRn`f0.@d ?. NN0.rAJ@V0.rA^C/N$yUxWCBd?.?.?.?.ND0.rAJ@g.0.`N0.rAf N`n0.ްyf?. NN2`R0.ްyf?. NN`60.ްyf?. NNv`0.ްyf ?. NN?.BgN`0.ްyUxf?.?.?.?.NN`.0.ްyV&WyV Bd?.?.?.?.NN`<0.ްyUxf$?.?.?.?.?.NN`80.ްyV&WyV Bd ?.?.?.?.?.NN`0.@dBBn?.?<HnHnHnHnN?.?.?.?.?.N`@p=@?.?<HnHnHnHnN?.?.?.?.?.N`F0.ްyUxf?9UxNNN`.0.ްyV&WyV Bd?9V&NNN`0.ްyV&WyV BdN`0.ްyV&WyV Bd2?9V&HnHnHnHnN0.rH??.N`0.ްyV&WyV Bd*?9V&HnHnHnHnN?.?.NB`>@ @b2@0;N&&&&&&&&&:V&Z0.F@yV4@d,CO$O3p2Q?<NrAW=B`N?9UxHnHnHnHnNF?9UxN~N `?<?<`?<?<?.?.?.?.BgN`r?</0NDRn`N^,_Nu[2][ Save cube before quitting? ][ Yes | No ] RUBIK'S CUBE MACRO LIST AB#$A$0B1|A$01|NJ@k NN"Hy$N BgNANuNV?<NNN^Nu/,HNVA-H/9?9(Nռ/9?9 Nռ/9?9"Nռ/9?9Nռ/9?9$Nռ/9?98Nռ/9?96Nռ/9?94Nռ/9?90Nռ/9?9.Nռ/9?9,Nռ/9?9*Nռ/9?9DNռ/9?9@Nռ/9?9>Nռ/9?9:Nռ/9?9O$OpQN63B/9?9CO$OpQN63@/9?9CrO$OpQN63>/9?9C4O$OpQN63:/9?9CO$OpQN63/9?9CzO$OpQN63:/9?9C6O$OpQN63N^,_Nu/,HNVA4-H0. @d/9?.Nׄ`/9?.NN^,_ _XNNuNV?./. ?<=NAN^ _ONNV?.?<>NAN^ _ON/,HNVA6-HN ?<BgBg?<&?<N -@/.?<Bg?<?<BgBgBgBgN=@/.?.AO"Op?"QBgBgNޒ"n E4p$Qp.r"Aop"@/.?<Bg?<?<?<"?<Bg?<N=@/.?.CO$O"p!QCO$O"p!QAO"Op?"Q?<BgN8/.?<prArA??<?<?<?<?<?<N=@/.?.C.O$OBgBgNޒ/.?<prA??<?<?<?<?<?<N=@/.?.CO$OpQBgBgNޒ/.N.Bnp=@/.?.ND=@0.@e/.?.Bg?<N&0.ngBnp=@`/.?.HnN$p.R@rAHnN/BgNl=@0.J@j p=@`r?.NhN`Hz?<!NrHn?HnN6"nE2p"Q"n E2p"Qp.=@Bn0.@eR0.J@W0.rA0p\@WÄC0.rA0p:@WÄCBd p=@` 0.S@=@`p=@p.=@f0.nfn,0.R@=@"n 0.2.tA0Rn`"n 0.@0.N^,_ _PNNu/,HNVN A-HBn"n0.-I"n0)n m"n$n0*R@3@"n0)n m"n$n0*R@3@"n0n m"n$n0R@2"n0.0)r AJ@f0.R@=@`f0.n m4"n0.R@$n0.p"Q0.S@=@`N^,_ _\N/,HNVN A -H"n 0-I"n0)rAfpT@=@`"n0)R@=@/. ?.N"n 0.-I"nBi"nBi"np. 3@"n3|"np 3@"np2"np3@"np3@"nBi"nBi "nB /. ?<?.N/. ?.N/. ?.A O"Op?"QBgBgNޒpT@=@"n 0.Bi"n 0.=Q0.rAg@"n 0.$n 0.0*$n 2.j3@=n`"n $n 0.0*$n 2.j3@D/. "n ?)?<?<BgBgBgBg?<?<N=@/. ?.N"n 0.$n 0.0*$n 2.j3@=n0.N^,_ _ON/,HNVN A-Hp=@0. U@S@=@"n$n0*=i0.rAo 0.S@=@"n0.=Q`/.?.?<BgBgp. ??<BgBgBgN=@/.?.A O"Op?"QBgBgNޒ"n0.=iBn0.ng 0.R@=@"n0.=Q`"n0.3n/.?.N"n0.0)"n2.io$"n0.$n0.3j"n0.=i"n0.$n0.3j"n0.3n=n0.N^,_ _ON/,HNVN A-Hp@n =@?.N-@/.?=@/.?.CO$OpQN=@/.?.CO$OpQN=@/.?.ClO$OpQN=@/.?.C2O$OpQN=@-n .N^,_ _ON Desk Accessory 6 Desk Accessory 5 Desk Accessory 4 Desk Accessory 3 Desk Accessory 2 Desk Accessory 1 -------------------- Desk /,HNVN A-H/. NN^,_ _XNNu/,HNVtA>-HN =n0. rA=@-nx?<HnHnHnxHntNlN^,_ _PN/,HNVtA8-HN =n p=@-nx?< HnHnHnxHntNlN^,_ _\N/,HNVtA6-HN =n Bn-nx?< HnHnHnxHntNlN^,_ _\N/,HNVA0-HN /.?. A O"Op?"QBgBgNޒN^,_ _ON/,HNVnAX-HN "n $n p*R@r=n"n / N-@r?<#HnHnzHnrHnnNl=nz0.N^,_ _\NNu/,HNVxN p=@-n |?<HnHnHn|HnxNlN^,_ _XN/,HNVxN Bn-n |?<HnHnHn|HnxNlN^,_ _XN/,HNVxN =n Bn-n|?<!HnHnHn|HnxNlN^,_ _\N/,HNVxN =n p=@-n|?<!HnHnHn|HnxNlN^,_ _\NNu/,HNVAp-HN 0.T@=@?.N-@/.??<?. NN^,_ _TN/,HNVA-HN ?<?. NN^,_ _TN/,HNV8A>-HN =n PBnR?<BgBg?<HnHnHnhHnPHn8BgNN^,_ _TN/,HNV8AN-HN ?.?. NH=n=n ?<lBg?<BgHnHnHnhHnPHn8BgNN^,_ _XN/,HNVA"-HN ?. NX?<?. NN^,_ _TN/,HNVA.-HN 0. rA?Nl?<h0. rA?NN^,_ _TN/,HNVAz-HN ?. Nb=n 0. rAo0p=@0. S@=@ 0. rAop=@0. @=@ ?<?.N.0.rAo?<?. NN^,_ _TN/,HNV6A@-HN =n =n?<'Bg?<BgHnHnHnhHnPHn8BgNN^,_ _XN/,HNVA-HN ?<j?. NN^,_ _TN/,HNV8A>-HN BnP=n R?< BgBg?<HnHnHnhHnPHn8BgNN^,_ _TN/,HNVA-HN ?<?. NN^,_ _TN/,HNV2A-HN Hn2Hn4Hn6NvBgBgNl=nP=nR0.nS@=@T=nV0.nS@=@X0.n S@=@Z=n\0.n S@=@^=n`=nb?<BgBg?<HnHnHnhHnPHn8?<N?.4?.6NN^,_ _PN/,HNV8A`-HN =nP=nR0.nS@=@T0.n S@=@V?< ?< Bg?<HnHnHnhHnPHn8?<NN^,_ _PN/,HNVAr-HN HnHnHnNBgN?<NHnHnHnNv?.Nn?.?.?.?. N*?.N?.N?.NBN^,_ _PNNu/,HNVtA2-HN =n-n x?<NHnHnHnxHntNlN^,_ _\N/,HNVA-HN ?</. NN^,_ _XN/,HNVA-HN 0. ?BNnN^,_ _TN/,HNVA2-HN N,J@f ?<BN8N,R@?N4N^,_Nu/,HNVA@-HN N,rAo(N,S@?N4N,J@f ?<BNN^,_Nu/,HNVA<-HN p?BNp=@N,=@0.nn NrRn`N^,_Nu/,HNVtA,-HN p=@?<kHnHnHnxHntNlN^,_Nu/,HNVtA,-HN p=@?<kHnHnHnxHntNlN^,_NuNu/,HNVN p.R@rAHnN/?. N*=@0.N^,_ _ONNu/,HNVN A-H=nF=n@=nD=nB0.:rA=@=n8=n6=n4=n20.0rA=@=n. =n, =n*=n(=n>=n<-n$?<HnHnHnHnNl=n"n2"n2"n2"n 2"n 2"n20.N^,_ _OS@r VR?/LNuHaS@r VT?/LNu# _0 @g "_J@jp`0"|p2 Ag $_JAjr`2$|r@g\HGe$4SBkQ4@SBpQ0"|` 4SBkQ4ASBrQ$|LJ@f pCR$I/9NuH _024SBgQ@4BAAc/LNuHyNRange error during set-operationH _0246@SCBgQAn68DCCc 0AgRB`/LNuH _0@CEHS@rIVW.J?/LNuH _0@CEHS@rIVV.J?/LNuH _0@CEHS@2FA_VW.J?/LNuH _0@CEHS@2FAYVW.J?/LNuH _0@274BAAc7V`tO>/LNuH _0@"_24BAAc1V`t>/LNuH _02S@AC2YQ/LNuH _02S@AC2YQ/LNuH _02S@AC2FAYQ/LNuB9`PBy# _0g$_jp"_// HN LJ@fP)J9f" f |` f|` f |` f|`4<G BQB) @e *:f&Jrt `e QG (tWJBkZG @3 J9f g< g6`d f H@?3|NAXNu _4` _t6 Bo r aSB`2aNH? _r ar a/L?Nu _r aN _4` _t"x0HgJJjDxvCDzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCDp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Cgt`CbtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH "oA/ NDL NuBy#(_ _/ C( g  f,t4(H / /?(?<@NA LJkvfNu4(SBraQNu(g^ f,H tHy/<??<@NA LNu fH t` fH t` f NuHy?` Hy0< LNREWRITE required prior to WRITE or PUTDisk or directory fullBy# _$_"Wp )f)H/ NL4NH/ NLp)`By# _"WJyf8J)f )f)H/ NL )g)J)fJgBy )g J)fBiNz`zBy# _$_"WptvH/ Hya029XL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHy0<` Hy0<NBy# _$_0"Wt )gJ&JRJ)f4H/ HyaP29XL )gJ)f RBBe`ưBe`N&|H/ ?< NA\Hy/<?BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LNuBBo `H _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LNuoH _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LNuH _0 @&b(CC/)?/LNuHy`HyLN Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvPFloating point overflowFloating point division by zero $Nu# _ g$e$d 9NHy`Hy"Nt`t _"_0gR@| e.G$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9g0$A#`""9g$A#`"9g $A#"`"E$&R"$b HyNJgr"QHd2S@k"QN _"_0" g$e$d gR@ @mz @ e@E"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"#` |f"#` "#NHeap overruns stackPointer NILPointer not in heapHF _0"_e /LFNuHy fN/B9n/|nNuHF _0 @f0"|DDp` "_J@jpEnr4@ BbBS@kQ/LFNuHF _4SBkt82$_rAdd0 @f0"|DDp` "_J@jp6ADb6CG0IS@k$eQ/LFNuHF _4k2SAk0"_p6B@bE0)CS@kQ/LFNuHF _2$_r0 @f0"|DDp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LFNuHF _4kF2SAk>0 @f0"|DDp` "_J@jp6B@bEnSBkQ/LFNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"y$e Hy NN#v#r .f -| `-|  nNнrf yvNStack overruns heapH?z _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?zNu0NvDNHz|` Hz| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LzNu09#Nu _3#NBy#Nu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. ,       t          $ $        x&.|*,| *"  @ XX RPpl : R : R : R : R : R : L  D : HXF( J$x*(  * $RRff 6  "8, Z(, 4    (,$ L >  0d,,8,,,,,0,,,6,6,  ,488,T(, ": ^""*|Tr :22$  $ 2&0  "T>*> "0   $ $   $ L @f ^@xd D 2 z&,vb$,,<<<<<<444<0,$$$$$$LLP( """"""00HFj (H> &"   HJ& l6(>\,$&$ * 0" , &^.  >  *      .  B" 0" P  P,48",480\T(Z 8Fr"2">:42(h42(:<2>R.x,4888844P( 6,\ &  <F XH,480N( & F,480V( PP ^$$p T8@,8&( " ` H:84<84>,H(D(( .6 *& &^  0   : 0   `  * $ >d j  "J@ h~$ :P@@2  @$~hv((\ 0 $n  &(444x, 0H      (   * (&$P$" &@V&( 4(   " X&,,,"  d*p$D& V$(LV2(., ",.*& d&$Z(d ($&$"2 , * $"($&$*,"06 ,\60LP"4*>4@ l*trp`  zP,&D0T>0,8&&,F.:FFFF*@4n(>2020nD(."F<".$ B " 4T R"BBD 4@@(&. ,@ ,,2 4 ,2 4 ,2 ,,T  V& ,,  ,6   $LL2`*2 "T &( &0&  >               $"  ,*< * * , , 0 , " nBB6 2J XpD D   ( 0@L< P z  f H F  2  <   , FR ( *@ B @ B V   * (&$P$" &@V&( 4(   " X&,,,"  d*p$D& V$(LV2(., ",.*& d&$Z(d ($&$"2 , * $"($&$*,"06 ,\60LP"4*>4@ l*trp`  zP,&D0T>0,8&&,F.:FFFF*@4n(>2020nD(."F<".$ " 4T R"BBD 4@@(&. ,@ ,,2 4 ,2 4 ,2 ,,T  V& ,,  ,6   $LL2`*2 "T &( &0&  >               $"  ,*< * * , , 0 , " nBB6 2J XpD D   ( 0@L< P z  f H F  2  <   , FR ( *@ B @ B V  jj)--%/9197;691536+6)596;f/+/.&.&.&-)-%-.*.*.*/'.)-.:.:.:/+.;/.*.*.*-9.'/.2.2.2-%/91;391;391;3-91;391;391;3/OPijA:\SAMPLE1.MAC A:\SAMPLE2.MAC jj)--%/9197;691536+6)596;f/+/.&.&.&-)-%-.*.*.*/'.)-.:.:.:/+.;/.*.*.*-9.'/.2.2.2-%/91;391;391;3-91;391;391;3/OPijOrders processed: 0 1 2 3 4 5 6 7 8 9 0. 1L1 1F1 1F1 1U1 1F3 1D1 1R1 1D1 1B3 10. 1D3 1B2 1D1 1R1 1B1 1R3 1B2 1L3 1B2 1L1 20. 1B1 1D1 1B2 1D3 3U2 1F3 1L3 1F3 1F2 1U2 30. 1F2 1U2 1F2 1U2 1F1 1L1 1F1 1U1 1F1 1F2 40. 1L2 1F2 1L2 1F2 1L2 1F3 1U3 1F2 1L1 1F1 50. 1F2 1D2 1F2 1D2 1F2 1D2 1F3 1L3 1F2 1D3 60. 1F3 1F2 1L2 1F2 1L2 1F2 1L2 1F1 1D1 1F2 70. 1U3 1F3 1F2 1R2 1F2 1R2 1F2 1R2 1F1 1U1 80. 1F3 1D1 1R1 1D3 1R3 1D1 1R1 1D3 1R3 1D1 90. 1R1 1D3 1R3 1F1 1D1 1R1 1D3 1R3 1D1 1R1 100. 1D3 1R3 1D1 1R1 1D3 1R3 1F3 Marks set: Mark 1 is set to position 0. Mark 2 is set to position 24. Mark 3 is set to position 79. Mark 4 is set to position 80. Mark 5 is set to position 105. Mark 6 is set to position 106. 6 7 8 9 0. 1L1 1F1 1F1 1U1 1F3 1D1 1R1 1D1 1B3 10. 1D3 1B2 1D1 1R1 1B1 1R3 1B2 1L3 1B2 1L1 20. 1B1 1D1 1B2 1D3 3U2 1F3 1L3 1F3 1F2 1U2 30. 1F2 1U2 1F2 1U2 1F1 1L1 1F1 1U1 1F1 1F2 40. 1L2 1F2 1L2 1F2 1L2 1F3 1U3 1F2 1L1 1F1 50. 1F2 1D2 1F2 1D2 1F2 1D2 1F3 1L3 1F2 1D3 60. 1F3 1F2 1L2 1F2 1L2 1F2 1L2 1F1 1D1 1F2 70. 1U3 1F3 1F2 1R2 1F2 1R2 1F2 1R2 1F1 1U1 80. 1F3 1D1 1R1 1D3 1R3 1D1 1R1 1D3 1R3 1D1 90. 1R1 1D3 1R3 1F1 1D1 1R1 1D3 1R3 1D1 1R1 100. 1D3 1R3 1D1 1R1 1D3 1R3 1F3 Marks set: Mark 1 is set to position 0. Mark 2 is set to position 24. Mark 3 is set to position 79. Mark 4 is set to position 80. Mark 5 i(F2 R2)3 SAMPLE1 4864 Mark 6 is set to position 106. (F2 L2)3 SAMPLE2 9728 `C| o"h#E#E#E,Oc.N//Bg?<JNA BbByEN/,HNVA"-HpHyFN?N0?<KN0XN^,_Nu/,HNVA"-HpHyFN?N0?<EN0XN^,_Nu/,HNVA"-HpHyFN?N0?<MN0XN^,_Nu/,HNVA"-HpHyFN?N0?<LN0XN^,_Nu/,HNVA"-HpHyFN?N0?<pN0XN^,_Nu/,HNVA"-HpHyFN?N0?<qN0XN^,_Nu/,HNVAB-HpHyFN?N0?<YN00. @?N00.@?N0XN^,_ _XN/,HNVA8-H0. raA\0. rzA_CBd0. @=@`=n 0.N^,_ _TN/,HNVA"-HpHyFN?N0?<AN0XN^,_Nu/,HNVA"-HpHyFN?N0?<BN0XN^,_Nu/,HNVA"-HpHyFN?N0?<CN0XN^,_Nu/,HNVA"-HpHyFN?N0?<DN0XN^,_Nu/,HNVA"-HpHyFN?N0?<HN0XN^,_Nu/,HNVA"-HpHyFN?N0?<IN0XN^,_Nu/,HNVA"-HpHyFN?N0?<JN0XN^,_Nu/,HNVA"-HpHyFN?N0?<eN0XN^,_Nu/,HNVA"-HpHyFN?N0?<fN0XN^,_Nu/,HNVA.-HpHyFN?N0?<bN00. ?N0XN^,_ _TN/,HNVA.-HpHyFN?N0?<cN00. ?N0XN^,_ _TN/,HNVA"-HpHyFN?N0?<dN0XN^,_Nu/,HNVA"-HpHyFN?N0?<jN0XN^,_Nu/,HNVA"-HpHyFN?N0?<kN0XN^,_Nu/,HNVA"-HpHyFN?N0?<lN0XN^,_Nu/,HNVA"-HpHyFN?N0?<oN0XN^,_Nu/,HNVA"-HpHyFN?N0?<vN0XN^,_Nu/,HNVA"-HpHyFN?N0?<wN0XN^,_Nu/,HNVA"-HpHyFN?N0?<dN0XN^,_NuNV?<NNN^Nu/,HNVA-HN2. HH@J@jD@=@0.N^,_ _TN/,HNVA0-HNJ@jD@?<r/<?N6N8HA0 .2.N^,_NuNV?<NAN^Nu/,HNVA-HN=@N^,_NuNV?<NAN^Nu/,HNVA<-HN-@ .2<H".¼4<H//NC$=@0.N^,_Nu/,HNVA-H"n p2"nBQ"n 0r.A_"n 0rA0p0@\C"n 0rA0p9@_CBd8"n$n0 $n 2tA0B@2"n $n 0R@2`N^,_ _ON/,HNVA-H0.J@f"n p0`0.J@jp=@0.D@=@`Bn"n E0.J@gR"n N?0.r HH@@0??=@/.?.N"rAJ@f,AO"Op?"QHnHnNJ/.?.N"rAJ@g0.R@=@` 0.S@=@0.rAop=@0.rAlp=@/.?.Bg?<N# /.?.Bg?<N# ?.HnNh/.?.CO$O pQCO$OAO"Op?"Q?<?<N2/.?.Bg?<N# /.N/.?.N>=@`/.?.HnNAO"Op?"QHnHnN3F09FrAl p3F09FrAo p3F/.N/.NN^,_NuOK99SIZE: __Size entry/,HNVLAB-HALBP1|HnLHz:?< N-C2FHnLN3THnLN0HnLN0N^,_NuRUBIK.SIZ/,HNVA-H?< BgBg?<&?< N-@/.?<Bg?<?<?<?<Bg0<?N=@/.?<Bg?<?<?<?<Bg0<?N=@/.?<Bg?< ?<?<?<Bg0<?N=@/.?<prArA??<?< ?<?<?<0<?N=@/.?<Bg?<?<?<?<Bg0<?N=@/.?<Bg?<?<?<$?<Bg0<?N=@/.?<Bg?<?<?<?<Bg0<?N=@/.?<Bg?<?<?<$?<Bg0<?N=@/.?<Bg?<?< ?<$?<Bg0<?N=@/.?.CO$OpQ?<?<N/.?.CO$OpQ?<?<N/.?.CpO$O p Q?<?<N/.?.C>O$OpQ?<?<N/.?.CO$OpQ?<?<NN?Hz?< N?0<??=@/.N/.NN^,_NuBrought to you courtesty COAST 1986, John H. Jenkins.used by permission of OSS. 1986, OSS and CCD andCopyright Portions of this program are OK Version 1.1Desk Accessory ConfigurationRubik's Cube SimulatorAP#EAE0B1|AFN01|N)J@kN&bNN$N~N*DHyFNN0BgNANu/,HNVAp-HNB*0.T@=@?.N-@/.? "n$i -J"nB"nB"nB"np3@"nBi"n3n "n3n0.rAW0.rAWÄCBdD"nX/ CNO$ON"nP/ C2O$ON"np3@=n0.N^,_ _ON/,HNVA$-HNB*p.r.Ag0p.r.Alp.R@rAp.@"n0.-I"n0)rAW"n0)rAWÄCBd"n$i -J"nX/ AO"Op?"QN"np.R@3@"nP/ AO"Op?"QN"n/ AO"Op?"QN"np.R@3@"n3n "n3n `N^,_ _O NNu/,HNVtA\-HNB*=n=n=n=n=n=n=n=n=n ?<3HnHnHnxHntN+N^,_ _ON/,HNVnAF-HNB*0. J@jBn =n -nr?<2HnHnzHnrHnnN+=nz0.N^,_ _\N/,HNVAv-HNB*/.BgHnHnHnHnN$6BgBgBgBgBg?.?.?.?.N/.Bg?<?.?.?.?.N"$/.?. N(=@0.N^,_ _\N/,HNVAH-HNB*/. BgHnHnHnHnN$6?<BgBgBgBg?.?.?.?.NRN^,_ _XN/,HNVtA,-HNB*-n x?<6HnHnHnxHntN+N^,_ _XN/,HNVAX-HNB*Bn"n0.r1JAg*"n 0.R@$n2.t20.R@=@`"n 0.@N^,_ _PN/,HNVA-HNB*"n Jf:p. rAl?<"n / N'&`p. R@?"n / N'&p=@p. =@0.nn&"n $Q0.S@2.tA 0Rn`"n $Qp. rN^,_ _ON/,HNVA|-HNB*"n0.-I"n0)rAW"n0)r AWÄC"n0)rAWÄCBd("n / AO"Op?"QN`"n0)rAW"n0)rAWÄC"n0)rAWÄC"n0)rAWÄCBd"n$i -J"n0)rAW"n0)rAWÄCp."ni\CBd"n0)S@@"n Jf"np.R@3@"n/ AO"Op?"QN"n0)rAW"n0)rAWÄCBd"n3n "n3n N^,_ _O N/,HNVAZ-HNB*"n0.-I"n0)rAW"n0)rAWÄCBd"n$i /"n / N`N^,_ _O NNu/,HNVAn-HNB*0. R@?HnN'&Bn0. S@=@0.nn"n0.BiRn`"n0. p3@-n .N^,_ _TN/,HNVAH-HNB*Bn"n 0.r1JAg0.R@=@`0.rAlp=@=n0.N^,_ _XN/,HNVA0-HNB*/.N@d0. |?/.N>N^,_ _\N/,HNVA-HNB*Bn0.|]"n 0.0)rAVCBd0.R@=@`0.|lBn0.S@=@0.nnR"n 0.-I"n0)`"n/) "n/) NN? NN ` "n$i -J"n/"n/ NN? NN"n/)?< NN"n/)?< NN"n?</) N>`"n$i -J"n/"n/) NN(? NN"n/)"n/) NN ? NNb"n/)"n/) NN? NND"n?</) N>`0@ @ b$@0;NppRn`0.R@?/. N',N^,_ _XN _"BEeEUNNu/,HNVNB*A-H"n 0.-I"n3n"n3n"n3n"n3n"n3n"np2"np3@"np3@0.rAW0.rAWÄCBd0.rA=@"n0.r A3@"nBi 0.rAW0.rAWÄCBd"n3n "n3n ` "nB 0.rAg/. ?.?.N!N^,_ _ON/,HNVNB*A-HBn"n0)J@g^"n0.0)r AJ@f0.R@=@`"n0.$n0.0*r FAA3@0.R@=@/.?.?.?.?.?.?.?.?.?.?. N2=n0.N^,_ _ONNu/,HNVxNB*=n=n -n|?<(HnHnHn|HnxN+N^,_ _PN/,HNVxNB*=n -n|?<rHnHnHn|HnxN+N^,_ _\N/,HNVxNB*-n|=n=n=n=n=n=n ?<*HnHnHn|HnxN+N^,_ _ON/,HNVNB*"n0. =i 0.N^,_ _\N/,HNVxNB*-n|=nBn=n=n=n=n=n0. rA=@?</HnHnHn|HnxN+N^,_ _ON/,HNVNB*/.?.HnHnHnHnN$6/.?.?.?.?.?.?.?. NDN^,_ _O N/,HNVNB*"n0. =i0.N^,_ _\N/,HNVNB*"n0.3n N^,_ _PN/,HNVrNB*-nv=n=n=n=n ?<+HnHn~HnvHnrN+=n~0.N^,_ _O NNu/,HNVtNB*/.?."n/ "n/ N$"n0.-It"n$nt2"n $nt2"nt0) rAJ@g:"n$n0W@2"n$n0W@2"n$n0\@2"n $n 0\@2N^,_ _ONNu/,HNVxNB*=n-n|?<,HnHnHn|HnxN+"n2"n 2N^,_ _ONNu/,HNVtA2-HNB*=n-n x?<NHnHnHnxHntN+N^,_ _\N/,HNVA-HNB*?</. NN^,_ _XN/,HNVA-HNB*0. ?BNnN^,_ _TN/,HNVA2-HNB*N-NJ@f ?<BN8N-NR@?N-VN^,_Nu/,HNVA@-HNB*N-NrAo(N-NS@?N-VN-NJ@f ?<BNN^,_Nu/,HNVA<-HNB*p?BNp=@N-N=@0.nn NrRn`N^,_Nu/,HNVtA,-HNB*p=@?<kHnHnHnxHntN+N^,_Nu/,HNVtA,-HNB*p=@?<kHnHnHnxHntN+N^,_NuN> N>Nu/,HNVnAL-HNB*?<MHnHnzHnrHnnN+"n2|"n2~"n2"n 2=nz0.N^,_ _ON/,HNV,A-HNB*0. rAg p=@.`$Hn,Hn,Hn,Hn,N\?N,pd=@.=n p=@ n n0.@rA1Rn`p=@?..Bg?< BgHnHnHn`HnHHn0BgN,=n0.N^,_ _TN/,HNVAV-HN,=@?.N,=n ?<fBg?<BgHnHn"n/ Hn"n/ BgN,?.N,N^,_ _O N/,HNV4A-HN,=@6?. N,?. HnhHn8?<N^0.hJ@g pe=@4`p=@4?.4BgBgBgHnHnHnhHnPHn8BgN,0. n6g?.6N,` BgN,N^,_ _TN/,HNV8A2-HNB*?<BgBgBgHnHnHnhHnPHn8BgN,N^,_Nu/,HNVjA-HNB*Bnj?< HnHnzHnrHnnN+=nzl0.lrAg?<N=@j?.jN-H2H2H209G< @pf2<`2<3GD"<G0<NBNu _<#G(#G #G$#G"_#G:3E3_3_ 2/3yG, Jg.El: yG 8DSEk0 yG400 yG20Q?"<G0<sNBJ_g2 yG:( yG(8DSEk0 yG400 yG40QNu _3G,N09G,Nu _3G.N09G.Nu _3G43G2N _"_$_2G44G2N _3G83G6N _"_$_2G84G6N _3G0N09G0Nu09G:Nu _3G:N _3D N _3D$3D"N _3D&N _3D(N _3D*N _"_$_&_6D 4D"2D$N _"_$_&_6D&4D(2D*N _ RNB9Gr`PGrByE _0g$_jp"_// HGtN0LGtJ@fP)J9Grf" f |` f|` f |` f|`4<G BQB) @e *:f&Jrt `e QG08tWJBkZG0P3 J9Grf g< g6`d f H@?3|NAXNu _4` _t6 Bo r aSB`2aNH?3 _r ar a/L?3Nu _r aN _4` _t"x0HgJJjDxvC3Tzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvC3Tp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d C2wt`C2rtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH 3"oA/ N3TL 3NuByE(_ _/ C( g  f,t4(H / /?(?<@NA LJkvfNu4(SBraQNu(g^ f,H tGHyG/<??<@NA LNu fH t` fH t` f NuHy4O` Hy4(0< LN*REWRITE required prior to WRITE or PUTDisk or directory fullByE(_ _/ C (g ( fxJ(ft4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gfJ(fT f6H`?<NAT fHy5/<?BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LGNuBBo `HG _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LGNuoHG _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LGNuHG _0 @&b(C<C/)?/LGNuHy=`Hy=LGN+ Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvPFloating point overflowFloating point division by zero ENu#? _ gEeEd 9?NHy?`Hy?N+t`t _"_0gR@| e.G?$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9?zg0$A#?z`""9?~g$A#?~`"9?g $A#?"`"EE&R"$b Hy?N+Jgr"QHd2S@k"QN _"_0" gEeEd gR@ @mz @ e@E?"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"?#?` |f"?~#?~` "?z#?zNHeap overruns stackPointer NILPointer not in heapHG _0"_e /LGNuHyAN+/B9G/|GNuHG _0 @f0"|GGp` "_J@jpEGr4@ BbBS@kQ/LGNuHG _4SBkt82$_rAdd0 @f0"|GGp` "_J@jp6ADb6CG0IS@k$eQ/LGNuHG _4k2SAk0"_p6B@bE0)CS@kQ/LGNuHG _2$_r0 @f0"|GGp` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/LGNuHG _4kF2SAk>0 @f0"|GGp` "_J@jp6B@bEGSBkQ/LGNuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"yEe HyBN+N#H#H .f -|Bt`-|Bt nNнHf yHNStack overruns heapH?H _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?HNu0NvDNHH|` HH| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LHNu09ENu _3ENByENu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. ,       t          $ $        x&.|*0,488884,L( 6Z\ & L 6,,,8,,,,,0,,,,:,:,   06 ,\60LP"4*>4@ l*trp`  zP,&D0T>0,8&&4& ,,  ,6  L2`*2 "T &( &0&  >           nBB6 2J XpD D< P z  f H F  2  <   , FR ( *@ B @ B V  .`B/LHNu09ENu _3ENByENu[3][. f,.. f,CPOKER DAT MPOKER DAT DRAWPOKRDOC $.DRAWPOKRPRG 0֌2406 Y1????????    BBBB!!!!/   rrrr-!!!/   KHHH-!!!    HHHH-!!!!!!!HHHH~~~~-!!!--!!!!!! KHHHBBBB-!!!--!!!!!! KHHHBBBB-!!!--!!!!!!KHHH~~~~-!!!-,! ! ! KHHH-!!!-,! ! ! KHHH?-!!!-,! ! ! ?-!!!-,! ! ! -,! ! ! ~~~~maaa-,! ! ! 7 BBBBmaaa--!!!!!! BBBB --!!!!!!ˁȁȁBBBB--!!!!!!KHHHBBBB-!!!#K H H HBBBB= -!!!;K8H8H8HBBBB-!!! KHHHBBBBč#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #E 9B 02 #W 00 00 0A 01 32 17 08 A:\*.*@ #W 00 00 0D 08 15 0B 00 @ #W 00 00 0E 09 15 0B 00 @ #W 00 00 0F 0A 15 0B 00 @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 00 01 00 FF B FLOPPY DISK@ @ #T 00 03 02 FF TRASH@ @ #F FF 04 @ *.*@ #D FF 01 @ *.*@ #G 03 FF *.APP@ @ #G 03 FF *.PRG@ @ #F 03 04 *.TOS@ @ #P 03 04 *.TTP@ @ -!!! KHHHBBBB!!!!HHHHBBBB!!!!????????BBBB BBBBӿ KBHBHBHB? 8888KNHNHNHN !!!!KHHHHHHH-!!!- !!!K{HxHxHx-!!!-!!!- !!!KHHHrrrr-!!!- !!!K_>TUTUffPUPUg9g9NUNUyyAUAUyyEUEU^^AUAUooNUNUvvPUPUZZTUTUwwPUPUnnNUNUZZAUAUnnEUEUwwQUQUZZNUNUvv@U@Uoo@U@UooNUNUvvQUQUZZEUEUwwAUAUnnNUNUZZPUPUnnTUTUwwPUPUZZNUNUvvAUAUooEUEU^^AUAUyyNUNUyyPUPUg9g9TUTUffPTPT_>_>NTNTAPAPBBESES22ACAC00NLNLP P  T1T1 Q0Q0""NGNG@@Q#Q#q"q"VDVDDDVTVTTTHDHDDDG8G89988``????1E????????1E????}}}}}}}}}}}}]]]]]]cccwwwxx???cccxxAAAxxUUUxxcccl8}<X8<<@ < <???? ?? IH|?@@>?p Px'0?v)C_ ?=? c@|y w|| w< w== _< W<W9l|?88~@7?`+ ~&x` o?//߀?0?2`;__T@__׀`8q߀p?x*? q????1E????ccc]]]]]]]]]UUUYYYaaawwwcccAAA?~???UUU>>@??ccc 7008aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<o1oor!rr |B<p tp_|/t(wtoz8{z}}}?~~~x??@~@?x!$??? ?࿀?2 >?OH_?ǿOH?OH  ?oh ?oh ?oh ?/(?/(???/(O?? ?/, '$ '& ##''~&~&  ~~`?J~F~F`?~B~BϿ?~C~C?x?? ?qq?? ?   G@ @ :q:q22`x~kx  go????1E????]]][[[WWWOOOWWW[[[]]]wwwccc?~???AAA>>@??UUU c7c0c08aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<o1oor!rr |B<p tp_|/t(wtoz8{z}}}?~~~??@~@?!`??0??/}?|?/$L??~|?? |???? ?? ?? ????#?? "Hݷ??xNN8x xxpppp~~8``~~缘C???~~F??~~??~~8x??|?D?? QU P`Zk  go????1E????}}}}}}}}}}}}]]]]]]ccccccxx???cccxxAAAxxAAAxxwwwl8}<X8<<@ < <???? ?? IH|?@@>?p Px'0?v)C_ ?=? c@|y w|| w< w== _< W<W9l|?88~@7?`+ ~&x` o?//߀?0?2`;__T@__׀`8{߀p?x ? q????1E????ccc]]]]]]]]]UUUYYYaaaccccccAAA?~???AAA>>@??www 7008aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<1r!rr |B<p tp_|?t(wtz8{z}}}?~~~x??@~@?x!$??? ?࿀?2 >?OH_?ǿOH?OH  ?oh ?oh ?oh ?/(?/(???/(O?? ?/, '$ '& ##''~&~&  ~~`?J~F~F`?~B~BϿ?~C~C?x?? ?qq?? ?   G@ @ :{:{22`x~kx  go????1E????]]][[[WWWOOOWWW[[[]]]cccccc?~???AAA>>@??AAA w7w0w08aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<o1oor!rr |B<p tp_|/t(wtoz8{z}}}?~~~??@~@?!`??0??/}?|?/$L??~|?? |???? ?? ?? ????#?? "Hݷ??xNN8x xxpppp~~8``~~缘C???~~F??~~??~~8x??|?D?? QU P`Zk  go????1E????}}}}}}}}]]]]ccwwxx???ccxxAAxxccxxwwl8}<X8<<@ < <???? ?? IH|?@@>?p Px'0?v)C_ ?=? c@|y w|| w< w== _< W<W9l|?88~@7?`+ ~&x` o?//߀?0?2`;__T@__׀`8{߀p1x1 qq????1E????cc]]]]]]UUYYaawwccAA?~???cc>>@??ww 7008aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<1r!rr |B<p tp_|?t(wtz8{z}}}?~~~x??@~@?x!$??? ?࿀?2 >?OH_?ǿOH?OH  ?oh ?oh ?oh ?/(?/(???/(O?? ?/, '$ '& ##''~&~&  ~~`?J~F~F`?~B~BϿ?~C~C?x?? ?qq?? ?   G@ @ :{:{22`x~kx  go????1E????]][[WWOOWW[[]]wwcc?~???AA>>@??cc 7w0w08aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<o1oor!rr |B<p tp_|/t(wtoz8{z}}}?~~~??@~@?!`??0??/}?|?/$L??~|?? |???? ?? ?? ????#?? "Hݷ??xNN8x xxpppp~~~8``~~~缘C???~~~F??~~~??~~~8x??|?D?? QU@ P`ZPk  go????1E????}}}}}}}}]]]]cckkxx???AAxxAAxxccxxwwl8}<X8<<@ < <???? ?? IH|?@@>?p Px'0?v)C_ ?=? c@|y w|| w< w== _< W<W9l|?88~@7?`+ ~&x` o?//߀?0?2`;__T@__׀`8{߀p1x1 ``????1E????cc]]]]]]UUYYaakkAAAA?~???cc>>@??ww 7008aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<1r!rr |B<p tp_|?t(wtz8{z}}}?~~~x??@~@?x!$??? ?࿀?2 >?OH_?ǿOH?OH  ?oh ?oh ?oh ?/(?/(???/(O?? ?/, '$ '& ##''~&~&  ~~`?J~F~F`?~B~BϿ?~C~C?x?? ?qq?? ?   G@ @ :{:{22`x~kx  go????1E????]][[WWOOWW[[]]kkAA?~???AA>>@??cc 7w0w08aw@Gpp@xO`@D8 Gp@B!< vFv8v Ё!B<o1oor!rr |B<p tp_|/t(wtoz8{z}}}?~~~??@~@?!`??0??/}?|?/$L??~|?? |???? ?? ?? ????#?? "Hݷ??xNN8x xxpppp~~8``~~缘C???~~F??~~??~~8x??|?D?? QU P`Zk  go????102  ɀɀɀ ɀɀɀ 〔 〔    46 PPPPPP62 ppppppppppppxxxppppppxxxxxxppppppxxxppppppxxxxxxppppppppppppppppppppphhhPPPPPPPPPPPPPPPhhhpppppppppxxxppppppxxxxxxpppxxxxxxxxxhhhXXX888pppxxxpppppppppxxxpppppppppppppppxxxppppppPPPPPPPPPPPPPPPppppppppppppxxxppppppxxxxxxppppppxxxppppppxxxxxxppppppppppppppppppppphhhPPPPPPPPPPPPPPPhhhpppppppppxxxppppppxxxxxxpppxxxxxxxxxhhhXXX888pppxxxpppppppppxxxpppppppppppppppxxxppppppPPPPPPPPPPPPPPP318 %  cr , "# , "" \ "" l cr , %  kԔD l TUN | 7uN L TUN , TD < %  < s͌s 33 0s3 33 s͌3 30 < %  snj08 | 3 < 3 < 0sό < 3 < 3 < snj3 | %  | 8rǍ | 33 < 33 < 03 < 32 | 8s0 %  |ǃ0 < 8s3 33 snj30 | 033 38snj snj< < %  snj8pǏ < 3< 3< 3< 3< s͌< 88|ǃ %  8s 33 | 33 < 33 < 33 < 33 | 8p0 %  xp| s͌33< 333< 0s0| 2s3 s͌33 8snj %  2052 \@ __ _ _@ߠGzw@0zz^zz^zz^zz^zz^zz^zz^zz^zz^z^z^ z^z^zz^?zz^߸zz^߈z@z^zz^z%z^zz^zz^~zz^~ zz^zz^߈zzw^GzzG^wz{ߠ^z!x^z ^zG^zw^z^z@ @ @ @_^w__ ^G_ _^__^_@ށ~ @~z~x@ z~{@^zz^^zz^\^z{^^z{^^z{^^z{^^z{^^z{^^z{^^z{^^ zz^ ^zz^^z~z^^z~z^?^zz^߸^zށz^߈^z^z^^z^z^^z^z^^z^z^^z^z^~^z^z^~ ^z^z^^z^z^߈^z^{^G^z^x^w^^~^^^~ ^^^^^^^^^G^^^w^@ @ @1966 c?@ .@z~nwoo`?loldI'nI$odI'nI$o}2t1?xqnr`.@o~{w~`g;/C C<of0|p00\|Pր0>P㫀0WPU00UU0:0UquU0ꪀ0U\PU0P0UWPUU00UUUU00UUPUU00UUPUU00UU_UU0*000UU@5UU00UUPUU00UUPUU00UUUU00UWPUU0P0U\PUU00UqU0ꪀ0UuU0:0WPU0>P0\|PU0㫀0qր00wP|`0?0P00u@50N+0CF600x0~0 00 0@0p~9 ?0@}0T_0$x0T&00p0@0T"A@0$ P0T60 10pG`0@0T?0$0T u^00p7}0k0UUUg0000000000p?c?p0000000g0?00 00 0c 0?*P0?IX0I(0 #0p$6H@0),@0+0J0 J$0p$0eH0aH0$H0,,0 H$(0(0А~(0h0 <01p0j0P0Qy0Q0f0}0z뀠0`080v0x 㠀0qǠ08㎸0080q q08㮀0q Ǽ08㎸0080qq08 㯀0qǿ08 ㎿0080q0㿀0q ǿ0800?00007070v080qq0㴄8040ӎ4?0u08㏀0\qqǀ0X80Q4q0ӎ480t08㎀0\qqǀ0X80Q4q0ӎ4;0t0^8㸀0\qq0V;0Qw0Pn;0Pq50P0Pv`0Pp80P90P0P5`0P0P3H0P`P0PG0P@0PBA%0@Ix0$@0$Xb0$Zn0TL40@'@0Wp'P0P E0 DyI0 &H0H@0I ?0!0B00 `0E0@000>>`00000000p?c?p0000000G(0X0A`h(00M 0"@0??0?10ŀ@0080|(05X0Th0 UX08h0X0h0X0h0 `X0 h0ʜX0 h0 5X0Uh0X0h0 uX0h0 X0qh0sX0h07X04h0s5X05h035Z035i035X035h035X035x035 035035035035̬035035̬035036̬033039̬03<03>`g 03??̀03?̀0003?π03??π0>`gπ0s<π0S9π0s3π0S6π0s5π0S5π0s5π0S5π0s5π0P5π05π05π05π05π0e5π05π0e5π05΀0e5؀050e4̀070e0s0dq0 0d0 u0d00dU0 50d 0 ?0d 0 `0d x0 0d 0 0d 0 W0d 0 50D 00P0 ?010?0"O0M /00A`h/0X0G(00000 0 00p?c?p0?00 0 0 0 0 0 ?0 ꪪ0u]`00}0Ǯ0?UUVH00 0pa 0p@0΀0 H0 $@0p 000@0pH00 0 0 00 00p 000p0,!0G7!0z*0_00P0c>0|p00\|Pր0>P㫀0WPU00UU0:0UquU0ꪀ0U\PU0P0UWPUU00UUUU00UUPUU00UUPUU00UU_UU0*000UU@5UU00UUPUU00UUPUU00UUUU00UWPUU0P0U\PUU00UqU0ꪀ0UuU0:0WPU0>P0\|PU0㫀0qր00wP|`0?0P00u@50N+0CF600x0~0 00 0@0p~9 ?0@}0T_0$0T&0x0p0@0T"A@0$ P0T60 3P0pGa0x@0T0$0T u^?0?0p7}0k0UUU0000000000p?c?p0000000g0??00 00 0c 0*P0?IX0I(0 #0p$6H@0),@0+0J0 J$0p$0eH0aH0$H0 ,,0 H$(0(0А~(0h0 <01p0j0P0Qy0Q0f0}0z뀠0`080v0x 㠀0qǠ08㎸0080q q08㮀0q Ǽ08㎸0080qq08 㯀0qǿ08 ㎿0080q0㿀0q ǿ0800?00007070v080qq0㴄8040ӎ4?0u08㏀0\qqǀ0X80Q4q0ӎ480t08㎀0\qqǀ0X80Q4q0ӎ4;0t0^8㸀0\qq0V;0Qw0Pn;0Pq50P0Pv`0Pp80P90P0P5`0P0P3H0P`P0PG0P@0PBA%0@I0$@0$Xbx0$Zn0TL40@'@0Wp'P0P G0 DyKP0 &I0Hx@0I 0!0B0?0 `?0E?0@?0?00>>`00000000p?c?p0000000G(0?X0`h(00 0@0?0?10@0080T(05X0Th0 UX08h0X0h0 X0 h0 `X0 h0ʜX0 h0 5X0Uh0X0h0 uX0h0 X0qh0sX0h07X04h0s5X05h035Z035i035X035h035X035x035 035035035035̬035035̬035036̬033039̬03<03>`g 03??̀03?̀0003?π03??π0>`gπ0s<π0S9π0s3π0S6π0s5π0S5π0s5π0S5π0s5π0P5π05π05π05π05π0e5π05π0e5π05΀0e5؀050e4̀070e0s0dq0 0d0 u0d00dU0 50d 0 ?0d 0 `0d 0 0d x0 0d 0 W0d 0 70D 00Px0 010?0"0M ?00A`h?0X0G(00000 0 00p?c?p0?00 0 0 0 0 0  0 j0 5u]`0?0*}0Ǯ0UUVH00 0pa 0p@0΀0 H0p$@0  00*0?@0 pH00  0 0 00 00p 000p0,!0G7!0z*0_00P0c>0|p00\|Pր0>P㫀0WPU00UU0:0UquU0ꪀ0U\PU0P0UWPUU00UUUU00UUPUU00UUPUU00UU_UU0*000UU@5UU00UUPUU00UUPUU00UUUU00UWPUU0P0U\PUU00UqU0ꪀ0UuU0:0WPU0>P0\|PU0㫀0qր00wP|`0?0P00u@50N+0CF600x0~0 00 0@0p~9 0@}0T_ 0$0T& 0?0p*0@@0T"A0$0T60 30pG`0@0T0$0T u^*0?0p7}0kπ0UUUj0000000000p?c?p0000000g0 ?00  0?0 0*c 0*P0IX0I(0 #0p$6H@0),@0+0J0pJ$0 $0ėeH0*aH0?$H0 ,,0 H$(0 (0~(0h0 <01p0j0P0Qy0Q0f0}0z뀠0`080v0x 㠀0qǠ08㎸0080q q08㮀0q Ǽ08㎸0080qq08 㯀0qǿ08 ㎿0080q0㿀0q ǿ0800?00007070v080qq0㴄8040ӎ4?0u08㏀0\qqǀ0X80Q4q0ӎ480t08㎀0\qqǀ0X80Q4q0ӎ4;0t0^8㸀0\qq0V;0Qw0Pn;0Pq50P0Pv`0Pp80P90P0P5`0P0P3H0P`P0PG0P@0PBA% 0@I0$@ 0$Xb?0$Zn*0TL4@0@$0Wp$0P D0 DyK0 &H0H@0I 0!0B0*0 `?0E 0@0 00>>`00000000p?c?p0000000G(0 X0A`h(0 0? 0*@0?010@0080|(05X0|h08 UX0h0ʀX0*h0?X0 h0 `X0 h0 X0 h0 5X0Uh0X0h0 uX0h0 X0qh0sX0h07X04h0s5X05h035Z035i035X035h035X035x035 035035035035̬035035̬035036̬033039̬03<03>`g 03??̀03?̀0003?π03??π0>`gπ0s<π0S9π0s3π0S6π0s5π0S5π0s5π0S5π0s5π0P5π05π05π05π05π0e5π05π0e5π05΀0e5؀050e4̀070e0s0dq0 0d0 u0d00dU0 50d 0 0d 0 ` 0d 0  0d ?0 *0d 0 U0d 0 50D 00P0 010?0"0M *0߀0A`h*0X0G(00000 0 00p?c?p0?00 0 0 0 0 0 0 ꪪ0u]`00}00UUVH000a 0p@0΀0 H0p$@0 * 0?0 0@0 pH00 0 0 00 00p 000p0,!0G7!0z*0_00P0c>0|p00\|Pր0>P㫀0WPU00UU0:0UquU0ꪀ0U\PU0P0UWPUU00UUUU00UUPUU00UUPUU00UU_UU0*000UU@5UU00UUPUU00UUPUU00UUUU00UWPUU0P0U\PUU00UqU0ꪀ0UuU0:0WPU0>P0\|PU0㫀0qր00wP|`0?0P00u@50N+0CF600x0~0 00 0@0p~9 0@}0T_0$0T& 00p 0@?@0T"A*0$0T60 00pG`00T0$0T u^00p7}0k0UUU00(00000000p?c?p0000000g0?00 00 0c 0*P0IX0I(0#0$6H@0),@0+0J0pJ$0 *$0?eH0 aH0$H0 ,,0 H$(0(0~(0h0 <01p0j0P0Qy0Q0f0}0z뀠0`080v0x 㠀0qǠ08㎸0080q q08㮀0q Ǽ08㎸0080qq08 㯀0qǿ08 ㎿0080q0㿀0q ǿ0800?00007070v080qq0㴄8040ӎ4?0u08㏀0\qqǀ0X80Q4q0ӎ480t08㎀0\qqǀ0X80Q4q0ӎ4;0t0^8㸀0\qq0V;0Qw0Pn;0Pq50P0Pv`0Pp80P90P0P5`0P0P3H0P`P0PG0P@0PBA%0@I0$@ 0$Xb0$Zn 0TL4?@0@$*0Wp$0P D0 DyH0 &H0I0I 0!0B20 c0Eª0@000>>`(00000000p?c?p0000000G(0X0`h(00 0@0?010@0l00(05X0|h08 UX0*h0?X0 h0 X0 h0 `X0 h0 X0 h0 5X0Uh0X0h0 uX0h0 X0qh0sX0h07X04h0s5X05h035Z035i035X035h035X035x035 035035035035̬035035̬035036̬033039̬03<03>`g 03??̀03?̀0003?π03??π0>`gπ0s<π0S9π0s3π0S6π0s5π0S5π0s5π0S5π0s5π0P5π05π05π05π05π0e5π05π0e5π05΀0e5؀050e4̀070e0s0dq0 0d0 u0d00dU0 50d 0 0d 0 `0d 0  0d 0  0d ?0 U*0d 0 50D 00P`0 030?ª0"0M 0 0A`h0X0G((00000 0 00p?98 ?~<<~?=~<<~=  ?**?  @@PT?TUUT?TP@@( ~?***?* @@PTT?UUUUUUUUUU>>20 8|T88T|88TT88TT88||88||8l|88|l34  666c 8p  ;s   8p   ߀ــــــــــ߀ c666 8p || ``````acgn|x   8p   ỳ̀̀̀̀̀̀̀̀̀y256 M?@gg'fg'fg'~g~g~gfgGfgGGgg@?M?@8s?xxs8w3?08s063?08q0583<3483<3<<0t<<048<8483Hz2?< NA\pdAxr0XQ)K\NN>JrBjNuHz?<&NN\NFCAp$L Qp N29lrBlJpNN2pMN29@pdAr 0Q0tr Nـ9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNܸpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N܄?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NܖJFkSFk&aQNܖ`Ha"FFaQL8Nj6.JgtBnNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?Nj<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuaHQ` @gS@@CNu   aH@@`"aH@@`a0) 4a3B HA2;i`0^ M / hawAnFNuAXr%eee%NuAMNuA.A&HP 0 0 &0&?< NN\Nu BNۚN]NNۚN]N&(*NNNvNr)@p `H@)@prtNـAHplrtNـB 2pNppNdpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNـpapap9@p`pvNrv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNـAl 2l 4HVNuAl 2l 4L VA0000000000prtNـ9Cp rtNـAv` Av `Avl 2l 4)lVHNTaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu?<NNT$g4<rЀ[Nu0<}N& ?<NNC`&?<NNT"@ C <}N`N@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,NN FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNuBpmrtA)HA)HNـpNHHPNN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)INB(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4N2HNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZN2A BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNur|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| Nـ2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN*"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNA0pNN$N$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0NuNJ@gpNu _0HpN _0HpNp"_0HqNBp"_0HqNBE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNu Ihd*N$E$RR@H`2QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N$E$R`QˈN ENup`(* 0(iN$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNނJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNrRB0 b b瀀`RB0 fрd`2p <0N`QNupC 0(gFd"P$I` *N$E$R(S@jv A(Wf( ae zb Q DNur ,* N& ( EN C"Sj|AcNN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@/ l\N N`"QjNu<g|N>^d2QjNuxdtdD& pk<HCJCf2 INƳ|d& xfN"Nud & f2Nup@Nxd& tkHCJCfN>."@Ed ddeƐdH@J@f  @  "002Nu" KC`e N*`d \Nr l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNuPj0,lf$J,nk l*fp?N:p N:9|nNA0,l2J,jk 0"fZRAR@ 0"g 0 f` 0 g 0,f9@lTll`BllA"H"g"A4`Q"AA 0! NuS@R@ 0 g 0,f9@lRll`R@ 0 fQj`Bll?<?<?<NM\NHQN&g ! ge l*g l*gpNNu<,*?Hj\F FfN`H FfN`RGFc8>`4A g6 g0 g` gTlfelhgFf2pRGRFa`a,` `?~ap ap a 0NuCpE`bf`FgRGJGgRSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0Nu?<?<NMXNur9A(HN:LNu0,^2,`N|zEfpaRppaNAEg0PaľEfa4RE`p a2a*Efp a(NbldeS@f lbfSl`9Ab9FdNupapqr`p`C l ", Ⲭ dfѬ SA 0! Nup"NNjNJfNup#`NN"rNN"p`tdbDA0Hg<<R@f|0HN*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNup`pNu)H9@Jp4N2P'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8NX  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C\fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Error # ][Abort]\f.B &lX)K\)ld` lp ,BQjNup(NV"l`Yd&-KNN*"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN*"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuN*"l` epZNC ҳfHP0(N$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN*$l` epZN <NA2Nn <NNrA2NۚNJBfN,BmrA퀊NNv`NqNqA퀊N۲&<x*<NRJBfN>A퀺 0BmBmBm^ <r$<AZNAZNۮC큸NNrHAZN۲&<x*<NNC큸NNrL8NpJBgp/AZNۮC큸NNr&<x*<NRpJBgp$fN?fA퀊NNv`dNqA퀊N۲zNRJBfN?A 0N~NAxN AN BmBmA퀢N۲JBfN@8 <r$<HALNXATN۲&<x*<NJBfN@A z0 N@*A H0Ax 0AxN۲JBgNCXA퀜N۲JBfN@ <r$<HALNXA H0Ax 0AxN۲JBgNCXA퀮N۲JBfN@ <r$<HALNXA H0Ax 0AxN۲JBgNCXA퀨N۲JBfNAL <r$<HALNXA 0Ax 0AxN۲JBgNCXA퀐N۲JBfNA <r$<HALNXA 0Ax 0AxN۲JBgNCXA퀖N۲JBfNB <r$<HALNXA 0Ax 0AxN۲JBgNCXA퀴N۲JBfNB` <r$<HALNXA @0Ax 0AxN۲JBgNCXA퀺N۲JBfNB <r$<HALNXA 0Ax 0AxN۲JBgNCXAN۲JBfNC <r$<HALNXA 0Ax 0AxN۲JBgNCXAx 0AxN۲JBgNCXAN۲JBg`AN۲zN@JBfNCANXAN۲&<x*<NRJBfNCANX <Ѝ/ATN۲ _NN~NAZN AlN pA큸NVpA큾NVBm^ <r$<AZNAZNۮ/AZNۮC큲NNr&<x*<NH <r$<L8NNC큸NlAZNۮ/AZNۮC큲NNr&<x*<NpN"NC큾NlAZNۮC큸NRgNDAZNۮ/p C큸NlNv`6NqBmp <r$<AlNBm^AlN۲&<x*<NAZNAZNۮC큸NNrHAZN۲&<x*<NNC큸NNrL8NXJBfNEAZNۮC큸N./AZN۲&<x*<NNC큸N."_NAZNۮC큾N./AZN۲&<x*<NNC큾N."_NNv`*NqNv`NqN~N?<?< pr _NpN~?<Bgpr _NpN~N~NpNNpNZpN <,NpN~pNNpNZNN~NA`N۲&<x*<NJBfNFNprNzN0BET: NprNzATN NFNpr NzN0BET: 4Npr$NzATN N~NNprNzN"COINS: NprNzANN N~NA>NjAfN A>NA~NXA`N۲&<x*<NJBfNGpNpNpNpNNGpNpNpNp NA`N۲vNN/A`N۲&<x*<NN"NN%Sorry, you seem to be out of money...4NbHxN Do you wish|to play again?HPN YES | NO r"_ NAfNnAfN۲&<x*<NJBfNHCHAN 0NHA`N۲&<x*<NJBfNHANXNA>NAFNXN~NAZN Bm^ <r$<AZNAZNۮ/AZNۮC크NC큲NlNv`NqNqA5NXN~NAZN AN Bm^ <r$<AZNAZNۮCN$pJBgpF$fNIAZN۲HAh$NXpN~Nv`NqNqp2N~A 0Bm^ <r$<AZNAZNۮCN$pJBgpF$fNJhAZNۮ/ANۮC크NC큲NlAZN۲HAZNۮC큲NNrHAnNXpN~ANNv`xNqN~NAfN ADNjAN۲zNRJBfNKBgA`N۲vNN?A`N۲&<x*<NH <r$<L8NN?A`N۲&<x*<NN?AD" NbBN#Do you wish to | DOUBLE DOWN? HPN YES | NO r"_ NAfNnAfN۲&<x*<NJBfNKA|NXAfN۲&<x*<NpJBgp/AN۲zNpJBgp$gBBgA`N۲vNN?AD"NN~NA퀊N BmAN۲zNRJBfNLANNAN*AFNX?<?< A퀊N۲&<x*<N&<x*<NN/p" _NpN~A퀊N`z?<Bgpr _NN~NLAZNpNpNpNpNpA`N۲NN/AZN۲vN&<x*<NA`NۚNN"NA`N۲&<x*<NH <r$<L8NN/AZN۲vN&<x*<NA`NۚNN"NnCZA 0pNpN~NAN۲zN@JBfNMAN۲HALNXBmN~NLA`NAZN AlN AN AfN A`N۲&<x*<NJBfNNN Mpoker.datNbNJBfNNzpINHPN mpoker.datr"_NNNHxNNeed MPOKER.DAT file!4HPNSORRYr"_ NAfNnNNOPN Cpoker.datNbNJBfNO pINHPN cpoker.datr"_NNOPHxNNeed CPOKER.DAT|file!4HPNSORRYr"_ NAfNnNpN~NbANANۮ/p"NCJN>pN~ -J/ANۮ"NpN~NbANHx4ANۮ/p"NC큔NpN~p4C큔N/ANۮ"NASNXANۮ/p"NCPN>pN~ -P/ANۮ"NBm^ <r$<AZNBmp <r$<AlNAZN۲&<x*<N&<x*<NAlNۚNN/ANۮ/p"NC큔NpN~AZN۲&<x*<N&<x*<NAlNۚNNC큔N/ANۮ"NNv`HNqNv`$NqpN~NbANBm^ <r$<AZNAZNۮ/ANۮ/p"NC큚NpN~AZNۮC큚N/ANۮ"NNv`NqNqpN~NbANAZ 0 <r$<AZNAZNۮ/ANۮ/p"NC큚NpN~AZNۮC큚N/ANۮ"NNv`NqNqpN~NbANBm^ <r$<AZNAZNۮ/ANۮ/p"NC큠NpN~AZNۮC큠N/ANۮ"NNv`NqNqA`N۲&<x*<NJBfNSDAZ 0 <r$<AZNAZNۮ/ANۮ/p"NC큠NpN~AZNۮC큠N/ANۮ"NNv`NqNqpN~NbANBm^ <r$<AZNAZNۮ/ANۮ/p"NC큎NpN~AZNۮC큎N/ANۮ"NNv`NqNqpN4N~NA`N۲&<x*<NJBfNU(pNpNpNprNA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NH <r$<L8NN"NnpNpNpNA`N۲&<x*<NN/A`N۲&<x*<NN"NA`N۲&<x*<NN/A`N۲&<x*<NN"NnNU,NBm^ <r$<&<x*<AZNA`N۲AZNۚNN?A`N۲AZNۚNN?p4C큔NJ"NAZN۲&<x*<NA`NۚNN?AZN۲&<x*<NA`NۚNN?p4C큔NJ"NA`N۲AZNۚNN?AZN۲&<x*<NA`NۚNN?p4C큔NJ"NAZN۲&<x*<NA`NۚNN?A`N۲AZNۚNN?p4C큔NJ"NN`NqA`N۲&<x*<NJBfNW*A`N۲&<x*<NN?A`N۲&<x*<NN?AJ"NNWNjA>NpNpNpNA`N۲&<x*<NN/A`N۲&<x*<NN"NA`N۲&<x*<NN/A`N۲&<x*<NN"NnpNdA`N۲&<x*<NN/A`N۲&<x*<NN"NA`N۲&<x*<NN/A`N۲&<x*<NN"N"A`N۲&<x*<NN/A`N۲&<x*<NN"NA`N۲&<x*<NN/A`N۲&<x*<NN"N"A`N۲&<x*<NJBfN] pNpNpNpNN]"pNpNpNp NA`N۲&<x*<NHNDRAW POKER/DOUBLE DOWN V2.54HPAYvNXA`N۲&<x*<NH <NHPN 1989 - Jeffery K. Hughes"_NnHPAYvNXA`N۲&<x*<NHN All Rights Reserved.HPAYvNXA`N۲&<x*<NHN!This program is shareware. If youHPAYvNXA`N۲&<x*<NHN enjoy this program please submitHPAYvNXA`N۲&<x*<NHN $10.00 to:HPAYvNXA`N۲&<x*<NHNJeffery K. HugheseHPAYvNXA`N۲&<x*<NHN1427 S. 900 East #14HPAYvNXA`N۲&<x*<NHNSalt Lake City, UT 841054HPAYvNXA`N۲&<x*<NHN The source code for this programHPAYvNXA`N۲&<x*<NHN is available for an additionalHPAYvNXA`N۲&<x*<NHN$5.00bHPAYvNXA`N۲&<x*<NHN Click mouse to continue...HPAYvNXNNr&<x*<NpJBgp/NrHPA "_NpJBgp$gA>NN~NAN AN AfN A>NjA>NA~NXA`N۲&<x*<NJBfNapNpNpNpNNapNpNpNp NA`N۲vNN/A`N۲&<x*<NN"NNSelect File to Load from...4NbN \*.DPKHPA HPA\""_NHm\A "_NJBfNbHm\N .DPK"_N JgNbHm\p.N"_N ANnAN۲zNJBfNbHm\N .DPK"_NnC\N>NbHm\ANۮ"_NHPNDPK4"_NnC\N>Hm\A "_NpJBgp/A\NbpJBgp$gHm\A "_NJBfNd pINHPA\r"_NpNANnpNANnAN۲&<x*<NpJBgp/AN۲&<x*<NpJBgp$fNcpN~NbANNNdHxN Not a Draw|Poker file!HPN  OK r"_ NAfNnpN4A>NAFNXN~NAN AN AfN A>NjA>NA~NXA`N۲&<x*<NJBfNdpNpNpNpNNdpNpNpNp NA`N۲vNN/A`N۲&<x*<NN"NNSelect File to Save to...4NbN \*.DPKHPA HPA\""_NHm\A "_NJBfNgHm\N .DPK"_N JgNeHm\p.N"_N ANnAN۲zNJBfNeHm\N .DPK"_NnC\N>NeHm\ANۮ"_NHPNDPK4"_NnC\N>A\NbNJBfNfHxN Overwrite|Existing|File?HPN OK |CANCEL4r"_ NAfNnAfN۲&<x*<NJBfNfpONHPA\r"_NpN~ <N:pN~ <N:pN~ANN N4pN4NgpONHPA\r"_NpN~ <N:pN~ <N:pN~ANN N4pN4A>NN~NAfN HxN Exit program?4HPN QUIT |CANCELr"_ NAfNnAfN۲&<x*<NJBfNgA`N۲&<x*<NJBfNgANXNN~NAZN AtHNXBm^ <r$<AZNAZN۲HAh$NXpN~Nv`NqNqp2N~Ah`NXN~NLANAN۲H <r$<HAnNXN~NAZN Bm^ <r$<AZNAZN۲HAZNۮC크NNrHAnNXpN~Nv`NqNqN~NAZN AlN A큆NA큊NAbNj?<NNT+@p"<}NCbN> -b+@?AZ 0AhNNrAZNHmhAZNۮ/p""_N0NNrH <r$<L8NA~NA~Nۮ/pC~NNrA`NۚNANA~Nۮ/pC~NNrA`NۚNANA`N۲&<x*<NANۚNRJBfNnANۮ?ANۮ?AN۲NNC큚NJ"NNnANۮ?ANۮ?AN۲N&<x*<NNC큚NJ"NNv`NqN~NLANLANAN۲&<x*<N&<x*<NA`NۚNN?A`N۲&<x*<NN?ANۮC큔NJ"NAF6NXN~NLANAN AN A퀄N AZN AnNjAhNjAxN NrCnN>pN~HmnA "_NJBgBm|N 12345OMDILSQ0.HPp N"_NnChN>NANnNANnNA퀄NnNrCnN>HmnA "_NpJBgp/A퀄N۲&<x*<NpJBgp$gHmnA "_NJBfNqfAnNCnN>HmhAn"_N NrH <r$<L8NAfNAfN۲zNpJBfNqfAfN۲&<x*<NRJBfNq@ N{JAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲vNNCtN>A}NX <r$<HHmtA~NXAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲&<x*<NNCtN>A}NX <r$<HHmtA~NXAZN۲NNCtN>A}NX <r$<HHmtA~NXAZN۲NCtN>A}NX <r$<HHmtA~NXN~NAtNYmN}p NHPAt"_NnCtN>`N~N"_AVNnLA NAN AN A`N۲A NۚNANA`N۲&<x*<NH <r$<L8NH <r$<L8NANANۮ/ANۮ"NAVNbN~NpNpNpNprNA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NN"NnpNdprNA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NN"N"A`N۲NN/A`N۲NN"NA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NH <r$<L8NN"N"N~NpNpNpNA`N۲vNNrNA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NN"NnpNdA`Nۮ/A`N۲vNN"NA`N۲&<x*<NH <r$<L8NHA`N۲L8NN/A`N۲&<x*<NN"N"N~NAZN AfN AN AN AhNjARNXA`N۲&<x*<NJBfNpNpNpNpNNpNpNpNp NN DOUBLING DOWN FOR HPAN۲NN"_NnChN>A`N۲&<x*<NHHmhAYvNXA`N۲&<x*<NHN GOOD LUCK!HPAYvNXA`N۲&<x*<NJBfNpNpNpNNpNpNpNA`N۲&<x*<NNrNA`N۲&<x*<NH <r$<L8NN/A`N۲&<x*<NN"NnAZ 0 <r$<AZNAZNۮ/pC~N?AZNۮ/pC~N?p C큎NJ"NNv`NqNqBm^ <r$<AZNAZN۲HAh$NXpN~Nv`NqNqA6VNXtHpC크NNrHAnNX Bm^ <r$<AZNAZN۲N&<@x*<NNNwA,NnA,NۮNCzN>HmAz"_NnC큀N>Nv`NqNqN~N -/?<NN\A8N۲JBfN <NA2NnA2Nۮ"<NN~NAZN AlN Bmp <r$<AlNAZ 0 <r$<&<x*<AZN?<?< AZNۮ/p" _NpN~N`NqNqNv`NqNq?<Bgpr _NpN~N~NAZN AlN AZ @0 <r$<&<x*<AZN?<?< AZNۮ/p" _NpN~N`NqNq?<Bgpr _NN~N11521531521132117112131211129212931291137313721412145115321533153IBPBIPACOQACIOQACHJOQACEHJOQACEHJMOQACIFGKLOQACDFGKLNOQ1716855180791681171801411681791802061682411802651683031801931852311972361852741972791853171972240144528314882126141312168147+ D` 0D" *(B "d& ","""0JD * n,B||6*@(.22222222 &(.2($`ZfLL`"&J"&,4P6HPZDBJH4444`ZDRP:BDJPN6J(0"tR:(0"BnR$0 DT,B$V @