The Symbolic Links Virtual Machine

More obfuscated programming

Typing the following in bash:

will create the Symbolic Links Virtual Machine. This is a virtual machine whose programs are expressed as directory trees containing nothing but symbolic links. Note that, apart from the while loop, the only commands used in the above expression are ln and ls.

The following is an implementation of Conway's Game of Life:

Program output

The directory tree (source code):

Name of directory or link Destination of link . a 00 a ---> .. cdisp ---> a/e/v/edisp cnextm ---> a/m/v/otherm e ---> a/10 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/10 peek ---> a/c/v/n/w result ---> a/40 s ---> a/01 t ---> a/00 v ---> a/40 w ---> a/border 01 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/11 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/00 new a ---> ../.. v ---> a/40 nextc ---> a/11 peek ---> a/c/v/n/w result ---> a/40 s ---> a/02 t ---> a/01 v ---> a/40 w ---> a/border 02 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/12 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/01 new a ---> ../.. v ---> a/40 nextc ---> a/12 peek ---> a/c/v/n/w result ---> a/40 s ---> a/03 t ---> a/02 v ---> a/40 w ---> a/border 03 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/13 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/02 new a ---> ../.. v ---> a/40 nextc ---> a/13 peek ---> a/c/v/n/w result ---> a/41 s ---> a/04 t ---> a/03 v ---> a/40 w ---> a/border 04 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/14 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/03 new a ---> ../.. v ---> a/40 nextc ---> a/14 peek ---> a/c/v/n/w result ---> a/c/v/v s ---> a/05 t ---> a/04 v ---> a/40 w ---> a/border 05 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/15 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/04 new a ---> ../.. v ---> a/40 nextc ---> a/15 peek ---> a/c/v/n/w result ---> a/40 s ---> a/06 t ---> a/05 v ---> a/40 w ---> a/border 06 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/16 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/05 new a ---> ../.. v ---> a/40 nextc ---> a/16 peek ---> a/c/v/n/w result ---> a/40 s ---> a/07 t ---> a/06 v ---> a/40 w ---> a/border 07 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/17 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/06 new a ---> ../.. v ---> a/40 nextc ---> a/17 peek ---> a/c/v/n/w result ---> a/40 s ---> a/08 t ---> a/07 v ---> a/40 w ---> a/border 08 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/18 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/07 new a ---> ../.. v ---> a/40 nextc ---> a/18 peek ---> a/c/v/n/w result ---> a/40 s ---> a/09 t ---> a/08 v ---> a/40 w ---> a/border 09 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/19 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/08 new a ---> ../.. v ---> a/40 nextc ---> a/19 peek ---> a/c/v/n/w result ---> a/40 s ---> a/border t ---> a/09 v ---> a/40 w ---> a/border 10 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/20 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/20 peek ---> a/c/v/n result ---> a/40 s ---> a/11 t ---> a/10 v ---> a/40 w ---> a/00 11 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/21 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/10 new a ---> ../.. v ---> a/40 nextc ---> a/21 peek ---> a/c/v/n result ---> a/40 s ---> a/12 t ---> a/11 v ---> a/40 w ---> a/01 12 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/22 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/11 new a ---> ../.. v ---> a/40 nextc ---> a/22 peek ---> a/c/v/n result ---> a/40 s ---> a/13 t ---> a/12 v ---> a/40 w ---> a/02 13 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/23 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/12 new a ---> ../.. v ---> a/41 nextc ---> a/23 peek ---> a/c/v/n result ---> a/41 s ---> a/14 t ---> a/13 v ---> a/40 w ---> a/03 14 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/24 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/13 new a ---> ../.. v ---> a/40 nextc ---> a/24 peek ---> a/c/v/n result ---> a/c/v/v s ---> a/15 t ---> a/14 v ---> a/40 w ---> a/04 15 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/25 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/14 new a ---> ../.. v ---> a/40 nextc ---> a/25 peek ---> a/c/v/n result ---> a/40 s ---> a/16 t ---> a/15 v ---> a/40 w ---> a/05 16 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/26 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/15 new a ---> ../.. v ---> a/40 nextc ---> a/26 peek ---> a/c/v/n result ---> a/40 s ---> a/17 t ---> a/16 v ---> a/40 w ---> a/06 17 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/27 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/16 new a ---> ../.. v ---> a/40 nextc ---> a/27 peek ---> a/c/v/n result ---> a/40 s ---> a/18 t ---> a/17 v ---> a/40 w ---> a/07 18 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/28 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/17 new a ---> ../.. v ---> a/40 nextc ---> a/28 peek ---> a/c/v/n result ---> a/40 s ---> a/19 t ---> a/18 v ---> a/40 w ---> a/08 19 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/29 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/18 new a ---> ../.. v ---> a/40 nextc ---> a/29 peek ---> a/c/v/n result ---> a/40 s ---> a/border t ---> a/19 v ---> a/40 w ---> a/09 20 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/30 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/30 peek ---> a/c/v/n/e result ---> a/40 s ---> a/21 t ---> a/20 v ---> a/40 w ---> a/10 21 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/31 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/20 new a ---> ../.. v ---> a/40 nextc ---> a/31 peek ---> a/c/v/n/e result ---> a/40 s ---> a/22 t ---> a/21 v ---> a/40 w ---> a/11 22 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/32 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/21 new a ---> ../.. v ---> a/41 nextc ---> a/32 peek ---> a/c/v/n/e result ---> a/40 s ---> a/23 t ---> a/22 v ---> a/41 w ---> a/12 23 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/33 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/22 new a ---> ../.. v ---> a/40 nextc ---> a/33 peek ---> a/c/v/n/e result ---> a/41 s ---> a/24 t ---> a/23 v ---> a/41 w ---> a/13 24 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/34 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/23 new a ---> ../.. v ---> a/41 nextc ---> a/34 peek ---> a/c/v/n/e result ---> a/c/v/v s ---> a/25 t ---> a/24 v ---> a/41 w ---> a/14 25 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/35 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/24 new a ---> ../.. v ---> a/40 nextc ---> a/35 peek ---> a/c/v/n/e result ---> a/40 s ---> a/26 t ---> a/25 v ---> a/40 w ---> a/15 26 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/36 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/25 new a ---> ../.. v ---> a/40 nextc ---> a/36 peek ---> a/c/v/n/e result ---> a/40 s ---> a/27 t ---> a/26 v ---> a/40 w ---> a/16 27 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/37 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/26 new a ---> ../.. v ---> a/40 nextc ---> a/37 peek ---> a/c/v/n/e result ---> a/40 s ---> a/28 t ---> a/27 v ---> a/40 w ---> a/17 28 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/38 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/27 new a ---> ../.. v ---> a/40 nextc ---> a/38 peek ---> a/c/v/n/e result ---> a/40 s ---> a/29 t ---> a/28 v ---> a/40 w ---> a/18 29 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/39 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/28 new a ---> ../.. v ---> a/40 nextc ---> a/39 peek ---> a/c/v/n/e result ---> a/40 s ---> a/border t ---> a/29 v ---> a/40 w ---> a/19 30 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/40 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/40 peek ---> a/c/v/w result ---> a/40 s ---> a/31 t ---> a/30 v ---> a/40 w ---> a/20 31 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/41 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/30 new a ---> ../.. v ---> a/41 nextc ---> a/41 peek ---> a/c/v/w result ---> a/40 s ---> a/32 t ---> a/31 v ---> a/40 w ---> a/21 32 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/42 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/31 new a ---> ../.. v ---> a/40 nextc ---> a/42 peek ---> a/c/v/w result ---> a/40 s ---> a/33 t ---> a/32 v ---> a/41 w ---> a/22 33 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/43 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/32 new a ---> ../.. v ---> a/40 nextc ---> a/43 peek ---> a/c/v/w result ---> a/41 s ---> a/34 t ---> a/33 v ---> a/41 w ---> a/23 34 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/44 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/33 new a ---> ../.. v ---> a/41 nextc ---> a/44 peek ---> a/c/v/w result ---> a/c/v/v s ---> a/35 t ---> a/34 v ---> a/41 w ---> a/24 35 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/45 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/34 new a ---> ../.. v ---> a/40 nextc ---> a/45 peek ---> a/c/v/w result ---> a/40 s ---> a/36 t ---> a/35 v ---> a/40 w ---> a/25 36 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/46 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/35 new a ---> ../.. v ---> a/40 nextc ---> a/46 peek ---> a/c/v/w result ---> a/40 s ---> a/37 t ---> a/36 v ---> a/40 w ---> a/26 37 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/47 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/36 new a ---> ../.. v ---> a/40 nextc ---> a/47 peek ---> a/c/v/w result ---> a/40 s ---> a/38 t ---> a/37 v ---> a/40 w ---> a/27 38 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/48 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/37 new a ---> ../.. v ---> a/40 nextc ---> a/48 peek ---> a/c/v/w result ---> a/40 s ---> a/39 t ---> a/38 v ---> a/40 w ---> a/28 39 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/49 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/38 new a ---> ../.. v ---> a/40 nextc ---> a/49 peek ---> a/c/v/w result ---> a/40 s ---> a/border t ---> a/39 v ---> a/40 w ---> a/29 40 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v disp ---> a do ---> a/m/v/mskip/e e ---> a/50 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/50 peek ---> a/c/v/ result ---> a/40 s ---> a/41 t ---> a/40 v ---> a/40 w ---> a/30 41 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v do ---> a/m/v/mskip/e/s e ---> a/51 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/40 new a ---> ../.. v ---> a/40 nextc ---> a/51 peek ---> a/c/v/ result ---> a/40 s ---> a/42 t ---> a/41 v ---> a/40 w ---> a/31 42 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/52 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/41 new a ---> ../.. v ---> a/41 nextc ---> a/52 peek ---> a/c/v/ result ---> a/40 s ---> a/43 t ---> a/42 v ---> a/41 w ---> a/32 43 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/53 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/42 new a ---> ../.. v ---> a/40 nextc ---> a/53 peek ---> a/c/v/ result ---> a/41 s ---> a/44 t ---> a/43 v ---> a/41 w ---> a/33 44 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/54 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/43 new a ---> ../.. v ---> a/41 nextc ---> a/54 peek ---> a/c/v/ result ---> a/c/v/v s ---> a/45 t ---> a/44 v ---> a/41 w ---> a/34 45 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/55 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/44 new a ---> ../.. v ---> a/40 nextc ---> a/55 peek ---> a/c/v/ result ---> a/40 s ---> a/46 t ---> a/45 v ---> a/40 w ---> a/35 46 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/56 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/45 new a ---> ../.. v ---> a/40 nextc ---> a/56 peek ---> a/c/v/ result ---> a/40 s ---> a/47 t ---> a/46 v ---> a/40 w ---> a/36 47 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/57 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/46 new a ---> ../.. v ---> a/40 nextc ---> a/57 peek ---> a/c/v/ result ---> a/40 s ---> a/48 t ---> a/47 v ---> a/40 w ---> a/37 48 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/58 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/47 new a ---> ../.. v ---> a/40 nextc ---> a/58 peek ---> a/c/v/ result ---> a/40 s ---> a/49 t ---> a/48 v ---> a/40 w ---> a/38 49 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/59 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/48 new a ---> ../.. v ---> a/40 nextc ---> a/59 peek ---> a/c/v/ result ---> a/40 s ---> a/border t ---> a/49 v ---> a/40 w ---> a/39 50 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/60 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v md ---> a/c/v/new mdisp ---> a/empty mf ---> a/e/v/result mskip ---> a/e/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/60 otherm ---> a/51 peek ---> a/c/v/e result ---> a/40 s ---> a/51 t ---> a/50 v ---> a/40 w ---> a/40 51 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/61 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v md ---> a/c/v mdisp ---> a/c/v/cdisp mf ---> a/c/v/new/v mskip ---> a/80 n ---> a/50 new a ---> ../.. v ---> a/40 nextc ---> a/61 otherm ---> a/50 peek ---> a/c/v/e result ---> a/40 s ---> a/52 t ---> a/51 v ---> a/40 w ---> a/41 52 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/62 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/51 new a ---> ../.. v ---> a/40 nextc ---> a/62 peek ---> a/c/v/e result ---> a/40 s ---> a/53 t ---> a/52 v ---> a/40 w ---> a/42 53 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/63 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/52 new a ---> ../.. v ---> a/41 nextc ---> a/63 peek ---> a/c/v/e result ---> a/41 s ---> a/54 t ---> a/53 v ---> a/40 w ---> a/43 54 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/64 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/53 new a ---> ../.. v ---> a/40 nextc ---> a/64 peek ---> a/c/v/e result ---> a/c/v/v s ---> a/55 t ---> a/54 v ---> a/40 w ---> a/44 55 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/65 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/54 new a ---> ../.. v ---> a/41 nextc ---> a/65 peek ---> a/c/v/e result ---> a/40 s ---> a/56 t ---> a/55 v ---> a/41 w ---> a/45 56 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/66 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/55 new a ---> ../.. v ---> a/41 nextc ---> a/66 peek ---> a/c/v/e result ---> a/40 s ---> a/57 t ---> a/56 v ---> a/41 w ---> a/46 57 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/67 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/56 new a ---> ../.. v ---> a/41 nextc ---> a/67 peek ---> a/c/v/e result ---> a/40 s ---> a/58 t ---> a/57 v ---> a/41 w ---> a/47 58 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/68 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/57 new a ---> ../.. v ---> a/40 nextc ---> a/68 peek ---> a/c/v/e result ---> a/40 s ---> a/59 t ---> a/58 v ---> a/40 w ---> a/48 59 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/69 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/58 new a ---> ../.. v ---> a/40 nextc ---> a/69 peek ---> a/c/v/e result ---> a/40 s ---> a/border t ---> a/59 v ---> a/40 w ---> a/49 60 a ---> .. b ---> a/61 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/t e ---> a/70 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/e/v/peek/v/do g ---> a/empty n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/70 peek ---> a/c/v/s/w result ---> a/40 s ---> a/61 t ---> a/60 v ---> a/40 w ---> a/50 61 a ---> .. b ---> a/62 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/e e ---> a/71 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/t/v g ---> a/empty n ---> a/60 new a ---> ../.. v ---> a/40 nextc ---> a/71 peek ---> a/c/v/s/w result ---> a/40 s ---> a/62 t ---> a/61 v ---> a/40 w ---> a/51 62 a ---> .. b ---> a/63 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/t e ---> a/72 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/m/v/mf g ---> a/empty n ---> a/61 new a ---> ../.. v ---> a/40 nextc ---> a/72 peek ---> a/c/v/s/w result ---> a/40 s ---> a/63 t ---> a/62 v ---> a/40 w ---> a/52 63 a ---> .. b ---> a/64 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/m/v/md e ---> a/73 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/t/v g ---> a/empty n ---> a/62 new a ---> ../.. v ---> a/40 nextc ---> a/73 peek ---> a/c/v/s/w result ---> a/41 s ---> a/64 t ---> a/63 v ---> a/40 w ---> a/53 64 a ---> .. b ---> a/65 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/t e ---> a/74 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/e/v/enextc g ---> a/empty n ---> a/63 new a ---> ../.. v ---> a/40 nextc ---> a/74 peek ---> a/c/v/s/w result ---> a/c/v/v s ---> a/65 t ---> a/64 v ---> a/40 w ---> a/54 65 a ---> .. b ---> a/66 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/c e ---> a/75 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/t/v g ---> a/empty n ---> a/64 new a ---> ../.. v ---> a/41 nextc ---> a/75 peek ---> a/c/v/s/w result ---> a/40 s ---> a/66 t ---> a/65 v ---> a/41 w ---> a/55 66 a ---> .. b ---> a/67 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/t e ---> a/76 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/e/v/enextm g ---> a/m/v/mdisp n ---> a/65 new a ---> ../.. v ---> a/41 nextc ---> a/76 peek ---> a/c/v/s/w result ---> a/40 s ---> a/67 t ---> a/66 v ---> a/41 w ---> a/56 67 a ---> .. b ---> a/60 cdisp ---> a/empty cnextm ---> a/m/v d ---> a/m e ---> a/77 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v f ---> a/t/v g ---> a/empty n ---> a/66 new a ---> ../.. v ---> a/41 nextc ---> a/77 peek ---> a/c/v/s/w result ---> a/40 s ---> a/68 t ---> a/67 v ---> a/41 w ---> a/57 68 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/78 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/67 new a ---> ../.. v ---> a/40 nextc ---> a/78 peek ---> a/c/v/s/w result ---> a/40 s ---> a/69 t ---> a/68 v ---> a/40 w ---> a/58 69 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/79 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/68 new a ---> ../.. v ---> a/40 nextc ---> a/79 peek ---> a/c/v/s/w result ---> a/40 s ---> a/border t ---> a/69 v ---> a/40 w ---> a/59 70 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/80 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/80 peek ---> a/c/v/s result ---> a/40 s ---> a/71 t ---> a/70 v ---> a/40 w ---> a/60 71 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/81 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/70 new a ---> ../.. v ---> a/40 nextc ---> a/81 peek ---> a/c/v/s result ---> a/40 s ---> a/72 t ---> a/71 v ---> a/40 w ---> a/61 72 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/82 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/71 new a ---> ../.. v ---> a/40 nextc ---> a/82 peek ---> a/c/v/s result ---> a/40 s ---> a/73 t ---> a/72 v ---> a/40 w ---> a/62 73 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/83 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/72 new a ---> ../.. v ---> a/40 nextc ---> a/83 peek ---> a/c/v/s result ---> a/41 s ---> a/74 t ---> a/73 v ---> a/40 w ---> a/63 74 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/84 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/73 new a ---> ../.. v ---> a/40 nextc ---> a/84 peek ---> a/c/v/s result ---> a/c/v/v s ---> a/75 t ---> a/74 v ---> a/40 w ---> a/64 75 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/85 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/74 new a ---> ../.. v ---> a/41 nextc ---> a/85 peek ---> a/c/v/s result ---> a/40 s ---> a/76 t ---> a/75 v ---> a/41 w ---> a/65 76 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/86 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/75 new a ---> ../.. v ---> a/41 nextc ---> a/86 peek ---> a/c/v/s result ---> a/40 s ---> a/77 t ---> a/76 v ---> a/41 w ---> a/66 77 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/87 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/76 new a ---> ../.. v ---> a/41 nextc ---> a/87 peek ---> a/c/v/s result ---> a/40 s ---> a/78 t ---> a/77 v ---> a/41 w ---> a/67 78 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/88 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/77 new a ---> ../.. v ---> a/40 nextc ---> a/88 peek ---> a/c/v/s result ---> a/40 s ---> a/79 t ---> a/78 v ---> a/40 w ---> a/68 79 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/89 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/78 new a ---> ../.. v ---> a/40 nextc ---> a/89 peek ---> a/c/v/s result ---> a/40 s ---> a/border t ---> a/79 v ---> a/40 w ---> a/69 80 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/90 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/90 peek ---> a/c/v/s/e result ---> a/40 s ---> a/81 t ---> a/80 v ---> a/40 w ---> a/70 81 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/91 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/80 new a ---> ../.. v ---> a/40 nextc ---> a/91 peek ---> a/c/v/s/e result ---> a/40 s ---> a/82 t ---> a/81 v ---> a/40 w ---> a/71 82 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/92 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/81 new a ---> ../.. v ---> a/40 nextc ---> a/92 peek ---> a/c/v/s/e result ---> a/40 s ---> a/83 t ---> a/82 v ---> a/40 w ---> a/72 83 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/93 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/82 new a ---> ../.. v ---> a/40 nextc ---> a/93 peek ---> a/c/v/s/e result ---> a/41 s ---> a/84 t ---> a/83 v ---> a/40 w ---> a/73 84 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/94 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/83 new a ---> ../.. v ---> a/40 nextc ---> a/94 peek ---> a/c/v/s/e result ---> a/c/v/v s ---> a/85 t ---> a/84 v ---> a/40 w ---> a/74 85 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/95 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/84 new a ---> ../.. v ---> a/40 nextc ---> a/95 peek ---> a/c/v/s/e result ---> a/40 s ---> a/86 t ---> a/85 v ---> a/40 w ---> a/75 86 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/96 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/85 new a ---> ../.. v ---> a/40 nextc ---> a/96 peek ---> a/c/v/s/e result ---> a/40 s ---> a/87 t ---> a/86 v ---> a/40 w ---> a/76 87 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/97 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/86 new a ---> ../.. v ---> a/40 nextc ---> a/97 peek ---> a/c/v/s/e result ---> a/40 s ---> a/88 t ---> a/87 v ---> a/40 w ---> a/77 88 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/98 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/87 new a ---> ../.. v ---> a/40 nextc ---> a/98 peek ---> a/c/v/s/e result ---> a/40 s ---> a/89 t ---> a/88 v ---> a/40 w ---> a/78 89 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/99 edisp ---> a/empty enextc ---> a/c/v enextm ---> a/m/v n ---> a/88 new a ---> ../.. v ---> a/40 nextc ---> a/99 peek ---> a/c/v/s/e result ---> a/40 s ---> a/border t ---> a/89 v ---> a/40 w ---> a/79 90 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/border new a ---> ../.. v ---> a/40 nextc ---> a/01 peek ---> a/abort result ---> a/40 s ---> a/91 t ---> a/90 v ---> a/40 w ---> a/80 91 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/90 new a ---> ../.. v ---> a/40 nextc ---> a/02 peek ---> a/abort result ---> a/40 s ---> a/92 t ---> a/91 v ---> a/40 w ---> a/81 92 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/91 new a ---> ../.. v ---> a/40 nextc ---> a/03 peek ---> a/abort result ---> a/40 s ---> a/93 t ---> a/92 v ---> a/40 w ---> a/82 93 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/92 new a ---> ../.. v ---> a/40 nextc ---> a/04 peek ---> a/abort result ---> a/41 s ---> a/94 t ---> a/93 v ---> a/40 w ---> a/83 94 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/93 new a ---> ../.. v ---> a/40 nextc ---> a/05 peek ---> a/abort result ---> a/c/v/v s ---> a/95 t ---> a/94 v ---> a/40 w ---> a/84 95 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/94 new a ---> ../.. v ---> a/40 nextc ---> a/06 peek ---> a/abort result ---> a/40 s ---> a/96 t ---> a/95 v ---> a/40 w ---> a/85 96 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/95 new a ---> ../.. v ---> a/40 nextc ---> a/07 peek ---> a/abort result ---> a/40 s ---> a/97 t ---> a/96 v ---> a/40 w ---> a/86 97 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/96 new a ---> ../.. v ---> a/40 nextc ---> a/08 peek ---> a/abort result ---> a/40 s ---> a/98 t ---> a/97 v ---> a/40 w ---> a/87 98 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/97 new a ---> ../.. v ---> a/40 nextc ---> a/09 peek ---> a/abort result ---> a/40 s ---> a/99 t ---> a/98 v ---> a/40 w ---> a/88 99 a ---> .. cdisp ---> a/empty cnextm ---> a/m/v e ---> a/border edisp ---> a/disp enextc ---> a/c/v/nextc enextm ---> a/c/v/cnextm n ---> a/98 new a ---> ../.. v ---> a/40 nextc ---> a/00 peek ---> a/abort result ---> a/40 s ---> a/border t ---> a/99 v ---> a/40 w ---> a/89 a ---> . abort v do a ---> ../../.. t ---> a/00 border a ---> .. e ---> a/border n ---> a/border s ---> a/border v ---> a/40 w ---> a/border c a ---> .. v ---> a/63 disp 00 ---> ../00/v/disp 01 ---> ../01/v/disp 02 ---> ../02/v/disp 03 ---> ../03/v/disp 04 ---> ../04/v/disp 05 ---> ../05/v/disp 06 ---> ../06/v/disp 07 ---> ../07/v/disp 08 ---> ../08/v/disp 09 ---> ../09/v/disp 10 ---> ../10/v/disp 11 ---> ../11/v/disp 12 ---> ../12/v/disp 13 ---> ../13/v/disp 14 ---> ../14/v/disp 15 ---> ../15/v/disp 16 ---> ../16/v/disp 17 ---> ../17/v/disp 18 ---> ../18/v/disp 19 ---> ../19/v/disp 20 ---> ../20/v/disp 21 ---> ../21/v/disp 22 ---> ../22/v/disp 23 ---> ../23/v/disp 24 ---> ../24/v/disp 25 ---> ../25/v/disp 26 ---> ../26/v/disp 27 ---> ../27/v/disp 28 ---> ../28/v/disp 29 ---> ../29/v/disp 30 ---> ../30/v/disp 31 ---> ../31/v/disp 32 ---> ../32/v/disp 33 ---> ../33/v/disp 34 ---> ../34/v/disp 35 ---> ../35/v/disp 36 ---> ../36/v/disp 37 ---> ../37/v/disp 38 ---> ../38/v/disp 39 ---> ../39/v/disp 40 ---> ../40/v/disp 41 ---> ../41/v/disp 42 ---> ../42/v/disp 43 ---> ../43/v/disp 44 ---> ../44/v/disp 45 ---> ../45/v/disp 46 ---> ../46/v/disp 47 ---> ../47/v/disp 48 ---> ../48/v/disp 49 ---> ../49/v/disp 50 ---> ../50/v/disp 51 ---> ../51/v/disp 52 ---> ../52/v/disp 53 ---> ../53/v/disp 54 ---> ../54/v/disp 55 ---> ../55/v/disp 56 ---> ../56/v/disp 57 ---> ../57/v/disp 58 ---> ../58/v/disp 59 ---> ../59/v/disp 60 ---> ../60/v/disp 61 ---> ../61/v/disp 62 ---> ../62/v/disp 63 ---> ../63/v/disp 64 ---> ../64/v/disp 65 ---> ../65/v/disp 66 ---> ../66/v/disp 67 ---> ../67/v/disp 68 ---> ../68/v/disp 69 ---> ../69/v/disp 70 ---> ../70/v/disp 71 ---> ../71/v/disp 72 ---> ../72/v/disp 73 ---> ../73/v/disp 74 ---> ../74/v/disp 75 ---> ../75/v/disp 76 ---> ../76/v/disp 77 ---> ../77/v/disp 78 ---> ../78/v/disp 79 ---> ../79/v/disp 80 ---> ../80/v/disp 81 ---> ../81/v/disp 82 ---> ../82/v/disp 83 ---> ../83/v/disp 84 ---> ../84/v/disp 85 ---> ../85/v/disp 86 ---> ../86/v/disp 87 ---> ../87/v/disp 88 ---> ../88/v/disp 89 ---> ../89/v/disp 90 ---> ../90/v/disp 91 ---> ../91/v/disp 92 ---> ../92/v/disp 93 ---> ../93/v/disp 94 ---> ../94/v/disp 95 ---> ../95/v/disp 96 ---> ../96/v/disp 97 ---> ../97/v/disp 98 ---> ../98/v/disp 99 ---> ../99/v/disp e a ---> .. v ---> a/20 empty m a ---> .. v ---> a/50 p ---> a/63 t a ---> .. v ---> a/40 u ---> a/63 e ---> /dev/null