%!PS-Adobe-3.0 %%Creator: groff version 1.23.0 %%CreationDate: Thu May 9 13:10:35 2024 %%DocumentNeededResources: font Times-Bold %%+ font Times-Italic %%+ font Times-Roman %%+ font Times-BoldItalic %%DocumentSuppliedResources: file ast.ps %%+ file linkedlist.ps %%+ procset grops 1.23 0 %%LanguageLevel: 2 %%Pages: 16 %%PageOrder: Ascend %%DocumentMedia: Default 612 792 0 () () %%Orientation: Portrait %%EndComments %%BeginDefaults %%PageMedia: Default %%EndDefaults %%BeginProlog %%BeginResource: procset grops 1.23 0 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin % The ASCII code of the space character. /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def % name size font SF - /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def % name a c d font MF - /MF{ findfont [5 2 roll 0 3 1 roll % b neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def % Enable manual feed. % MANUAL - /MANUAL{ statusdict begin/manualfeed true store end }bind def % Guess the page length. % This assumes that the imageable area is vertically centered on the page. % PLG - length /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def % BP - /BP{ /level0 save def 1 setlinecap 1 setlinejoin DEFS/BPhook known{DEFS begin BPhook end}if 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }def % centerx centery radius startangle endangle DA - /DA{ newpath arcn stroke }bind def % x y SN - x' y' % round a position to nearest (pixel + (.25,.25)) /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def % endx endy startx starty DL - % we round the endpoints of the line, so that parallel horizontal % and vertical lines will appear even /DL{ SN moveto SN lineto stroke }bind def % centerx centery radius DC - /DC{ newpath 0 360 arc closepath }bind def /TM matrix def % width height centerx centery DE - /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def % these are for splines /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def % fill the last path % r g b Fr - /Fr{ setrgbcolor fill }bind def % c m y k Fk - /setcmykcolor where{ pop /Fk{ setcmykcolor fill }bind def }if % g Fg - /Fg{ setgray fill }bind def % fill with the "current color" /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /setcmykcolor where{ pop /Ck/setcmykcolor load def }if /Cg/setgray load def % new_font_name encoding_vector old_font_name RE - /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne 2 index/UniqueID ne and {def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def % hpos vpos EBEGIN - /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def % llx lly newwid wid newht ht newllx newlly PBEGIN - /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate % set the graphics state to default values 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def % % Any included setpagedevice should be ignored. % See: http://www.w-beer.de/doc/ps/. % /setpagedevice{}def mark }bind def /PEND{ cleartomark countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%EndProlog %%BeginSetup %%BeginFeature: *PageSize Default << /PageSize [ 612 792 ] /ImagingBBox null >> setpagedevice %%EndFeature %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Times-Roman %%IncludeResource: font Times-BoldItalic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-BoldItalic@0 ENC0/Times-BoldItalic RE/Times-Roman@0 ENC0 /Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0 /Times-Bold RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 12/Times-Bold@0 SF(NEA co)264.462 123 Q -.12(ve)-.12 G 3(rp).12 G (age)-3 E/F1 10/Times-Italic@0 SF(Lucas standen)277.25 159 Q/F2 10 /Times-Roman@0 SF(7949)296 177 Q F1(ABSTRA)282.535 213 Q(CT)-.3 E/F3 10 /Times-Bold@0 SF 2.5(1. Reading)111 237 R(this document)2.5 E F2 (This document is writen in rof)111 252.6 Q 2.5(fa)-.25 G (nd can be found online at)-2.5 E(https://github)111 276.6 Q (.com/standenbo)-.4 E (y/school/tree/master/comp/lucas-standen-NEA/writeup)-.1 E .714 (It is using the ms macro of trof)111 300.6 R .714 (f. It can be compiled using the Mak)-.25 F .713(e\214le, or mak)-.1 F .713(e.sh. A table of)-.1 F .454(contents has been generated using pdft\ ocgen, it is embedded into the pdf, most pdf readers ha)111 312.6 R -.15 (ve)-.2 G 2.5(ab)111 324.6 S(utton to open it \(\214refox has it in the\ top left, in zathura press tab to vie)-2.7 E 2.5(wi)-.25 G(t\).)-2.5 E 2.676(An)111 348.6 S .176(ote on formating of the rof)-2.676 F .176 (f, the te)-.25 F .175 (xt is limited to 100 characters per line and is writen in plan)-.15 F .22(ascii, no utf8 emojis and the lik)111 360.6 R .22 (e. Code snippets are left in plain te)-.1 F .22 (xt, and the full section of code)-.15 F(the)111 372.6 Q 2.89(ya)-.15 G .39(re from should be link)-2.89 F .39(ed abo)-.1 F .69 -.15(ve t)-.15 H .39(hem; assuming the).15 F 2.89(ya)-.15 G .39 (re from a \214le and not a small e)-2.89 F(xam-)-.15 E(ple.)111 384.6 Q F3 2.5(2. Analysis)111 420.6 R 2.5(2.1. The)111 444.6 R(curr)2.5 E (ent pr)-.18 E(oblem)-.18 E F2 -.15(Fo)111 460.2 S 2.545(rg).15 G .045 (eneral small and simple projects, I write in C. Ho)-2.545 F(we)-.25 E -.15(ve)-.25 G 2.545(rt).15 G .046(his leads to hours of deb)-2.545 F .046(ugging due)-.2 F .089(to se)111 472.2 R(gf)-.15 E .088(aults, and \ memory leaks. Due to the languages manual memory management the program\ -)-.1 F .564(mer is required to kno)111 484.2 R 3.064(ws)-.25 G 3.064 (om)-3.064 G .564(uch information about the hardw)-3.064 F .565(are the) -.1 F 3.065(yw)-.15 G .565(rite for)-3.065 F 3.065(,a)-.4 G .565 (nd the second)-3.065 F(an)111 496.2 Q(ything goes wrong, it is v)-.15 E (ague on ho)-.25 E 2.5(wt)-.25 G 2.5<6f8c>-2.5 G 2.5(xt)-2.5 G(hings.) -2.5 E F3 2.5(In)111 520.2 S(eed a language that stops me fr)-2.5 E (om shooting myself in the f)-.18 E(oot)-.25 E F2 2.585(Ch)111 544.2 S .084(as been standard for man)-2.585 F 2.584(yd)-.15 G .084(ecades no) -2.584 F 2.584(wa)-.25 G .084(nd its age is sho)-2.584 F .084 (wing, it lacks man)-.25 F 2.584(ym)-.15 G .084(odern features)-2.584 F (lik)111 556.2 Q 2.605(eO)-.1 G(OP)-2.605 E 2.605(,o)-1.11 G 2.605(rh) -2.605 G .105(igher le)-2.605 F -.15(ve)-.25 G 2.605(lf).15 G .105 (unctional abstractions, that ha)-2.605 F .405 -.15(ve b)-.2 H .105 (ecome common in modern years due).15 F 1.304 (to there helpfulness. This is not to f)111 568.2 R 1.303(ault C')-.1 F 3.803(sa)-.55 G(chie)-3.803 E -.15(ve)-.25 G 1.303(ments either).15 F 3.803(,t)-.4 G 1.303(he language is my personal)-3.803 F .659 (choice for most projects for a reason, it')111 580.2 R 3.159(sf)-.55 G .659(ast and po)-3.259 F .66(werful; an)-.25 F 3.16(ys)-.15 G .66 (olution I mak)-3.16 F 3.16(es)-.1 G .66(hould not cut)-3.16 F(that a) 111 592.2 Q -.1(wa)-.15 G -.65(y.).1 G F3 2.5(2.2. A)111 628.2 R (solution)2.5 E/F4 10/Times-BoldItalic@0 SF(Zippy LANG)111.61 643.8 Q F2 3.379(An)111 667.8 S -.15(ex)-3.379 G 3.379(tg).15 G .879 (eneration language, for general use. Designed for k)-3.379 F .878 (eeping code simple, neat and read-)-.1 F 3.306(able. It)111 679.8 R .807(will be similar to functional languages, kno)3.306 F .807 (wn for there strict ability to k)-.25 F .807(eep code safe)-.1 F .224 (and practical. The language should be interpreted lik)111 691.8 R 2.724 (ep)-.1 G .224(ython, perl and lisp, to allo)-2.824 F 2.723(wf)-.25 G .223(or easy de-)-2.723 F -.2(bu)111 703.8 S(gging tools.).2 E (The goal of Zipp)111 727.8 Q 2.5(yi)-.1 G 2.5(st)-2.5 G 2.5(om)-2.5 G (ak)-2.5 E 2.5(ec)-.1 G(odding easier)-2.5 E 2.5(,w)-.4 G (hile remaining f)-2.5 E(ast, with a interpreter writen in C.)-.1 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-2-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5 (2.3. What)111 84 R(is a pr)2.5 E(ogramming language)-.18 E 2.5 (2.3.1. A)111 108 R -.1(ve)2.5 G(ry simple explanation).1 E F0 .247 (At its lo)111 123.6 R .247 (west de\214nition a PL is a set of speci\214c w)-.25 F .247 (ords, that when gi)-.1 F -.15(ve)-.25 G 2.747(nt).15 G 2.747(oac)-2.747 G .247(omputer in the right)-2.747 F 1.109(order ha)111 135.6 R 1.409 -.15(ve a r)-.2 H 1.109(eproducible beha).15 F(viour)-.2 E 3.609(.Am) -.55 G 1.109(ore human w)-3.609 F 1.109(ay of saying that, w)-.1 F 1.108 (ould be its ho)-.1 F 3.608(ww)-.25 G(e)-3.608 E(control computers.)111 147.6 Q F1 2.5(2.3.2. Wh)111 171.6 R 2.5(ya)-.15 G .36 -.18(re t)-2.5 H (her).18 E 2.5(es)-.18 G 2.5(om)-2.5 G(any)-2.5 E F0 .21 (When someone is looking at code it can often be seen as just that, ho) 111 187.2 R(we)-.25 E -.15(ve)-.25 G 2.711(rt).15 G .211 (here are hundreds of)-2.711 F .558(languages that all tak)111 199.2 R 3.058(et)-.1 G .558(he idea of "code" in v)-3.058 F .557(ery dif)-.15 F .557(ferent w)-.25 F .557(ays. Some are designed for speci\214c)-.1 F (hardw)111 211.2 Q .87(are, some are designed for making general use pr\ ograms while others are highly special-)-.1 F 2.696(ized. It)111 223.2 R .196(is important to see "code", as more than just one o)2.696 F -.15 (ve)-.15 G .196(rarching term and instead see where).15 F (the code is being used, and e)111 235.2 Q -.25(va)-.25 G (luate it from that.).25 E F1 2.5(2.4. Resear)111 283.2 R (ching, and getting a scope of the pr)-.18 E(oject)-.18 E F0 .263 (Before I start to design a language i should \214rst \214nd e)111 298.8 R .264(xamples of others and \214nd what i w)-.15 F .264(ant my)-.1 F (language to be lik)111 310.8 Q(e.)-.1 E(I')111 334.8 Q 3.659(dl)-.5 G (ik)-3.659 E 3.659(em)-.1 G 3.658(yl)-3.659 G 1.158 (anguage to feel modern so i should tak)-3.658 F 3.658(ei)-.1 G 1.158 (nspiration from what other modern lan-)-3.658 F .067(guages do, ho)111 346.8 R(we)-.25 E -.15(ve)-.25 G 2.568(ro).15 G 2.568(nt)-2.568 G .068 (he back)-2.568 F .068(ed i w)-.1 F .068 (ant my language to be stable and f)-.1 F .068 (ast, for that i should look)-.1 F(at older projects.)111 358.8 Q F1 2.5 (2.4.1. Examples)111 394.8 R(of older similar pr)2.5 E(ojects, that ar) -.18 E 2.5(eag)-.18 G(ood base f)-2.5 E(or my language)-.25 E 2.5 (2.4.1.1. Python)111 418.8 R F0 .535(Python is a high le)111 434.4 R -.15(ve)-.25 G 3.034(lO).15 G .534(OP language that w)-3.034 F .534 (as designed in 1991. It w)-.1 F .534(as made to mak)-.1 F 3.034(ep)-.1 G(rogram-)-3.034 E .644 (ming easy while still being able to use some of C')111 446.4 R 3.144 (sf)-.55 G .644(unctions. Although it has become standard)-3.144 F (for man)111 458.4 Q 2.5(yu)-.15 G(se cases, it is slo)-2.5 E 2.5(wa) -.25 G(nd inef)-2.5 E(\214cient, and v)-.25 E(ery bloated.)-.15 E (https://www)111 482.4 Q(.p)-.65 E(ython.or)-.1 E(g/)-.18 E(Zipp)111 506.4 Q 3.395(ys)-.1 G .895(hould tak)-3.395 F 3.395(ep)-.1 G .895 (ythons high le)-3.495 F -.15(ve)-.25 G 3.395(la).15 G .895 (bstractions, as the)-3.395 F 3.395(ym)-.15 G(ak)-3.395 E 3.395(ep)-.1 G .895(rogramming v)-3.395 F .895(ery easy and it)-.15 F (should try and tak)111 518.4 Q 2.5(en)-.1 G (otes from its libraries as the)-2.5 E 2.5(ya)-.15 G (re mostly well written, and well documented.)-2.5 E F1 2.5 (2.4.1.2. Lisp)111 542.4 R F0 .976(Lisp is the second e)111 558 R -.15 (ve)-.25 G 3.476(rp).15 G .976(rogramming language, de)-3.476 F -.15(ve) -.25 G .976(loped at MiT).15 F 3.476(,i)-.74 G 3.476(ti)-3.476 G 3.476 (st)-3.476 G .976(he \214rst functional lan-)-3.476 F .844 (guage, creating man)111 570 R 3.344(yc)-.15 G .844(ommon features lik) -3.344 F 3.343(eh)-.1 G .843(igher order functions, recursion, and g) -3.343 F .843(arbage col-)-.05 F .499 (lection. It is generally not used an)111 582 R 2.999(ym)-.15 G .5 (ore as it feels old compared to other functional languages,)-2.999 F (lik)111 594 Q 2.5(eO)-.1 G(caml or Hask)-2.5 E(ell.)-.1 E (https://lisp-lang.or)111 618 Q(g/)-.18 E(Zipp)111 642 Q 3.393(ys)-.1 G .893(hould try to tak)-3.393 F 3.393(ea)-.1 G .893 (lot from the syntax of lisp, \(\) mak)-3.393 F 3.392(ei)-.1 G 3.392(te) -3.392 G .892(asy to see what parts of code)-3.392 F(will ef)111 654 Q (fect what, and mak)-.25 E 2.5(et)-.1 G(hings easy to parse.)-2.5 E F1 2.5(2.4.1.3. P)111 678 R(erl)-.2 E F0 .607(Perl is scripting language d\ esigned for use in linux, when bash is too slo)111 693.6 R 1.907 -.65 (w, o)-.25 H 3.108(rn).65 G .608(ot suited for the)-3.108 F(job)111 705.6 Q 3.414(.P)-.4 G .914 (erl is often described as the glue of the uni)-3.414 F -.15(ve)-.25 G .913(rse \(see xkcd https://3d.xkcd.com/224/\).).15 F(Its)5.913 E (syntax is quite strange ho)111 717.6 Q(we)-.25 E -.15(ve)-.25 G 2.5(ra) .15 G(nd it is slo)-2.5 E 1.3 -.65(w. M)-.25 H (aking it poorly suited to).65 E -.1(wa)-.25 G(rds general use.).1 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-3-)300.17 48 Q(https://www)111 84 Q(.perl.or) -.65 E(g/)-.18 E(Zipp)111 108 Q 3.082(ys)-.1 G .582(hould tak)-3.082 F 3.082(ef)-.1 G .583(rom perls minimalism, it is a small language that i\ s of a similar size to bash)-3.082 F .407 (or zsh, while feeling closer to p)111 120 R .406(ython. If zipp)-.1 F 2.906(yc)-.1 G .406(an achie)-2.906 F .706 -.15(ve a s)-.25 H .406 (imilar small size, while remaining).15 F(po)111 132 Q (werful I will be happ)-.25 E -.65(y.)-.1 G/F1 10/Times-Bold@0 SF 2.5 (2.4.2. Examples)111 168 R(of new similar pr)2.5 E(ojects that ar)-.18 E 2.5(ea)-.18 G(lso a good base)-2.5 E 2.5(2.4.2.1. Gleam)111 192 R F0 .052(Gleam is a modern language releasing in the past 5 years. It is hi\ ghly functional, with no mutable)111 207.6 R .432(data, no traditional \ loops. Instead recursion can be used to replace alot of these features.) 111 219.6 R(Gleam)5.432 E .453 (compiles to erlang/Beam bytecode, much lik)111 231.6 R 2.954(ej)-.1 G -.2(av)-2.954 G 2.954(at)-.05 G 2.954(ot)-2.954 G .454 (he jvm, and doing this has made Gleam a)-2.954 F (highly scalable language with good library support out the box.)111 243.6 Q(https://gleam.run/)111 267.6 Q(Zipp)111 291.6 Q 2.891(ys)-.1 G .391(hould tak)-2.891 F 2.891(ef)-.1 G .391 (rom the functional elements of Gleam, as the)-2.891 F 2.89(yk)-.15 G .39(eep programs safer)-2.99 F 2.89(,h)-.4 G -.25(ow)-2.89 G -2.15 -.25 (ev e).25 H(r).25 E(Zipp)111 303.6 Q 2.5(ys)-.1 G(hould not remo)-2.5 E .3 -.15(ve a)-.15 H(ll procedural elements, as for loops are v).15 E (ery helpful)-.15 E F1 2.5(2.4.2.2. Hask)111 327.6 R(ell)-.1 E F0(Hask) 111 343.2 Q .912(ell is another modern functional language kno)-.1 F .913(wn for being v)-.25 F .913(ery complicated, ho)-.15 F(we)-.25 E -.15(ve)-.25 G 3.413(ri).15 G(n-)-3.413 E(credibly po)111 355.2 Q (werful. Its syntax feels v)-.25 E (ery mathematical, and incredibly terse.)-.15 E(https://www)111 379.2 Q (.hask)-.65 E(ell.or)-.1 E(g/)-.18 E .225(Perhaps Zipp)111 403.2 R 2.725 (yc)-.1 G .225(ould learn from Hask)-2.725 F .225(ell, as it pro)-.1 F .224(vides functional and procedural elements, mak-)-.15 F (ing it a well rounded language)111 415.2 Q F1 2.5(2.4.2.3. Har)111 439.2 R(e)-.18 E F0 .701(Hare w)111 454.8 R .701(as designed to be a 10\ 0 year language, and thus stability is its main goal, it is not set to) -.1 F(ha)111 466.8 Q .49 -.15(ve a s)-.2 H .19(yntax change an).15 F 2.69(yt)-.15 G .189 (ime soon, and it has strong emphasis on memory safety)-2.69 F 2.689(.I) -.65 G 2.689<748c>-2.689 G .189(ts into the)-2.689 F (same part of the tech stack as C, and thus it can be used for some v) 111 478.8 Q(ery lo)-.15 E 2.5(wl)-.25 G -2.15 -.25(ev e)-2.5 H 2.5(lw) .25 G(ork.)-2.6 E(https://harelang.or)111 502.8 Q(g/)-.18 E 3.173(It)111 526.8 S .673(hink Zipp)-3.173 F 3.173(ys)-.1 G .673(hould ha)-3.173 F .973 -.15(ve a s)-.2 H .673(trong emphasis on stability).15 F 3.174(,m) -.65 G .674(uch lik)-3.174 F 3.174(eH)-.1 G .674(are, to man)-3.174 F 3.174(yt)-.15 G .674(imes ha)-3.174 F .974 -.15(ve I)-.2 H(se)111 538.8 Q(gf)-.15 E .547(aulted due to a tin)-.1 F 3.046(ym)-.15 G(istak)-3.046 E .546(e. Zipp)-.1 F 3.046(ys)-.1 G .546 (hould also look to Hare small size, you can b)-3.046 F .546(uy a cop) -.2 F(y)-.1 E(of Hare on a)111 550.8 Q F1(SINGLE 3 1/2')111 574.8 Q 2.5 ('F)-.63 G(L.LPY)-2.5 E F0(This is something I too should try to achie) 111 602.4 Q -.15(ve)-.25 G(.).15 E F1 2.5(2.4.3. What)111 638.4 R (should be tak)2.5 E(en away fr)-.1 E(om these languages?)-.18 E F0 2.721(Iw)111 654 S .221(as already leaning to)-2.821 F -.1(wa)-.25 G .221(rds functional programming when I started this project ho).1 F(we) -.25 E -.15(ve)-.25 G 2.722(rn).15 G .722 -.25(ow I)-2.722 H(belie)111 666 Q .994 -.15(ve i)-.25 H(t').15 E 3.194(st)-.55 G .694 (he only option for producing safe applications. Zipp)-3.194 F 3.193(yw) -.1 G .693(ill be a functional language)-3.193 F (with a strong emphasis on recursion.)111 678 Q 2.861(Ia)111 702 S .361 (lso belie)-2.861 F .661 -.15(ve t)-.25 H .361(hat I should tak).15 F 2.861(es)-.1 G .361 (ize of the interpreter into account, as this is important for k)-2.861 F(eep-)-.1 E(ing the project manageable and consistent.)111 714 Q 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-4-)300.17 48 Q .916(And \214nally I think that\ syntax should be inspired by Lisp, although Lisp itself can be a messy) 111 84 R .197 (language, with the right changes I am con\214dent that I can mak)111 96 R 2.698(eaa)-.1 G(ttracti)-2.698 E .498 -.15(ve l)-.25 H .198 (anguage for the 21st).15 F(century)111 108 Q(.)-.65 E/F1 10 /Times-Bold@0 SF 2.5(2.5. Clients)111 144 R F0 .057 (In a project of this nature, the Client is e)111 159.6 R -.15(ve)-.25 G .057(ry programmer ali).15 F -.15(ve)-.25 G 2.557(;w).15 G .056 (hich is a pretty lar)-2.557 F .056(ge scope.)-.18 F -.8(To)5.056 G (narro)111 171.6 Q 2.948(wt)-.25 G .448(his do)-2.948 F .449 (wn as much as possible, I will intervie)-.25 F 2.949(was)-.25 G .449 (mall handful of people throughout the)-2.949 F(project, of dif)111 183.6 Q(ferent skill le)-.25 E -.15(ve)-.25 G(ls.).15 E F1 2.5 (2.5.1. Client)111 219.6 R(1, Amy C)2.5 E F0 1.032(My \214rst client is\ a friend of mine, Amy C, she is a con\214dent programmer who has compl\ eted)111 235.2 R(man)111 247.2 Q 2.864(yc)-.15 G .365 (omplicated projects. I am choosing her as a client as she can gi)-2.864 F .665 -.15(ve m)-.25 H 2.865(et).15 G .365(echnical feed back)-2.865 F (on my project and its function/utility)111 259.2 Q(.)-.65 E F1 2.5 (2.5.2. Client)111 283.2 R(2, a technical user)2.5 E 2.5(,b)-.92 G (ut not a pr)-2.7 E(ogrammer)-.18 E F0(some stuf)111 298.8 Q 2.5(fa)-.25 G(bout this person.)-2.5 E F1 2.5(2.5.3. Client)111 322.8 R(3, a normie) 2.5 E F0(some stuf)111 338.4 Q 2.5(fa)-.25 G(bout ho)-2.5 E 2.5(wt)-.25 G(he normie \214nds the completed project.)-2.5 E F1 2.5(2.5.4. Client) 111 362.4 R(4, myself)2.5 E F0(I')111 378 Q .587 -.15(ve w)-.5 H .287 (anted to tak).05 F 2.787(eo)-.1 G .287(ut a project lik)-2.787 F 2.786 (et)-.1 G .286 (his for a long long time, and this is the perfect opportunity)-2.786 F 1.067(to do so, I will be assessing myself along the w)111 390 R 1.067 (ay of this, b)-.1 F 1.068(uilding the project to my personal)-.2 F (speci\214cation.)111 402 Q F1 2.5(2.6. Questionnair)111 438 R(es)-.18 E F0 .565(It is important to get feedback from end users, so I will tak) 111 453.6 R 3.064(em)-.1 G .564(ultiple questionnaires throughout)-3.064 F .399(the project. I will then use them to slightly edit the requireme\ nts of my project this should mak)111 465.6 R(e)-.1 E (the \214nal outcome more helpful and what people w)111 477.6 Q(ant.)-.1 E(In the section bello)111 501.6 Q 2.5(wy)-.25 G (ou will \214nd questionnaires from the analyses stage of my project.) -2.5 E F1 2.5(2.6.1. Questionnair)111 525.6 R 2.5(e1f)-.18 G(or Amy C) -2.75 E/F2 10/Times-BoldItalic@0 SF([30th April 2024])111.87 549.6 Q (answ)3.81 E(ered by Amy)-.1 E 2.5(,s)-.37 G(ee pull request she left) -2.5 E F1 2.5(2.6.1.1. What)111 573.6 R(do y)2.5 E (ou \214nd the most important in a language? \(eg: speed, r)-.25 E (eadability\))-.18 E F0(Speed, readability)111 589.2 Q 2.5(,d)-.65 G(eb) -2.5 E(ugging ease and disk space ef)-.2 E(\214cienc)-.25 E -.65(y.)-.15 G F1 3.168(2.6.1.2. What)111 613.2 R .668(tools ar)3.168 F 3.168(ei)-.18 G .668(mportant f)-3.168 F .668(or a language to ha)-.25 F -.1(ve)-.25 G 3.167(?\().1 G .667(eg: pkg-manager)-3.167 F 3.167(,I)-.92 G .667 (DE integra-)-3.167 F(tion\))111 625.2 Q F0 .224(IDE inte)111 640.8 R .224(gration \(things lik)-.15 F 2.724(et)-.1 G .224 (ab complete and deb)-2.724 F .224(ugging tools\), a package manager)-.2 F 2.725(,a)-.4 G .225(nd the abil-)-2.725 F (ity to interact with the user through the command line easily)111 652.8 Q(.)-.65 E F1 3.364(2.6.1.3. What)111 676.8 R(featur)3.363 E .863 (es do y)-.18 F .863(ou lik)-.25 F 3.363(ef)-.1 G -.18(ro)-3.363 G 3.363 (mo).18 G .863(ther languages \(eg: C')-3.363 F 3.363(sa)-.37 G(dv) -3.363 E .863(anced memory man-)-.1 F(agement, hask)111 688.8 Q(ell')-.1 E 2.5(st)-.37 G(erse syntax\))-2.5 E F0 .621(The ability to pass the me\ mory reference of an object or function and a collection of b)111 704.4 R .621(uilt-in or)-.2 F(standard functions lik)111 716.4 Q 2.5(e")-.1 G (print", "split", or "sort".)-2.5 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-5-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5 (2.6.1.4. What)111 84 R(do y)2.5 E(ou want to pr)-.25 E (ogram in this language \(eg: websites, lo)-.18 E 2.5(wl)-.1 G -2.3 -.15 (ev e)-2.5 H 2.5(ls).15 G(ystems\))-2.5 E F0 (Lightweight command line tools and web back ends.)111 99.6 Q F1 2.5 (2.6.1.5. Do)111 123.6 R -.25(yo)2.5 G 2.5(ui).25 G (ntend to use graphics in the pr)-2.5 E(ograms y)-.18 E(ou write?)-.25 E F0(No.)111 139.2 Q F1 2.5(2.6.1.6. W)111 163.2 R(ould y)-.75 E(ou pr) -.25 E(efer a language that f)-.18 E(ocuses on ease of use, or po)-.25 E (wer of the code?)-.1 E F0 2.5(Il)111 178.8 S(ik)-2.5 E 2.5(eag)-.1 G (ood balance between the tw)-2.5 E(o.)-.1 E F1 2.5(2.6.1.7. What)111 202.8 R(wer)2.5 E 2.5(ey)-.18 G(our last 3 pr)-2.75 E (ojects? \(could they ha)-.18 E .2 -.1(ve b)-.25 H (een written in Zippy?\)).1 E F0 3.854(Aw)111 218.4 S 1.354 (ebsite, a small command-line tool and a midi k)-3.854 F -.15(ey)-.1 G 1.353(board \(program runs on a Raspberry Pi).15 F(Pico\).)111 230.4 Q F1 3.39(2.6.1.8. Ho)111 254.4 R 3.39(wm)-.1 G .89(any languages w)-3.39 F .89(ould y)-.1 F .891(ou use on a single pr)-.25 F .891 (oject? \(could Zippy be used in)-.18 F -.25(yo)111 266.4 S (ur codebase?\)).25 E F0 2.5(It)111 282 S (ry to use as little languages in a project as possible, so lik)-2.5 E (ely not in an e)-.1 E(xisting project.)-.15 E F1 2.5(2.6.1.9. Do)111 306 R -.25(yo)2.5 G 2.5(uc).25 G(ar)-2.5 E 2.5(ef)-.18 G(or lo)-2.75 E 2.5(wl)-.1 G -2.3 -.15(ev e)-2.5 H 2.5(lc).15 G(ontr)-2.5 E(ol, or w) -.18 E(ould y)-.1 E(ou pr)-.25 E(efer high le)-.18 E -.1(ve)-.15 G 2.5 (la).1 G(bstractions?)-2.5 E F0 3.08(It)111 321.6 S .58(hink lo)-3.08 F (w-le)-.25 E -.15(ve)-.25 G 3.08(lc).15 G .58(ontrol is v)-3.08 F .579 (ery important, b)-.15 F .579(ut high-le)-.2 F -.15(ve)-.25 G 3.079(la) .15 G .579(bstractions are con)-3.079 F -.15(ve)-.4 G .579 (nient, so a good).15 F(balance between the tw)111 333.6 Q 2.5(oi)-.1 G 2.5(sb)-2.5 G(est.)-2.5 E F1 4.18(2.6.1.10. W)111 357.6 R 1.68(ould y) -.75 F 1.681(ou be happy to de)-.25 F -.1(ve)-.15 G 1.681 (lop libraries f).1 F 1.681(or things that ar)-.25 F 1.681(en't alr)-.18 F 1.681(eady imple-)-.18 F(mented \(eg: an SQL library\))111 369.6 Q F0 (Potentially if it is simple enough to implement ne)111 385.2 Q 2.5(wt) -.25 G(hings.)-2.5 E F1 2.5(2.6.2. Notes)111 421.2 R(fr)2.5 E (om questionnair)-.18 E 2.5(e1)-.18 G F0 .155(Some of the k)111 436.8 R .455 -.15(ey t)-.1 H .155(hings that I'm taking a).15 F -.1(wa)-.15 G 2.655(yf).1 G .155 (rom this \214rst questionnaire, are my client/users ini-)-2.655 F .719 (tial needs and use cases. I think it')111 448.8 R 3.219(sc)-.55 G .719 (lear my language can be of assistance to my client, Zipp)-3.219 F(y)-.1 E .698(will be a good language for web back ends and small command line\ tools, which my client e)111 460.8 R(x-)-.15 E(pressed interested in.) 111 472.8 Q 2.563<498c>111 496.8 S .063(nd the f)-2.563 F .063 (act my client is w)-.1 F .064(orried by e)-.1 F -.15(xe)-.15 G .064 (cutable size interesting, ho).15 F(we)-.25 E -.15(ve)-.25 G 2.564(rId) .15 G .064(oubt it will be an is-)-2.564 F (sue; a ballooning code-base is unlik)111 508.8 Q (ely as only one person is writing the project.)-.1 E 2.56(Ia)111 532.8 S 2.56(ma)-2.56 G .06(lso taking on the f)-2.56 F .06 (act that my client w)-.1 F .06 (ants good command line tools, so a pkg-manager and)-.1 F -.2(bu)111 544.8 S(ndler should be a priority).2 E 2.5(,p)-.65 G(erhaps the)-2.5 E 2.5(yc)-.15 G(ould be written in Zipp)-2.5 E 2.5(ya)-.1 G (fter the interpreter is done.)-2.5 E F1 2.5(2.7. The)111 580.8 R (\214rst elements of the pr)2.5 E(oject)-.18 E F0(At this stage I can s\ ay that I'm con\214dent in my project and its scope. I ha)111 596.4 Q .3 -.15(ve a g)-.2 H(oal in mind for it.).15 E F1(The k)111 620.4 Q (ey things to tak)-.1 E 2.5(ea)-.1 G(way fr)-2.5 E(om this section ar) -.18 E(e:)-.18 E(----)111 644.4 Q F0(Mak)2.5 E 2.5(eah)-.1 G(igh le)-2.5 E -.15(ve)-.25 G 2.5(ll).15 G (anguage with a useable set of features, to replace C in man)-2.5 E 2.5 (ys)-.15 G(ituations.)-2.5 E F1(----)111 668.4 Q F0 -.25(Ke)2.5 G (ep the language readable and easy).25 E 2.5(,w)-.65 G(ith po)-2.5 E (werful tools a)-.25 E -.25(va)-.2 G(ilable.).25 E F1(----)111 692.4 Q F0(Ensure the language is well supported with tools lik)2.5 E 2.5(eap) -.1 G(kg-manager)-2.5 E(.)-.55 E F1 2.5(2.8. Moddeling)111 728.4 R 0 Cg EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-6-)300.17 48 Q .044(In lar)111 84 R .044(ger p\ rojects, when a programmer needs a data structure that the language the) -.18 F 2.545(ya)-.15 G .045(re writing in)-2.545 F(doesn')111 96 Q 2.5 (tp)-.18 G(ro)-2.5 E(vide, the)-.15 E 2.5(yw)-.15 G(ill need to mak)-2.5 E 2.5(et)-.1 G(heir o)-2.5 E(wn.)-.25 E(Bello)111 120 Q 2.5(wa)-.25 G (re a fe)-2.5 E 2.5(we)-.25 G (xamples of these data structures that C doesn')-2.65 E 2.5(ta)-.18 G (lready pro)-2.5 E(vide.)-.15 E/F1 10/Times-Bold@0 SF 2.5(2.8.1. Link) 111 144 R(ed lists)-.1 E F0 .966(this is an alternati)111 159.6 R 1.266 -.15(ve i)-.25 H .966 (mplementation of a list, where you store some data, and the memory ad-) .15 F .568(dress to the ne)111 171.6 R .568(xt node. Then you can mo) -.15 F .868 -.15(ve t)-.15 H .569 (hrough the list by reading the data then reading the).15 F (data of the ne)111 183.6 Q(xt node, and then repeating until the 'ne) -.15 E(xt' part of the node is empty)-.15 E(.)-.65 E 2.5(Ad)111 207.6 S (iagram sho)-2.5 E(wing this can be seen here:)-.25 E 14 14 109 109 -44 44 251.5 275.6 PBEGIN %%BeginDocument: linkedlist.ps %!PS-Adobe-3.0 %%Creator: GIMP PostScript file plug-in V 1.17 by Peter Kirchgessner %%Title: linkedlist.ps %%CreationDate: Thu May 9 11:49:50 2024 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 123 58 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 43.199999999999996 translate 108.23999999999999 -43.199999999999996 scale % Image geometry 451 180 8 % Transformation matrix [ 451 0 0 180 0 0 ] % Strings to hold RGB-samples per scanline /rstr 451 string def /gstr 451 string def /bstr 451 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 41246 ASCII Bytes colorimage JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> gA_9Pp$hCZm/ueGp%s=?JcE1YJ,~> gA_9Pp$hCZm/ueGp%s=?JcE1YJ,~> gA_9Pp$hCZm/ueGp%s=?JcE1YJ,~> h#@QUo]FWA^::i[^;\UbpAKRBJcE7[J,~> h#@QUo]FWA^::i[^;\UbpAKRBJcE7[J,~> h#@QUo]FWA^::i[^;\UbpAKRBJcE7[J,~> h#@TFa.%Ej@q)uW"_)1sVU=pbs+13[s*t~> h#@TFa.%Ej@q)uW"_)1sVU=pbs+13[s*t~> h#@TFa.%Ej@q)uW"_)1sVU=pbs+13[s*t~> hZ!fYlbJ$G,m(IS">F/FfDC.!JcE:\J,~> hZ!fYlbJ$G,m(IS">F/FfDC.!JcE:\J,~> hZ!fYlbJ$G,m(IS">F/FfDC.!JcE:\J,~> hZ!]Pb(UnA!!E`u[dO*Fs+13]s*t~> hZ!]Pb(UnA!!E`u[dO*Fs+13]s*t~> hZ!]Pb(UnA!!E`u[dO*Fs+13]s*t~> hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu huNrT7oNRRabs*t~> huNrT7oNRRabs*t~> huNrT7oNRRabs*t~> huaT,_ef5N"9C*Eh#,Y$#lF/Lf%ocjs8TA'f`)'Qjf:1u!! huaT,_ef5N"9C*Eh#,Y$#lF/Lf%ocjs8TA'f`)'Qjf:1u!! huaT,_ef5N"9C*Eh#,Y$#lF/Lf%ocjs8TA'f`)'Qjf:1u!! huaT+_ef5N"9C*Eh#,\%%J8D_R#@34eaWG*k2>4-ireK4q#9"I"TIl& 7KJSN!tBk)q;hR+~> huaT+_ef5N"9C*Eh#,\%%J8D_R#@34eaWG*k2>4-ireK4q#9"I"TIl& 7KJSN!tBk)q;hR+~> huaT+_ef5N"9C*Eh#,\%%J8D_R#@34eaWG*k2>4-ireK4q#9"I"TIl& 7KJSN!tBk)q;hR+~> huaT+_ef5N"9C*Eh#,_&&,Y4^>TNk\:7TJ\a0DJQ: "8^Gb/ huaT+_ef5N"9C*Eh#,_&&,Y4^>TNk\:7TJ\a0DJQ: "8^Gb/ huaT+_ef5N"9C*Eh#,_&&,Y4^>TNk\:7TJ\a0DJQ: "8^Gb/ huaT+_ef5N"9C*Eh#,b'&cM:;G;'!s![)'1NbqTY5LLrrV5N9`"el"t;]*UIYGS2]_er"9KL(f)"J-J,~> huaT+_ef5N"9C*Eh#,b'&cM:;G;'!s![)'1NbqTY5LLrrV5N9`"el"t;]*UIYGS2]_er"9KL(f)"J-J,~> huaT+_ef5N"9C*Eh#,b'&cM:;G;'!s![)'1NbqTY5LLrrV5N9`"el"t;]*UIYGS2]_er"9KL(f)"J-J,~> huaT+_ef5N"9C*Eh#,b'"T.5W9Gd[."U-kX7OntU!!OK7FN*tQg]%?A [pT"4"!29FXJE!&YGR+O!!3'!"9T^.fD=S.J,~> huaT+_ef5N"9C*Eh#,b'"T.5W9Gd[."U-kX7OntU!!OK7FN*tQg]%?A [pT"4"!29FXJE!&YGR+O!!3'!"9T^.fD=S.J,~> huaT+_ef5N"9C*Eh#,b'"T.5W9Gd[."U-kX7OntU!!OK7FN*tQg]%?A [pT"4"!29FXJE!&YGR+O!!3'!"9T^.fD=S.J,~> huaT+_ef5N"9C*Eh#,b'"T$f;/dqXY!Wj,OY5eYPU?2=-rrVZ)B);Q2 / huaT+_ef5N"9C*Eh#,b'"T$f;/dqXY!Wj,OY5eYPU?2=-rrVZ)B);Q2 / huaT+_ef5N"9C*Eh#,b'"T$f;/dqXY!Wj,OY5eYPU?2=-rrVZ)B);Q2 / huaT+_ef5N"9C*Eh#,b'"SpQ.+U7oG!s&]7!O)P+#`-k'g]%?D^h3HD "#HV+r1j8po>l+U!WE'%"<`lZqW.[,~> huaT+_ef5N"9C*Eh#,b'"SpQ.+U7oG!s&]7!O)P+#`-k'g]%?D^h3HD "#HV+r1j8po>l+U!WE'%"<`lZqW.[,~> huaT+_ef5N"9C*Eh#,b'"SpQ.+U7oG!s&]7!O)P+#`-k'g]%?D^h3HD "#HV+r1j8po>l+U!WE'%"<`lZqW.[,~> huaT+_ef5N"9C*Eh#,b'"SpQ-)?g!=!X8l1YQ+b/I)bs9rrVZ)B);Q1 1SEV'U]1Jha`d^crW!'(+Hk@QjSs`~> huaT+_ef5N"9C*Eh#,b'"SpQ-)?g!=!X8l1YQ+b/I)bs9rrVZ)B);Q1 1SEV'U]1Jha`d^crW!'(+Hk@QjSs`~> huaT+_ef5N"9C*Eh#,b'"SpQ-)?g!=!X8l1YQ+b/I)bs9rrVZ)B);Q1 1SEV'U]1Jha`d^crW!'(+Hk@QjSs`~> huaT+_ef5N"9C*Eh#,b'"SpQ-)$Kp=!s&`:!O)P+$%^7og]%?D^h3HD "#HV,rM0AqoZ24V!WE'%"<`lZqW.[,~> huaT+_ef5N"9C*Eh#,b'"SpQ-)$Kp=!s&`:!O)P+$%^7og]%?D^h3HD "#HV,rM0AqoZ24V!WE'%"<`lZqW.[,~> huaT+_ef5N"9C*Eh#,b'"SpQ-)$Kp=!s&`:!O)P+$%^7og]%?D^h3HD "#HV,rM0AqoZ24V!WE'%"<`lZqW.[,~> hu14:q:koNn%`Q4!!>$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> hu14:q:koNn%`Q4!!>$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> hu14:q:koNn%`Q4!!>$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> hu hu hu hua8tR>HHDLR,![i:R!*rt5+pe[hK:K78H6Tt/\>qX;::qu?j#/=YDk fDYsRpsY3?"TAE$!XNkTa1ega[^WdF\,Ni8\(S:j\,Ec7\,<`=Y`Vrd!WE'%"<$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> hua8tR>HHDLR,![i:R!*rt5+pe[hK:K78H6Tt/\>qX;::qu?j#/=YDk fDYsRpsY3?"TAE$!XNkTa1ega[^WdF\,Ni8\(S:j\,Ec7\,<`=Y`Vrd!WE'%"<$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> hua8tR>HHDLR,![i:R!*rt5+pe[hK:K78H6Tt/\>qX;::qu?j#/=YDk fDYsRpsY3?"TAE$!XNkTa1ega[^WdF\,Ni8\(S:j\,Ec7\,<`=Y`Vrd!WE'%"<$MhYj5L"SBcZ!!3'!"9]j1fD=S.J,~> huYI@C5>,4+S\EOsWa>T'"9Bm- _r0,+"Q$h@'a+F8(BFMRZ-CS:dG=!OkMb.Ed*C"fgZ%G^leh"-lP/UEhU^*#cdLJ'k3;3slKdB= DZBh;!!EEFOk0B`rrVZ)B);Q11SEV'U]1JhaEIUbrW!'(+Hk@QjSs`~> huYI@C5>,4+S\EOsWa>T'"9Bm- _r0,+"Q$h@'a+F8(BFMRZ-CS:dG=!OkMb.Ed*C"fgZ%G^leh"-lP/UEhU^*#cdLJ'k3;3slKdB= DZBh;!!EEFOk0B`rrVZ)B);Q11SEV'U]1JhaEIUbrW!'(+Hk@QjSs`~> huYI@C5>,4+S\EOsWa>T'"9Bm- _r0,+"Q$h@'a+F8(BFMRZ-CS:dG=!OkMb.Ed*C"fgZ%G^leh"-lP/UEhU^*#cdLJ'k3;3slKdB= DZBh;!!EEFOk0B`rrVZ)B);Q11SEV'U]1JhaEIUbrW!'(+Hk@QjSs`~> hu^^O=F-!hHpml4"T]NROf,53 WrsentjjhDa\%'/pf]`#,rr3,ob'F$g rW!'(*KeqLg]%?D^h3HD"#HY-rM0AqoZ24V!WE'%"<`lZqW.[,~> hu^^O=F-!hHpml4"T]NROf,53 WrsentjjhDa\%'/pf]`#,rr3,ob'F$g rW!'(*KeqLg]%?D^h3HD"#HY-rM0AqoZ24V!WE'%"<`lZqW.[,~> hu^^O=F-!hHpml4"T]NROf,53 WrsentjjhDa\%'/pf]`#,rr3,ob'F$g rW!'(*KeqLg]%?D^h3HD"#HY-rM0AqoZ24V!WE'%"<`lZqW.[,~> hu/;Vr;?$'G5q[C !!NKFNmdUth>.6NlF^[)!!G'JgA(RBq?$Qmrr2p!rr)cnqZ?]orn@ASrr)cmrqcfqrVlf_rrhu8 G5q[C!!EEIP1TQks*t~> hu/;Vr;?$'G5q[C !!NKFNmdUth>.6NlF^[)!!G'JgA(RBq?$Qmrr2p!rr)cnqZ?]orn@ASrr)cmrqcfqrVlf_rrhu8 G5q[C!!EEIP1TQks*t~> hu/;Vr;?$'G5q[C !!NKFNmdUth>.6NlF^[)!!G'JgA(RBq?$Qmrr2p!rr)cnqZ?]orn@ASrr)cmrqcfqrVlf_rrhu8 G5q[C!!EEIP1TQks*t~> hu`kPkbbo$j=A,6=tJ'*]F9>]tR.7li@V0g&$APJ?)L ro3qoqWc8!G>^X^/h]+K=F[F"kNC^EVdoc.rW!*((O hu`kPkbbo$j=A,6=tJ'*]F9>]tR.7li@V0g&$APJ?)L ro3qoqWc8!G>^X^/h]+K=F[F"kNC^EVdoc.rW!*((O hu`kPkbbo$j=A,6=tJ'*]F9>]tR.7li@V0g&$APJ?)L ro3qoqWc8!G>^X^/h]+K=F[F"kNC^EVdoc.rW!*((O huR:Z#sNC_n6PS0=W\^g$>mbGpoXJVks]$&t"qqh>_ rUf0u^Tj`6WO'LmkkG)Errhu8G5q[C!!EEIP1TQks*t~> huR:Z#sNC_n6PS0=W\^g$>mbGpoXJVks]$&t"qqh>_ rUf0u^Tj`6WO'LmkkG)Errhu8G5q[C!!EEIP1TQks*t~> huR:Z#sNC_n6PS0=W\^g$>mbGpoXJVks]$&t"qqh>_ rUf0u^Tj`6WO'LmkkG)Errhu8G5q[C!!EEIP1TQks*t~> hu('j^:!WirQq]Q\"/O3m4^t[/8Mf`H4>%Ml hu('j^:!WirQq]Q\"/O3m4^t[/8Mf`H4>%Ml hu('j^:!WirQq]Q\"/O3m4^t[/8Mf`H4>%Ml hu hu hu hu6!!NHME3eO"kPk_`m_t#E%]B@1$T;Ho/,B5M !AIfB`p3H^rs&Gme>@(I'D_\5*(bC[h"La;rrhu8G5q[C!!EEIP1TQks*t~> hu6!!NHME3eO"kPk_`m_t#E%]B@1$T;Ho/,B5M !AIfB`p3H^rs&Gme>@(I'D_\5*(bC[h"La;rrhu8G5q[C!!EEIP1TQks*t~> hu6!!NHME3eO"kPk_`m_t#E%]B@1$T;Ho/,B5M !AIfB`p3H^rs&Gme>@(I'D_\5*(bC[h"La;rrhu8G5q[C!!EEIP1TQks*t~> hu7V>pZ#*u4MM "WCU7d-pqqrs&Jqh6(cM#5A0&$TijLjS8`Frrhu8G5q[C!!EEIP1TQks*t~> hu7V>pZ#*u4MM "WCU7d-pqqrs&Jqh6(cM#5A0&$TijLjS8`Frrhu8G5q[C!!EEIP1TQks*t~> hu7V>pZ#*u4MM "WCU7d-pqqrs&Jqh6(cM#5A0&$TijLjS8`Frrhu8G5q[C!!EEIP1TQks*t~> hu hu hu hub]sIkPkYPa+QeM!!=E+,6e#G"T]W^T!l2^\-9FMR:Qm1rW!3) !*GDhWJ4=snc/bNH,At3rri&EQ;%n\!;urn!7q8H!;QWt!WrN+o)Jpu5)[MNrTF1`p"?$B%.sT( !uYmWiV hub]sIkPkYPa+QeM!!=E+,6e#G"T]W^T!l2^\-9FMR:Qm1rW!3) !*GDhWJ4=snc/bNH,At3rri&EQ;%n\!;urn!7q8H!;QWt!WrN+o)Jpu5)[MNrTF1`p"?$B%.sT( !uYmWiV hub]sIkPkYPa+QeM!!=E+,6e#G"T]W^T!l2^\-9FMR:Qm1rW!3) !*GDhWJ4=snc/bNH,At3rri&EQ;%n\!;urn!7q8H!;QWt!WrN+o)Jpu5)[MNrTF1`p"?$B%.sT( !uYmWiV hu2c3!]B^"9Bp3b37IC"mk?gJeeIf!!iT* EkC;^X(O$T!!=in^[1.`"SU9-8Ik=l!W`N0])VsE+XnQ;o)Jn hu2c3!]B^"9Bp3b37IC"mk?gJeeIf!!iT* EkC;^X(O$T!!=in^[1.`"SU9-8Ik=l!W`N0])VsE+XnQ;o)Jn hu2c3!]B^"9Bp3b37IC"mk?gJeeIf!!iT* EkC;^X(O$T!!=in^[1.`"SU9-8Ik=l!W`N0])VsE+XnQ;o)Jn hu@$M+6#),[-aqWRq^rp%4B2t?qN7#/qSo)AjbaEIUbrW!'(+Hk@QjSs`~> hu@$M+6#),[-aqWRq^rp%4B2t?qN7#/qSo)AjbaEIUbrW!'(+Hk@QjSs`~> hu@$M+6#),[-aqWRq^rp%4B2t?qN7#/qSo)AjbaEIUbrW!'(+Hk@QjSs`~> hu`A#p](I!(K,aG=8W%$!A0hsr7:lNq:(EB "TAB,!W[Vko^9_O5k4mW06YJ,kPk\[gS8'ho)K"<>`GPF>lXp)!!E?;E2UY0a90PrQ;@AX""&H! `r!g[_l\G[&+]c($o!gnq<7h]ro^b-0Cf)F3dns7o)AjbaEIUbrW!'(+Hk@QjSs`~> hu`A#p](I!(K,aG=8W%$!A0hsr7:lNq:(EB "TAB,!W[Vko^9_O5k4mW06YJ,kPk\[gS8'ho)K"<>`GPF>lXp)!!E?;E2UY0a90PrQ;@AX""&H! `r!g[_l\G[&+]c($o!gnq<7h]ro^b-0Cf)F3dns7o)AjbaEIUbrW!'(+Hk@QjSs`~> hu`A#p](I!(K,aG=8W%$!A0hsr7:lNq:(EB "TAB,!W[Vko^9_O5k4mW06YJ,kPk\[gS8'ho)K"<>`GPF>lXp)!!E?;E2UY0a90PrQ;@AX""&H! `r!g[_l\G[&+]c($o!gnq<7h]ro^b-0Cf)F3dns7o)AjbaEIUbrW!'(+Hk@QjSs`~> huqKg6CJ!!O$!K;tt_qu?j#/Y(Vof)GmKe;bCL rW!3*!.;u_o[B+$nc/bSL",eYrri2[ZuI#U!!b-)]%"B7!!3'!"U#d%bjP,Zo)nXG[pf.6">H7n naueO"n_0*P"ZJZ!!EEBJ]RTLrri>a[qdVe!!>6/_s[*q"SBcZ!!3'!"9]j1fD=S.J,~> huqKg6CJ!!O$!K;tt_qu?j#/Y(Vof)GmKe;bCL rW!3*!.;u_o[B+$nc/bSL",eYrri2[ZuI#U!!b-)]%"B7!!3'!"U#d%bjP,Zo)nXG[pf.6">H7n naueO"n_0*P"ZJZ!!EEBJ]RTLrri>a[qdVe!!>6/_s[*q"SBcZ!!3'!"9]j1fD=S.J,~> huqKg6CJ!!O$!K;tt_qu?j#/Y(Vof)GmKe;bCL rW!3*!.;u_o[B+$nc/bSL",eYrri2[ZuI#U!!b-)]%"B7!!3'!"U#d%bjP,Zo)nXG[pf.6">H7n naueO"n_0*P"ZJZ!!EEBJ]RTLrri>a[qdVe!!>6/_s[*q"SBcZ!!3'!"9]j1fD=S.J,~> hu$Nhu>$)"9JmO^\6mk"TIYuF>WOg"$hL[n+-J]oZ24V!WE'%"<`lZqW.[,~> hu$Nhu>$)"9JmO^\6mk"TIYuF>WOg"$hL[n+-J]oZ24V!WE'%"<`lZqW.[,~> hu$Nhu>$)"9JmO^\6mk"TIYuF>WOg"$hL[n+-J]oZ24V!WE'%"<`lZqW.[,~> hu7ukPkbcpu&Q'3Wf$U#mj(R_!(7/GlRmE!!EEFOk0B` rrVZ)B);Q11SEV'qu6fphl:6)o)Jmo"ED*Jkl1ebmDafDnc/beP0rjkrrhu8G5q[C!!EEIP1TQk s*t~> hu7ukPkbcpu&Q'3Wf$U#mj(R_!(7/GlRmE!!EEFOk0B` rrVZ)B);Q11SEV'qu6fphl:6)o)Jmo"ED*Jkl1ebmDafDnc/beP0rjkrrhu8G5q[C!!EEIP1TQk s*t~> hu7ukPkbcpu&Q'3Wf$U#mj(R_!(7/GlRmE!!EEFOk0B` rrVZ)B);Q11SEV'qu6fphl:6)o)Jmo"ED*Jkl1ebmDafDnc/beP0rjkrrhu8G5q[C!!EEIP1TQk s*t~> hu^a%"qDV(4%;p&:'Oup](Et!-?!Jjo5Sao[p'T0b+9^!"/lD3Hh^dp[cLP!!3'!"9]a- f)"/$!q3p:qZ$^ST\fYErri5`]6bps!!E<*Gf07 hu^a%"qDV(4%;p&:'Oup](Et!-?!Jjo5Sao[p'T0b+9^!"/lD3Hh^dp[cLP!!3'!"9]a- f)"/$!q3p:qZ$^ST\fYErri5`]6bps!!E<*Gf07 hu^a%"qDV(4%;p&:'Oup](Et!-?!Jjo5Sao[p'T0b+9^!"/lD3Hh^dp[cLP!!3'!"9]a- f)"/$!q3p:qZ$^ST\fYErri5`]6bps!!E<*Gf07 hu hu hu hu@!!WKYEN\-krpp'loZ24V!WE'%"<`lZqW.[,~> hu@!!WKYEN\-krpp'loZ24V!WE'%"<`lZqW.[,~> hu@!!WKYEN\-krpp'loZ24V!WE'%"<`lZqW.[,~> huuer:Ad_ W0;m^I>4)jaQ)sms8V`6GlRmE!!EEFOk0B`rrVZ)B);Q11SEV'qYpg"pY`H*6llF(!!EB huuer:Ad_ W0;m^I>4)jaQ)sms8V`6GlRmE!!EEFOk0B`rrVZ)B);Q11SEV'qYpg"pY`H*6llF(!!EB huuer:Ad_ W0;m^I>4)jaQ)sms8V`6GlRmE!!EEFOk0B`rrVZ)B);Q11SEV'qYpg"pY`H*6llF(!!EB hZ!cTfq;7i"L8"0)hZ?2f)GmKe;bCLrW!'&!.;u_rVm3'qsrn&aJ hZ!cTfq;7i"L8"0)hZ?2f)GmKe;bCLrW!'&!.;u_rVm3'qsrn&aJ hZ!cTfq;7i"L8"0)hZ?2f)GmKe;bCLrW!'&!.;u_rVm3'qsrn&aJ hZ!cYo@pX!5-b.j.A5Srf)GmKe;bCLrW!'&!.;u_qu6p"q=a-oJeS=d!!E?'Ia%KCrsSi'p[dkA mdTiCr;QZp"SBi^!!3'!"9]a-f)"/$!q3p:qZ$^ST\fYBrsSethnPS'@8THQ*s)AfG+f'`G(rrhu8G5q[C!!EEIP1TQks*t~> hZ!cYo@pX!5-b.j.A5Srf)GmKe;bCLrW!'&!.;u_qu6p"q=a-oJeS=d!!E?'Ia%KCrsSi'p[dkA mdTiCr;QZp"SBi^!!3'!"9]a-f)"/$!q3p:qZ$^ST\fYBrsSethnPS'@8THQ*s)AfG+f'`G(rrhu8G5q[C!!EEIP1TQks*t~> hZ!cYo@pX!5-b.j.A5Srf)GmKe;bCLrW!'&!.;u_qu6p"q=a-oJeS=d!!E?'Ia%KCrsSi'p[dkA mdTiCr;QZp"SBi^!!3'!"9]a-f)"/$!q3p:qZ$^ST\fYBrsSethnPS'@8THQ*s)AfG+f'`G(rrhu8G5q[C!!EEIP1TQks*t~> h#@TUkduC8+p>=S"=%HpoD[>@"SpQ-)$Kp="9JRNbOtZ1"SpQ+('OU:"9JRPbk9?_"SBi^!!3'! "9]a-f)"/$!q3p:qZ$^ST\fYArsSi#k0UW7R#>uR!Wi9#"9]L!e+r&(%f>_K_l]JnO-H h#@TUkduC8+p>=S"=%HpoD[>@"SpQ-)$Kp="9JRNbOtZ1"SpQ+('OU:"9JRPbk9?_"SBi^!!3'! "9]a-f)"/$!q3p:qZ$^ST\fYArsSi#k0UW7R#>uR!Wi9#"9]L!e+r&(%f>_K_l]JnO-H h#@TUkduC8+p>=S"=%HpoD[>@"SpQ-)$Kp="9JRNbOtZ1"SpQ+('OU:"9JRPbk9?_"SBi^!!3'! "9]a-f)"/$!q3p:qZ$^ST\fYArsSi#k0UW7R#>uR!Wi9#"9]L!e+r&(%f>_K_l]JnO-H g]%TVkeN6m;Fs;:*W#g>"XuZ.9[-3<9M7uI5<(YlCoH@mec,dJe;bCLrW!'&!.;u_q#:Kmdu5%F rW!'&!.N/bd/O7@b' g]%TVkeN6m;Fs;:*W#g>"XuZ.9[-3<9M7uI5<(YlCoH@mec,dJe;bCLrW!'&!.;u_q#:Kmdu5%F rW!'&!.N/bd/O7@b' g]%TVkeN6m;Fs;:*W#g>"XuZ.9[-3<9M7uI5<(YlCoH@mec,dJe;bCLrW!'&!.;u_q#:Kmdu5%F rW!'&!.N/bd/O7@b' g]%TZqX3+VZ)jaW:&Ftp!>]=6Y-H-R#HOM\Pc`6qq:,EIq:(EB"TAB(!W[Vkp%\Oiq9t9<"TAB( !W[\np!E^AoZDFZ!WE'%"$MhYm-I$3'o"q"O-nGl\!G!!EE?N77U]rr`8u q=jm]"8DZirp9XfoZ24V!WE'%"<`lZqW.[,~> g]%TZqX3+VZ)jaW:&Ftp!>]=6Y-H-R#HOM\Pc`6qq:,EIq:(EB"TAB(!W[Vkp%\Oiq9t9<"TAB( !W[\np!E^AoZDFZ!WE'%"$MhYm-I$3'o"q"O-nGl\!G!!EE?N77U]rr`8u q=jm]"8DZirp9XfoZ24V!WE'%"<`lZqW.[,~> g]%TZqX3+VZ)jaW:&Ftp!>]=6Y-H-R#HOM\Pc`6qq:,EIq:(EB"TAB(!W[Vkp%\Oiq9t9<"TAB( !W[\np!E^AoZDFZ!WE'%"$MhYm-I$3'o"q"O-nGl\!G!!EE?N77U]rr`8u q=jm]"8DZirp9XfoZ24V!WE'%"<`lZqW.[,~> g&DBXq=!J-fs>;k!WE'%![*<;j2pHgjPSYEjn/Q$rri/INYr!!!!E?'IE_E[rri2JN"uQq!!E?' J'I]6rri#;H2n!F!!EEFOk0B`rrVZ)B);Q11SEV'nG`Xbc$o]prW!'((6$`<_>aZ1aEIUbrW!'( +Hk@QjSs`~> g&DBXq=!J-fs>;k!WE'%![*<;j2pHgjPSYEjn/Q$rri/INYr!!!!E?'IE_E[rri2JN"uQq!!E?' J'I]6rri#;H2n!F!!EEFOk0B`rrVZ)B);Q11SEV'nG`Xbc$o]prW!'((6$`<_>aZ1aEIUbrW!'( +Hk@QjSs`~> g&DBXq=!J-fs>;k!WE'%![*<;j2pHgjPSYEjn/Q$rri/INYr!!!!E?'IE_E[rri2JN"uQq!!E?' J'I]6rri#;H2n!F!!EEFOk0B`rrVZ)B);Q11SEV'nG`Xbc$o]prW!'((6$`<_>aZ1aEIUbrW!'( +Hk@QjSs`~> eGf[B`c;%[rW!''-'m3\PlCm^e;bCLrW!*'!-c eGf[B`c;%[rW!''-'m3\PlCm^e;bCLrW!*'!-c eGf[B`c;%[rW!''-'m3\PlCm^e;bCLrW!*'!-c eGf[B`cD+\rW!''-'m6]PlCm^e;bCLrW!*&!+DP:b503`b/C/o%g)_1rrE42Tu"n"aT]i&T3_Ku rW!'(*KeqLg]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsFq8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;bCLrW!*&!+DP:b503`b/C/o%g)_1rrE42Tu"n"aT]i&T3_Ku rW!'(*KeqLg]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsFq8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;bCLrW!*&!+DP:b503`b/C/o%g)_1rrE42Tu"n"aT]i&T3_Ku rW!'(*KeqLg]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsFq8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;bCLqu?gX??:DfGQ`.u56V)c!!>2fF*Z2Y"*nro2Z*OX!u[3O qV2#On%`Q4!!>$MhYlsD"SKug! eGf[B`cD+\rW!''-'m6]PlCm^e;bCLqu?gX??:DfGQ`.u56V)c!!>2fF*Z2Y"*nro2Z*OX!u[3O qV2#On%`Q4!!>$MhYlsD"SKug! eGf[B`cD+\rW!''-'m6]PlCm^e;bCLqu?gX??:DfGQ`.u56V)c!!>2fF*Z2Y"*nro2Z*OX!u[3O qV2#On%`Q4!!>$MhYlsD"SKug! eGf[B`cD+\rW!''-'m6]PlCm^e;b@KWW3/&&rb<8g]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsF q8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;b@KWW3/&&rb<8g]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsF q8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;b@KWW3/&&rb<8g]%?D^h3HD"#HV,rUBgiouqmd!r`0&";ZsF q8*(6oZ24V!WE'%"<`lZqW.[,~> eGf[B`cD+\rW!''-'m6]PlCm^e;b=JqZ-6hp]/M=q>^U(K?O&ErrVZ)B);Q11SEV'nG`Xab^TWp rW!'((6$`<_>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm^e;b=JqZ-6hp]/M=q>^U(K?O&ErrVZ)B);Q11SEV'nG`Xab^TWp rW!'((6$`<_>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm^e;b=JqZ-6hp]/M=q>^U(K?O&ErrVZ)B);Q11SEV'nG`Xab^TWp rW!'((6$`<_>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm^e;bFMW;m#(Fhmb+rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm^e;bFMW;m#(Fhmb+rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm^e;bFMW;m#(Fhmb+rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm_fp*ffW;m#&FMRY*rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm_fp*ffW;m#&FMRY*rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm_fp*ffW;m#&FMRY*rrVZ)B);Q11SEV'nG`Xab^TWprW!'((6$`< _>aZ1aEIUbrW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm`jekT_W;m#/M9u(QrrVZ)B);Q11SN\(nG`Xbc$o`qrW!'((6$c= _>aZ1a`d^crW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm`jekT_W;m#/M9u(QrrVZ)B);Q11SN\(nG`Xbc$o`qrW!'((6$c= _>aZ1a`d^crW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCm`jekT_W;m#/M9u(QrrVZ)B);Q11SN\(nG`Xbc$o`qrW!'((6$c= _>aZ1a`d^crW!'(+Hk@QjSs`~> eGf[B`cD+\rW!''-'m6]PlCmbo>5W'r;Zj!"8)ct!s/5u! eGf[B`cD+\rW!''-'m6]PlCmbo>5W'r;Zj!"8)ct!s/5u! eGf[B`cD+\rW!''-'m6]PlCmbo>5W'r;Zj!"8)ct!s/5u! eGf[B`cD+\rW!''-'m6]PQ)$gi2Tj!"UGSQ)]g*s*X!Q*(CU?A!! eGf[B`cD+\rW!''-'m6]PQ)$gi2Tj!"UGSQ)]g*s*X!Q*(CU?A!! eGf[B`cD+\rW!''-'m6]PQ)$gi2Tj!"UGSQ)]g*s*X!Q*(CU?A!! eGf[B`cD+\rW!''-'m6]P5bg\hR]//I>*ZCp6#Q=GYSMFrW!'%!(M'hcB8HqNeDRuM6,(mg&D-B ^h3HD!uY6iO7887MfV;e!WE'%!=2DDNPU_YMK(r[!!EBEP1TQks*t~> eGf[B`cD+\rW!''-'m6]P5bg\hR]//I>*ZCp6#Q=GYSMFrW!'%!(M'hcB8HqNeDRuM6,(mg&D-B ^h3HD!uY6iO7887MfV;e!WE'%!=2DDNPU_YMK(r[!!EBEP1TQks*t~> eGf[B`cD+\rW!''-'m6]P5bg\hR]//I>*ZCp6#Q=GYSMFrW!'%!(M'hcB8HqNeDRuM6,(mg&D-B ^h3HD!uY6iO7887MfV;e!WE'%!=2DDNPU_YMK(r[!!EBEP1TQks*t~> eGf[B`cD+\rW!''-'m6]OoGX`o%qU2c-uC;"kV/,FV+`T!!NB'BrfP2cIN3Lbe_*Al2''4!q3p: qZ$[!%N+XT!ZVp]qZ$^!$Pj_u*ppKqW.[,~> eGf[B`cD+\rW!''-'m6]OoGX`o%qU2c-uC;"kV/,FV+`T!!NB'BrfP2cIN3Lbe_*Al2''4!q3p: qZ$[!%N+XT!ZVp]qZ$^!$Pj_u*ppKqW.[,~> eGf[B`cD+\rW!''-'m6]OoGX`o%qU2c-uC;"kV/,FV+`T!!NB'BrfP2cIN3Lbe_*Al2''4!q3p: qZ$[!%N+XT!ZVp]qZ$^!$Pj_u*ppKqW.[,~> eGf[B`cD+\rW!''-'m6]OT,I^qt^$_p%ejhoZr@0"TAB)!W[Vhnb^T-"o7rgq>C6ErrVZ)B)2K. !<_`m! eGf[B`cD+\rW!''-'m6]OT,I^qt^$_p%ejhoZr@0"TAB)!W[Vhnb^T-"o7rgq>C6ErrVZ)B)2K. !<_`m! eGf[B`cD+\rW!''-'m6]OT,I^qt^$_p%ejhoZr@0"TAB)!W[Vhnb^T-"o7rgq>C6ErrVZ)B)2K. !<_`m! eGf[B`cD+\rW!''-'m6]JcG`L"SpQ+('OU:"9JRQc1[_.!q3p:O8o@iH,TL=s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpQ+('OU:"9JRQc1[_.!q3p:O8o@iH,TL=s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpQ+('OU:"9JRQc1[_.!q3p:O8o@iH,TL=s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,!q=-CO8o@fFMR\4s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,!q=-CO8o@fFMR\4s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,!q=-CO8o@fFMR\4s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"8're,EVs.&;/1%jSs`~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"8're,EVs.&;/1%jSs`~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"8're,EVs.&;/1%jSs`~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"o@8L:B^du!9sU[!4r:1!!E]aUuhO8 s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"o@8L:B^du!9sU[!4r:1!!E]aUuhO8 s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"o@8L:B^du!9sU[!4r:1!!E]aUuhO8 s*t~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"TJ#3JKp?Y">4o?p\s7RJ,~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"TJ#3JKp?Y">4o?p\s7RJ,~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7P,"TJ#3JKp?Y">4o?p\s7RJ,~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7M+#lNo&PBU\REHghr"+#&s3W&j\! eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7M+#lNo&PBU\REHghr"+#&s3W&j\! eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7M+#lNo&PBU\REHghr"+#&s3W&j\! eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7J*#Q=>UagemuaR.+Q_P(H?!WE'%!Y9.G `4jA!`kARZ_r::fir=N~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7J*#Q=>UagemuaR.+Q_P(H?!WE'%!Y9.G `4jA!`kARZ_r::fir=N~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7J*#Q=>UagemuaR.+Q_P(H?!WE'%!Y9.G `4jA!`kARZ_r::fir=N~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7G)"oeAjnF6#9oEFpR_g)7arW!*('o'm! otU,'oC;; eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7G)"oeAjnF6#9oEFpR_g)7arW!*('o'm! otU,'oC;; eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk7G)"oeAjnF6#9oEFpR_g)7arW!*('o'm! otU,'oC;; eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5qc$o`qrW!'((6$c>QiDR~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5qc$o`qrW!'((6$c>QiDR~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5qc$o`qrW!'((6$c>QiDR~> eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*('OU:"9JRPbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*)$U!>"9JdWbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*)$U!>"9JdWbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpN*)$U!>"9JdWbk6Pes8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpQ.,7"2J"9]KlcLuhhs8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpQ.,7"2J"9]KlcLuhhs8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"SpQ.,7"2J"9]KlcLuhhs8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T$l@2%KTc":$H9eb=Xps8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T$l@2%KTc":$H9eb=Xps8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T$l@2%KTc":$H9eb=Xps8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T7Je=rRA?":e;)jSFH-s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T7Je=rRA?":e;)jSFH-s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"T7Je=rRA?":e;)jSFH-s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"TJ,=LckY:">PDDoDO7?s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"TJ,=LckY:">PDDoDO7?s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG`L"TJ,=LckY:">PDDoDO7?s8N5pb^TWprW!'((6$` eGf[B`cD+\rW!''-'m6]JcG]K$N9/!GYL7lEO+U%JcG`L"SKug! eGf[B`cD+\rW!''-'m6]JcG]K$N9/!GYL7lEO+U%JcG`L"SKug! eGf[B`cD+\rW!''-'m6]JcG]K$N9/!GYL7lEO+U%JcG`L"SKug! eGf[B`cD+\rW!''-'m6]JcGZJ#l3f8] eGf[B`cD+\rW!''-'m6]JcGZJ#l3f8] eGf[B`cD+\rW!''-'m6]JcGZJ#l3f8] eGf[B`cD+\rW!'(.$iQ`JcGWI#6+DakNhmAJcGZJ"SKug! eGf[B`cD+\rW!'(.$iQ`JcGWI#6+DakNhmAJcGZJ"SKug! eGf[B`cD+\rW!'(.$iQ`JcGWI#6+DakNhmAJcGZJ"SKug! eGf[CaEJ*qrW!'-0Ug_mJcGQGrr.KKqYp]kb^TWprW!'((6$` eGf[CaEJ*qrW!'-0Ug_mJcGQGrr.KKqYp]kb^TWprW!'((6$` eGf[CaEJ*qrW!'-0Ug_mJcGQGrr.KKqYp]kb^TWprW!'((6$` eGf[Ed=WhLrW!'86`&c>JcC<$n,EO`b^TWprW!'((6$` eGf[Ed=WhLrW!'86`&c>JcC<$n,EO`b^TWprW!'((6$` eGf[Ed=WhLrW!'86`&c>JcC<$n,EO`b^TWprW!'((6$` eGf[IigrmKrW!'JBY eGf[IigrmKrW!'JBY eGf[IigrmKrW!'JBY eGf[Mo"fc+rW!'oQIbm2JcC<$n,EO`b^TfurW!'))3!&?QiDR~> eGf[Mo"fc+rW!'oQIbm2JcC<$n,EO`b^TfurW!'))3!&?QiDR~> eGf[Mo"fc+rW!'oQIbm2JcC<$n,EO`b^TfurW!'))3!&?QiDR~> e,KaOiNmc2:LT1$m=G:gs6]ghp e,KaOiNmc2:LT1$m=G:gs6]ghp e,KaOiNmc2:LT1$m=G:gs6]ghp e,KaRq e,KaRq e,KaRq dJjCLq!RM=qLSZts6K[fqW+JM%fQG2)HsB0r0RG6~> dJjCLq!RM=qLSZts6K[fqW+JM%fQG2)HsB0r0RG6~> dJjCLq!RM=qLSZts6K[fqW+JM%fQG2)HsB0r0RG6~> JcC<$[JpC.o>H/7rW!'aM9P\mQiDR~> JcC<$[JpC.o>H/7rW!'aM9P\mQiDR~> JcC<$[JpC.o>H/7rW!'aM9P\mQiDR~> JcC<$[/UL2ij3Yu4\g:7kP^_HJ,~> JcC<$[/UL2ij3Yu4\g:7kP^_HJ,~> JcC<$[/UL2ij3Yu4\g:7kP^_HJ,~> JcC<$Zi:=+l-[&H][Z9CQ2c@~> JcC<$Zi:=+l-[&H][Z9CQ2c@~> JcC<$Zi:=+l-[&H][Z9CQ2c@~> JcC<$ZMt..pZq#0q#6NXJ,~> JcC<$ZMt..pZq#0q#6NXJ,~> JcC<$ZMt..pZq#0q#6NXJ,~> JcC<$YlF_%P5g%~> JcC<$YlF_%P5g%~> JcC<$YlF_%P5g%~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> JcC<$JcEIaJ,~> %%EndData showpage %%Trailer end %%EOF %%EndDocument end PEND 1.106 (In C this is easy to implement as you can \214nd a memory address v)111 303.2 R 1.105(ery easily with '&' to \214nd)-.15 F .168 (where a bit of data is stored. I will need to use a ')111 315.2 R .168 (struct', which is a bit lik)-.55 F 2.669(eac)-.1 G .169(lass in C \(ho) -2.669 F(we)-.25 E -.15(ve)-.25 G(r).15 E(you can')111 327.2 Q 2.5(ta) -.18 G(ttach a function to it\). A simple implementation looks lik)-2.5 E 2.5(et)-.1 G(his:)-2.5 E(typedef struct ll {)111 351.2 Q -.2(vo)136 375.2 S(id *data; // the data of the node).2 E(ll *ne)136 399.2 Q (xt; // the ne)-.15 E(xt node)-.15 E 2.5(}l)111 423.2 S(l;)-2.5 E .623 (The pro')111 447.2 R 3.123(so)-.55 G 3.123(fal)-3.123 G(ink)-3.123 E .623(ed list are the f)-.1 F .623(act that the)-.1 F 3.122(yc)-.15 G .622(an ha)-3.122 F .922 -.15(ve d)-.2 H .622 (ata appended to the start or end easily).15 F (by changing the root node, or the ne)111 459.2 Q(xt node.)-.15 E(Link) 111 483.2 Q 1.117(ed lists ha)-.1 F 1.417 -.15(ve a f)-.2 H 1.617 -.25 (ew d).15 H -.25(ow).25 G 1.117(nsides, for e).25 F 1.117 (xample you can')-.15 F 3.617(tm)-.18 G 1.417 -.15(ove t)-3.617 H 1.117 (hrough them backw).15 F 1.118(ards, and)-.1 F (unless you store it on its o)111 495.2 Q (wn, you cant \214nd the length of it in a f)-.25 E(ast w)-.1 E(ay)-.1 E (.)-.65 E .476(In my project I w)111 519.2 R .476(ould lik)-.1 F 2.976 (et)-.1 G 2.976(ou)-2.976 G .476(se link)-2.976 F .475 (ed list in the AST \(see later sections for info\), and to store)-.1 F (lists in the language.)111 531.2 Q F1 2.5(2.8.2. Dictionaries)111 555.2 R F0 3.511(Ad)111 570.8 S 1.011(ictionary is a simple data structure th\ at just stores, a bit of data, and a number or string to)-3.511 F (identify it.)111 582.8 Q 2.5(Ad)5 G(ictionary lik)-2.5 E 2.5(eal)-.1 G (ink)-2.5 E(ed list can be implemented with a struct in c lik)-.1 E 2.5 (es)-.1 G(o:)-2.5 E(typedef struct dict {)111 606.8 Q -.2(vo)136 630.8 S (id *data; // the data of the dict).2 E(int id; // the id of the dict) 136 654.8 Q 2.5(}d)111 678.8 S(ict;)-2.5 E .462 (In my project I think I could use a link)111 702.8 R .461 (ed list represent a zipp)-.1 F 2.961(yv)-.1 G .461 (ariable and an ID that i can use)-3.211 F (to identify it, this could mak)111 714.8 Q 2.5(ee)-.1 G -.15(xe)-2.65 G (cution f).15 E(aster as i can compare ID')-.1 E 2.5(sr)-.55 G (ather than string v)-2.5 E(alues)-.25 E 0 Cg EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-7-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5 (2.9. Pr)111 84 R(ototyping hard featur)-.18 E(es)-.18 E 2.5 (2.9.1. Abstract)111 108 R(Syntax T)2.5 E -.18(re)-.74 G (es \(AST\) theory).18 E F0 .69(In a programming language man)111 123.6 R 3.19(ya)-.15 G .691(bstract data types will be used to allo)-3.19 F 3.191(wt)-.25 G .691(he code to e)-3.191 F -.15(xe)-.15 G(cute,).15 E (ho)111 135.6 Q(we)-.25 E -.15(ve)-.25 G 3.698(rIt).15 G 1.197(hink the\ hardest part of this is an abstract syntax tree. This is a data struct\ ure that)-3.698 F .376 (holds the code in an ordered form that can be analysed and e)111 147.6 R -.15(xe)-.15 G .377(cuted in a simple w).15 F(ay)-.1 E 2.877(.I)-.65 G 2.877(ti)-2.877 G 2.877(sat)-2.877 G(ree)-2.877 E .247 (structure, with the top node being a root and all lo)111 159.6 R .247 (wer nodes being things needed to calculate the)-.25 F .824 (root. It can be used not only for code b)111 171.6 R .825 (ut also for mathematical e)-.2 F .825(xpressions. I think the easiest) -.15 F -.1(wa)111 183.6 S 2.5(yt).1 G 2.5(os)-2.5 G(ho)-2.5 E 2.5(wi) -.25 G 2.5(ti)-2.5 G 2.5(sv)-2.5 G(ia a mathematical e)-2.5 E(xample) -.15 E -.8(Ta)111 207.6 S .2 -.1(ke t).8 H(he follo).1 E 2.5(we)-.25 G (xpression for e)-2.65 E(xample:)-.15 E (\(1 + \(10 * \(3 - \(2 * 4\)\)\)\))111 231.6 Q 1.6 -.8(We k)111 255.6 T (no).8 E 2.5(wt)-.25 G(hat this is equal to -49)-2.5 E(Ho)111 279.6 Q (we)-.25 E -.15(ve)-.25 G 2.917(rf).15 G .417(or a computer this is f) -2.917 F .416 (ar harder to understand. This is because it has no understanding)-.1 F (of order of operation)111 291.6 Q 1.6 -.8(To s)111 315.6 T(olv).8 E 2.5 (et)-.15 G(his we use an AST \(abstract syntax tree\))-2.5 E .187 (When you solv)111 339.6 R 2.687(et)-.15 G .187(hat e)-2.687 F .187 (xpression you kno)-.15 F 2.687(wt)-.25 G 2.687(os)-2.687 G .187 (tart with \(2 * 4\), then 3 - the answer to that and so)-2.687 F(on)111 351.6 Q 1.6 -.8(We c)111 375.6 T(an represent the steps as a tree lik).8 E 2.5(es)-.1 G(o:)-2.5 E 14 14 50 50 -87 87 281 486.6 PBEGIN %%BeginDocument: ast.ps %!PS-Adobe-3.0 %%Creator: GIMP PostScript file plug-in V 1.17 by Peter Kirchgessner %%Title: ast.ps %%CreationDate: Thu May 9 12:46:17 2024 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 64 101 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228346456694 14.173228346456694 translate % Translate to begin of first scanline 0 86.399999999999991 translate 49.439999999999998 -86.399999999999991 scale % Image geometry 206 360 8 % Transformation matrix [ 206 0 0 360 0 0 ] % Strings to hold RGB-samples per scanline /rstr 206 string def /gstr 206 string def /bstr 206 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 23708 ASCII Bytes colorimage JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> XoAHt`;TQ4!9O1[!9O(W!r^'4T`9N~> XoAHt`;TQ4!9O1[!9O(W!r^'4T`9N~> XoAHt`;TQ4!9O1[!9O(W!r^'4T`9N~> Y5\X^!!%0%qu6ZXrVur[qu6fZFT;F!U&TW~> Y5\X^!!%0%qu6ZXrVur[qu6fZFT;F!U&TW~> Y5\X^!!%0%qu6ZXrVur[qu6fZFT;F!U&TW~> YQ"Y&F8c.@%B&purrD0[!!)-ZrrVnl%K6>.FoJ-8J,~> YQ"Y&F8c.@%B&purrD0[!!)-ZrrVnl%K6>.FoJ-8J,~> YQ"Y&F8c.@%B&purrD0[!!)-ZrrVnl%K6>.FoJ-8J,~> YQ"\'b#SB?!DUi YQ"\'b#SB?!DUi YQ"\'b#SB?!DUi XoAJ!]0#rk",#n=jo,5^jo=Uur;Zm\]DA3#J,~> XoAJ!]0#rk",#n=jo,5^jo=Uur;Zm\]DA3#J,~> XoAJ!]0#rk",#n=jo,5^jo=Uur;Zm\]DA3#J,~> X8`7nWZ;! X8`7nWZ;! X8`7nWZ;! WW*"dQMgd`48o3[48f-[QL14BJ,~> WW*"dQMgd`48o3[48f-[QL14BJ,~> WW*"dQMgd`48o3[48f-[QL14BJ,~> VuHeWJG9*FJE!$tJ,~> VuHeWJG9*FJE!$tJ,~> VuHeWJG9*FJE!$tJ,~> V>gSHB`%i2B[rLMJ,~> V>gSHB`%i2B[rLMJ,~> V>gSHB`%i2B[rLMJ,~> V>gSIC&@r3C"A[OJ,~> V>gSIC&@r3C"A[OJ,~> V>gSIC&@r3C"A[OJ,~> VuHeYK(o VuHeYK(o VuHeYK(o WW*"eRf*3d48o3[48f-[RdQ^GJ,~> WW*"eRf*3d48o3[48f-[RdQ^GJ,~> WW*"eRf*3d48o3[48f-[RdQ^GJ,~> X8`7pXsX,J![=r,rW!#VZ6K8J![b)DT)X<~> X8`7pXsX,J![=r,rW!#VZ6K8J![b)DT)X<~> X8`7pXsX,J![=r,rW!#VZ6K8J![b)DT)X<~> XoAJ"^d@u"",#n=jo,5^jo=Uur;Zmc_#'f)J,~> XoAJ"^d@u"",#n=jo,5^jo=Uur;Zmc_#'f)J,~> XoAJ"^d@u"",#n=jo,5^jo=Uur;Zmc_#'f)J,~> YQ"\'cX$JL!DUi YQ"\'cX$JL!DUi YQ"\'cX$JL!DUi YQ"Y%E;fh=%ArjtrrD0[!!)-ZrrVnk%K6>.EW)X3J,~> YQ"Y%E;fh=%ArjtrrD0[!!)-ZrrVnk%K6>.EW)X3J,~> YQ"Y%E;fh=%ArjtrrD0[!!)-ZrrVnk%K6>.EW)X3J,~> Y5\X]!!%0%qu6ZXrVur[qu6fZFT;EuU&TW~> Y5\X]!!%0%qu6ZXrVur[qu6fZFT;EuU&TW~> Y5\X]!!%0%qu6ZXrVur[qu6fZFT;EuU&TW~> XoAHs_u9H3!9O1[!9O(W!r^$3T`9N~> XoAHs_u9H3!9O1[!9O(W!r^$3T`9N~> XoAHs_u9H3!9O1[!9O(W!r^$3T`9N~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> U]1>UrVur[QN)I~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> `W#q\r;ZhW`W#pTr;ZiP\,Us~> `W#q\r;ZhW`W#pTr;ZiP\,Us~> `W#q\r;ZhW`W#pTr;ZiP\,Us~> `W#q#r;Zi=`W#qGr;Zhs\,Us~> `W#q#r;Zi=`W#qGr;Zhs\,Us~> `W#q#r;Zi=`W#qGr;Zhs\,Us~> `r?)80)YbMn\tM.jS]&Y `r?)80)YbMn\tM.jS]&Y `r?)80)YbMn\tM.jS]&Y `r?%hr;ZhC`;]l;;uH[rjgb>@~> `r?%hr;ZhC`;]l;;uH[rjgb>@~> `r?%hr;ZhC`;]l;;uH[rjgb>@~> `r?%4r;Zi1_uB_7r;Zi+\Gq'~> `r?%4r;Zi1_uB_7r;Zi+\Gq'~> `r?%4r;Zi1_uB_7r;Zi+\Gq'~> a8Z2=8c8Vhl,3N$gAM!OE4Gpu~> a8Z2=8c8Vhl,3N$gAM!OE4Gpu~> a8Z2=8c8Vhl,3N$gAM!OE4Gpu~> a8Z.sr;Zh*_Z'Z63;igWm^`@J~> a8Z.sr;Zh*_Z'Z63;igWm^`@J~> a8Z.sr;Zh*_Z'Z63;igWm^`@J~> a8Z.Cr;Zi$_>aM&r;Zi8\c70~> a8Z.Cr;Zi$_>aM&r;Zi8\c70~> a8Z.Cr;Zi$_>aM&r;Zi8\c70~> a8Z-Lr;ZiT_>aM]r;ZhO\c70~> a8Z-Lr;ZiT_>aM]r;ZhO\c70~> a8Z-Lr;ZiT_>aM]r;ZhO\c70~> aSu8)r;ZjgrPAL7p)O&3!>bC?s*t~> aSu8)r;ZjgrPAL7p)O&3!>bC?s*t~> aSu8)r;ZjgrPAL7p)O&3!>bC?s*t~> aSu7Rr;Zhj^]+:gr;ZiC])R9~> aSu7Rr;Zhj^]+:gr;ZiC])R9~> aSu7Rr;Zhj^]+:gr;ZiC])R9~> aSu6dr;ZiJ^]+;Pr;Zha])R9~> aSu6dr;ZiJ^]+;Pr;Zha])R9~> aSu6dr;ZiJ^]+;Pr;Zha])R9~> ao;A3r;ZjJq7lq0mem+d2>b#cJ,~> ao;A3r;ZjJq7lq0mem+d2>b#cJ,~> ao;A3r;ZjJq7lq0mem+d2>b#cJ,~> ao;@^r;ZhZ^&J(Pr;ZiN]DmB~> ao;@^r;ZhZ^&J(Pr;ZiN]DmB~> ao;@^r;ZhZ^&J(Pr;ZiN]DmB~> ao;@$r;Zi?^&J)Ar;Zhq]DmB~> ao;@$r;Zi?^&J)Ar;Zhq]DmB~> ao;@$r;Zi?^&J)Ar;Zhq]DmB~> b5VM;-N3uG%J.:5!9O.Z!E&j/s*t~> b5VM;-N3uG%J.:5!9O.Z!E&j/s*t~> b5VM;-N3uG%J.:5!9O.Z!E&j/s*t~> b5VIjr;ZhG]Dhk5r;ZiX]`3K~> b5VIjr;ZhG]Dhk5r;ZiX]`3K~> b5VIjr;ZhG]Dhk5r;ZiX]`3K~> b5VI5r;Zi3]Dhl2r;Zi)]`3K~> b5VI5r;Zi3]Dhl2r;Zi)]`3K~> b5VI5r;Zi3]Dhl2r;Zi)]`3K~> bPqVA6N$lalb!/sh#.3QC:sRs~> bPqVA6N$lalb!/sh#.3QC:sRs~> bPqVA6N$lalb!/sh#.3QC:sRs~> bPqRur;Zh0])Mg/4oG?\m(NFL~> bPqRur;Zh0])Mg/4oG?\m(NFL~> bPqRur;Zh0])Mg/4oG?\m(NFL~> bPqREr;Zi'\c2Z!r;Zi5^&NT~> bPqREr;Zi'\c2Z!r;Zi5^&NT~> bPqREr;Zi'\c2Z!r;Zi5^&NT~> bPqQJr;ZiV\c2ZWr;ZhK^&NT~> bPqQJr;ZiV\c2ZWr;ZhK^&NT~> bPqQJr;ZiV\c2ZWr;ZhK^&NT~> bl7\+r;Zjkrji%0pEKS:!=e\8s*t~> bl7\+r;Zjkrji%0pEKS:!=e\8s*t~> bl7\+r;Zjkrji%0pEKS:!=e\8s*t~> bl7[Sr;Zhm\,QGcr;ZiA^Ai]~> bl7[Sr;Zhm\,QGcr;ZiA^Ai]~> bl7[Sr;Zhm\,QGcr;ZiA^Ai]~> bl7Zdr;ZiL\,QHJr;Zh^^Ai]~> bl7Zdr;ZiL\,QHJr;Zh^^Ai]~> bl7Zdr;ZiL\,QHJr;Zh^^Ai]~> c2Re5r;ZjRqR?J)nGN=f1A\ccJ,~> c2Re5r;ZjRqR?J)nGN=f1A\ccJ,~> c2Re5r;ZjRqR?J)nGN=f1A\ccJ,~> c2Rd`r;Zh^[Jp5Mr;ZiL^]/f~> c2Rd`r;Zh^[Jp5Mr;ZiL^]/f~> c2Rd`r;Zh^[Jp5Mr;ZiL^]/f~> c2Rd$r;ZiA[Jp6 c2Rd$r;ZiA[Jp6 c2Rd$r;ZiA[Jp6 cMmq>,5qQC%J7(.!9a:\!DWR/s*t~> cMmq>,5qQC%J7(.!9a:\!DWR/s*t~> cMmq>,5qQC%J7(.!9a:\!DWR/s*t~> cMmmlr;ZhKZi:#2r;ZiV_#Jo~> cMmmlr;ZhKZi:#2r;ZiV_#Jo~> cMmmlr;ZhKZi:#2r;ZiV_#Jo~> cMmm6r;Zi5Zi:$-r;Zi'_#Jo~> cMmm6r;Zi5Zi:$-r;Zi'_#Jo~> cMmm6r;Zi5Zi:$-r;Zi'_#Jo~> ci4%D4oG?\m'H]lh>I ci4%D4oG?\m'H]lh>I ci4%D4oG?\m'H]lh>I ci4"#r;Zh4ZMst(6N$lalbWUO~> ci4"#r;Zh4ZMst(6N$lalbWUO~> ci4"#r;Zh4ZMst(6N$lalbWUO~> ci4!Fr;Zi)Z2Xfqr;Zi3_>f#~> ci4!Fr;Zi)Z2Xfqr;Zi3_>f#~> ci4!Fr;Zi)Z2Xfqr;Zi3_>f#~> ci3uIr;ZiXZ2XgQr;ZhG_>f#~> ci3uIr;ZiXZ2XgQr;ZhG_>f#~> ci3uIr;ZiXZ2XgQr;ZhG_>f#~> d/O+-r;ZjqriuJ(pa5t?!=eY;s*t~> d/O+-r;ZjqriuJ(pa5t?!=eY;s*t~> d/O+-r;ZjqriuJ(pa5t?!=eY;s*t~> d/O*Tr;ZhqYQ"T_r;Zi?_Z,,~> d/O*Tr;ZhqYQ"T_r;Zi?_Z,,~> d/O*Tr;ZhqYQ"T_r;Zi?_Z,,~> d/O)cr;ZiNYQ"UDr;ZhZ_Z,,~> d/O)cr;ZiNYQ"UDr;ZhZ_Z,,~> d/O)cr;ZiNYQ"UDr;ZhZ_Z,,~> dJj47r;ZjUqlg#"o)/Oh.f%!^J,~> dJj47r;ZjUqlg#"o)/Oh.f%!^J,~> dJj47r;ZjUqlg#"o)/Oh.f%!^J,~> dJj3br;ZhaXoABIr;ZiJ_uG5~> dJj3br;ZhaXoABIr;ZiJ_uG5~> dJj3br;ZhaXoABIr;ZiJ_uG5~> dJj3$r;ZiCXoAC7r;Zhj_uG5~> dJj3$r;ZiCXoAC7r;Zhj_uG5~> dJj3$r;ZiCXoAC7r;Zhj_uG5~> df0@A*<#p=(A=m1!9sF^!D!+,s*t~> df0@A*<#p=(A=m1!9sF^!D!+,s*t~> df0@A*<#p=(A=m1!9sF^!D!+,s*t~> df0~> df0~> df0~> df0<7r;Zi8X8`1'r;Zi$`;b>~> df0<7r;Zi8X8`1'r;Zi$`;b>~> df0<7r;Zi8X8`1'r;Zi$`;b>~> e,KIG3;igWm]6?fhu*NT@)W(q~> e,KIG3;igWm]6?fhu*NT@)W(q~> e,KIG3;igWm]6?fhu*NT@)W(q~> e,KF%r;Zh:WrE+u8c8Vhl,E[Q~> e,KF%r;Zh:WrE+u8c8Vhl,E[Q~> e,KF%r;Zh:WrE+u8c8Vhl,E[Q~> e,KEGr;Zi+WW)slr;Zi1`W(G~> e,KEGr;Zi+WW)slr;Zi1`W(G~> e,KEGr;Zi+WW)slr;Zi1`W(G~> eGfRK;uH[rjf/7[eboIJH,]f6~> eGfRK;uH[rjf/7[eboIJH,]f6~> eGfRK;uH[rjf/7[eboIJH,]f6~> eGfO0r;ZguW;cno0)YbMn](TZ~> eGfO0r;ZguW;cno0)YbMn](TZ~> eGfO0r;ZguW;cno0)YbMn](TZ~> eGfNVr;ZhsVuHaZr;Zi=`rCP~> eGfNVr;ZhsVuHaZr;Zi=`rCP~> eGfNVr;ZhsVuHaZr;Zi=`rCP~> eGfMcr;ZiPVuHb>r;ZhV`rCP~> eGfMcr;ZiPVuHb>r;ZhV`rCP~> eGfMcr;ZiPVuHb>r;ZhV`rCP~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> iVsARc`i7@9d3#9H(W.>rdk+.s*t~> iVsARc`i7@9d3#9H(W.>rdk+.s*t~> iVsARc`i7@9d3#9H(W.>rdk+.s*t~> jo5G\f;N'K!!6cMpOWA)s*t~> jo5G\f;N'K!!6cMpOWA)s*t~> jo5G\f;N'K!!6cMpOWA)s*t~> kPkVDWCQCW!CtOgs5a31~> kPkVDWCQCW!CtOgs5a31~> kPkVDWCQCW!CtOgs5a31~> kl1YMl2UjRqLS\/s*t~> kl1YMl2UjRqLS\/s*t~> kl1YMl2UjRqLS\/s*t~> kl1YMkl:a9qgne1s*t~> kl1YMkl:a9qgne1s*t~> kl1YMkl:a9qgne1s*t~> kl1YMqZ%!DHEbuaoDJCOe"\Dh!!&O?s6'E4~> kl1YMqZ%!DHEbuaoDJCOe"\Dh!!&O?s6'E4~> kl1YMqZ%!DHEbuaoDJCOe"\Dh!!&O?s6'E4~> kl1YMr;ZnLbP(]1!V;]T!!(N"s60K5~> kl1YMr;ZnLbP(]1!V;]T!!(N"s60K5~> kl1YMr;ZnLbP(]1!V;]T!!(N"s60K5~> kl1eQ!$%Wpo)A^%qZ$Y1ri#hsYl+P%\]Ff$~> kl1eQ!$%Wpo)A^%qZ$Y1ri#hsYl+P%\]Ff$~> kl1eQ!$%Wpo)A^%qZ$Y1ri#hsYl+P%\]Ff$~> kl1_PT'l(I!2]Pm!8XUR!3lD%!4g2NJ,~> kl1_PT'l(I!2]Pm!8XUR!3lD%!4g2NJ,~> kl1_PT'l(I!2]Pm!8XUR!3lD%!4g2NJ,~> e,KIB8,N>eYGhI$Yl+P%\]Ff$~> e,KIB8,N>eYGhI$Yl+P%\]Ff$~> e,KIB8,N>eYGhI$Yl+P%\]Ff$~> df0 df0 df0 df0=!qu?^mW;ck%r;Zi.aT$b~> df0=!qu?^mW;ck%r;Zi.aT$b~> df0=!qu?^mW;ck%r;Zi.aT$b~> df0=0qu?^DW;ck%r;Zi.aT$b~> df0=0qu?^DW;ck%r;Zi.aT$b~> df0=0qu?^DW;ck%r;Zi.aT$b~> df0=6qu?^LW;ck%r;Zi.aT$b~> df0=6qu?^LW;ck%r;Zi.aT$b~> df0=6qu?^LW;ck%r;Zi.aT$b~> df0=*qu?_!W;ck%r;Zi.aT$b~> df0=*qu?_!W;ck%r;Zi.aT$b~> df0=*qu?_!W;ck%r;Zi.aT$b~> df0 df0 df0 df0;uqu?`*W;ck%r;Zi.aT$b~> df0;uqu?`*W;ck%r;Zi.aT$b~> df0;uqu?`*W;ck%r;Zi.aT$b~> e,KF2qZ$WXW;ck%r;Zi.aT$b~> e,KF2qZ$WXW;ck%r;Zi.aT$b~> e,KF2qZ$WXW;ck%r;Zi.aT$b~> e,KE+qu?_ e,KE+qu?_ e,KE+qu?_ eGfNqqZ$WHVuHb$r;Zi.aT$b~> eGfNqqZ$WHVuHb$r;Zi.aT$b~> eGfNqqZ$WHVuHb$r;Zi.aT$b~> ec,[=7Jm,cL8OtNYl+P%\]Ff$~> ec,[=7Jm,cL8OtNYl+P%\]Ff$~> ec,[=7Jm,cL8OtNYl+P%\]Ff$~> f)GdJH2IXC2=7:@!3lD%!4g2NJ,~> f)GdJH2IXC2=7:@!3lD%!4g2NJ,~> f)GdJH2IXC2=7:@!3lD%!4g2NJ,~> f)G`?qZ$W=V>gP"r;Zi.aT$b~> f)G`?qZ$W=V>gP"r;Zi.aT$b~> f)G`?qZ$W=V>gP"r;Zi.aT$b~> fDbiZqZ$VgV#LG!r;Zi.aT$b~> fDbiZqZ$VgV#LG!r;Zi.aT$b~> fDbiZqZ$VgV#LG!r;Zi.aT$b~> f`(rjqZ$YHqR->'`S1@mce8>K~> f`(rjqZ$YHqR->'`S1@mce8>K~> f`(rjqZ$YHqR->'`S1@mce8>K~> g&D)u%K$2,Eqcs@!6*[m!70?uJ,~> g&D)u%K$2,Eqcs@!6*[m!70?uJ,~> g&D)u%K$2,Eqcs@!6*[m!70?uJ,~> gA_3'(An.5C%Sb3!6*[m!70?uJ,~> gA_3'(An.5C%Sb3!6*[m!70?uJ,~> gA_3'(An.5C%Sb3!6*[m!70?uJ,~> g]%<,,5_EA@.CQ&!6*[m!70?uJ,~> g]%<,,5_EA@.CQ&!6*[m!70?uJ,~> g]%<,,5_EA@.CQ&!6*[m!70?uJ,~> h#@E0.f98I>48`r!6*[m!70?uJ,~> h#@E0.f98I>48`r!6*[m!70?uJ,~> h#@E0.f98I>48`r!6*[m!70?uJ,~> h>[N41Ah+Q;sg4W!3lD%!4g2NJ,~> h>[N41Ah+Q;sg4W!3lD%!4g2NJ,~> h>[N41Ah+Q;sg4W!3lD%!4g2NJ,~> hZ!W72>dFT9Br,K!3lD%!4g2NJ,~> hZ!W72>dFT9Br,K!3lD%!4g2NJ,~> hZ!W72>dFT9Br,K!3lD%!4g2NJ,~> hu<`:48]'Z7H^6A!3lD%!4g2NJ,~> hu<`:48]'Z7H^6A!3lD%!4g2NJ,~> hu<`:48]'Z7H^6A!3lD%!4g2NJ,~> i;Wi=4o>9\5inO9!3lD%!4g2NJ,~> i;Wi=4o>9\5inO9!3lD%!4g2NJ,~> i;Wi=4o>9\5inO9!3lD%!4g2NJ,~> iVrr@6Mpfa39$G-!3lD%!4g2NJ,~> iVrr@6Mpfa39$G-!3lD%!4g2NJ,~> iVrr@6Mpfa39$G-!3lD%!4g2NJ,~> ir9&B8,N>f1>eQ#!3lD%!4g2NJ,~> ir9&B8,N>f1>eQ#!3lD%!4g2NJ,~> ir9&B8,N>f1>eQ#!3lD%!4g2NJ,~> j8T/E9Debj0&;rq!3lD%!4g2NJ,~> j8T/E9Debj0&;rq!3lD%!4g2NJ,~> j8T/E9Debj0&;rq!3lD%!4g2NJ,~> jSo8H:](1n-JFje!3lD%!4g2NJ,~> jSo8H:](1n-JFje!3lD%!4g2NJ,~> jSo8H:](1n-JFje!3lD%!4g2NJ,~> jo5AK jo5AK jo5AK k5PJN>5S@$*7U;S!3lD%!4g2NJ,~> k5PJN>5S@$*7U;S!3lD%!4g2NJ,~> k5PJN>5S@$*7U;S!3lD%!4g2NJ,~> kPkSQ@/L!*(=AEI!3lD%!4g2NJ,~> kPkSQ@/L!*(=AEI!3lD%!4g2NJ,~> kPkSQ@/L!*(=AEI!3lD%!4g2NJ,~> kl1\TB)DW0%F14 kl1\TB)DW0%F14 kl1\TB)DW0%F14 kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> kl1Y#jT#;@WW)t&r;Zi.aT$b~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcGEC!6Y6?!KCsp!!(css*t~> JcGEC!6Y6?!KCsp!!(css*t~> JcGEC!6Y6?!KCsp!!(css*t~> JcGEC!0R3[!Q_\I!!'"As*t~> JcGEC!0R3[!Q_\I!!'"As*t~> JcGEC!0R3[!Q_\I!!'"As*t~> JcGHD!VnAH!!2WNr;ZgubQ!(~> JcGHD!VnAH!!2WNr;ZgubQ!(~> JcGHD!VnAH!!2WNr;ZgubQ!(~> JcGHD!7h#J"*sqG;uH[rjimaT~> JcGHD!7h#J"*sqG;uH[rjimaT~> JcGHD!7h#J"*sqG;uH[rjimaT~> JcGHD!29>k"2+[6Vu6Sq[`nc%~> JcGHD!29>k"2+[6Vu6Sq[`nc%~> JcGHD!29>k"2+[6Vu6Sq[`nc%~> JcGKE!W>Ug!!DKcs4[DO!-$0^J,~> JcGKE!W>Ug!!DKcs4[DO!-$0^J,~> JcGKE!W>Ug!!DKcs4[DO!-$0^J,~> JcGKE!8m_T!+>g+!W+kT!!)H3s*t~> JcGKE!8m_T!+>g+!W+kT!!)H3s*t~> JcGKE!8m_T!+>g+!W+kT!!)H3s*t~> JcGKE!3c>$!3cA$!1<]b!5m(]J,~> JcGKE!3c>$!3cA$!1<]b!5m(]J,~> JcGKE!3c>$!3cA$!1<]b!5m(]J,~> JcGKE!+Ys-!8mbT!71TD!/8\tJ,~> JcGKE!+Ys-!8mbT!71TD!/8\tJ,~> JcGKE!+Ys-!8mbT!71TD!/8\tJ,~> JcGNF!9sF^!D!+errMg5rVus7p JcGNF!9sF^!D!+errMg5rVus7p JcGNF!9sF^!D!+errMg5rVus7p JcGNF!58=2!205h!/CFP!7&miJ,~> JcGNF!58=2!205h!/CFP!7&miJ,~> JcGNF!58=2!205h!/CFP!7&miJ,~> JcGNF!.+SD!7guH!6"g9!12"2J,~> JcGNF!.+SD!7guH!6"g9!12"2J,~> JcGNF!.+SD!7guH!6"g9!12"2J,~> JcGQG!:p'g!@mpBrrDKc!!+tSci8L~> JcGQG!:p'g!@mpBrrDKc!!+tSci8L~> JcGQG!:p'g!@mpBrrDKc!!+tSci8L~> JcGQG!6G*=!0I$V!-.r;!85]uJ,~> JcGQG!6G*=!0I$V!-.r;!85]uJ,~> JcGQG!6G*=!0I$V!-.r;!85]uJ,~> JcGQG!07!X!6Y-;!4Vn,!2n0CJ,~> JcGQG!07!X!6Y-;!4Vn,!2n0CJ,~> JcGQG!07!X!6Y-;!4Vn,!2n0CJ,~> JcGTH!Ve#@!!*Q#q>UHVr;Zjqrm:[q~> JcGTH!Ve#@!!*Q#q>UHVr;Zjqrm:[q~> JcGTH!Ve#@!!*Q#q>UHVr;Zjqrm:[q~> JcGTH!7UlH!.FVA!*K1"!9;H+J,~> JcGTH!7UlH!.FVA!*K1"!9;H+J,~> JcGTH!7UlH!.FVA!*K1"!9;H+J,~> JcGTH!1s,h!5A4-!35tt!4:,QJ,~> JcGTH!1s,h!5A4-!35tt!4:,QJ,~> JcGTH!1s,h!5A4-!35tt!4:,QJ,~> JcGWI!W>@`!!)?ZrrCjQ!!$c\s*t~> JcGWI!W>@`!!)?ZrrCjQ!!$c\s*t~> JcGWI!W>@`!!)?ZrrCjQ!!$c\s*t~> JcGWI!8[SR!+ts)!W5+Z!!)B5s*t~> JcGWI!8[SR!+ts)!W5+Z!!)B5s*t~> JcGWI!8[SR!+ts)!W5+Z!!)B5s*t~> JcGWI!3Q2"!4):t!1Woe!5R"^J,~> JcGWI!3Q2"!4):t!1Woe!5R"^J,~> JcGWI!3Q2"!4):t!1Woe!5R"^J,~> JcGWI!+#O'!9*VN!7C`F!.iPtJ,~> JcGWI!+#O'!9*VN!7C`F!.iPtJ,~> JcGWI!+#O'!9*VN!7C`F!.iPtJ,~> JcGZJ!9a:\!DEFbrrMj JcGZJ!9a:\!DEFbrrMj JcGZJ!9a:\!DEFbrrMj JcGZJ!4r+/!2K/c!/g^T!6imkJ,~> JcGZJ!4r+/!2K/c!/g^T!6imkJ,~> JcGZJ!4r+/!2K/c!/g^T!6imkJ,~> JcGZJ!-\;@!8$iB!64s;!0kq3J,~> JcGZJ!-\;@!8$iB!64s;!0kq3J,~> JcGZJ!-\;@!8$iB!64s;!0kq3J,~> JcG]K!:]pe!AaNCrrDQe!!+kOe,Op~> JcG]K!:]pe!AaNCrrDQe!!+kOe,Op~> JcG]K!:]pe!AaNCrrDQe!!+kOe,Op~> JcG]K!64s;!0m$R!-\;@!8#^"J,~> JcG]K!64s;!0m$R!-\;@!8#^"J,~> JcG]K!64s;!0m$R!-\;@!8#^"J,~> JcG]K!/g^T!6k!5!4r+/!2J$CJ,~> JcG]K!/g^T!6k!5!4r+/!2J$CJ,~> JcG]K!/g^T!6k!5!4r+/!2J$CJ,~> JcG`L!V[f;!!*Q$nc&UPr;Zjmrm^su~> JcG`L!V[f;!!*Q$nc&UPr;Zjmrm^su~> JcG`L!V[f;!!*Q$nc&UPr;Zjmrm^su~> JcG`L!7C`F!.jV=!+#O'!9)H-J,~> JcG`L!7C`F!.jV=!+#O'!9)H-J,~> JcG`L!7C`F!.jV=!+#O'!9)H-J,~> JcG`L!1Woe!5S('!3Q2"!4(,SJ,~> JcG`L!1Woe!5S('!3Q2"!4(,SJ,~> JcG`L!1Woe!5S('!3Q2"!4(,SJ,~> JcGcM!W5+Z!!)BSrrCmR!!$W\s*t~> JcGcM!W5+Z!!)BSrrCmR!!$W\s*t~> JcGcM!W5+Z!!)BSrrCmR!!$W\s*t~> JcGcM!8RMQ!,Cs%!W>@`!!)?8s*t~> JcGcM!8RMQ!,Cs%!W>@`!!)?8s*t~> JcGcM!8RMQ!,Cs%!W>@`!!)?8s*t~> JcGcM!35tt!4;.n!1s,h!5@"`J,~> JcGcM!35tt!4;.n!1s,h!5@"`J,~> JcGcM!35tt!4;.n!1s,h!5@"`J,~> JcGcM!*K1"!9 JcGcM!*K1"!9 JcGcM!*K1"!9 Jc>cNjo#/[;?#t_!Ve#@!!*Q#f)L7~> Jc>cNjo#/[;?#t_!Ve#@!!*Q#f)L7~> Jc>cNjo#/[;?#t_!Ve#@!!*Q#f)L7~> Jc>cN\,?:,VsF?_Nr8qXb1?TC~> Jc>cN\,?:,VsF?_Nr8qXb1?TC~> Jc>cN\,?:,VsF?_Nr8qXb1?TC~> Jc>cNEW#k;g$AY Jc>cNEW#k;g$AY Jc>cNEW#k;g$AY Jc>` Jc>` Jc>` Jc>_gr;Zhal2La0r;ZiJfDg@~> Jc>_gr;Zhal2La0r;ZiJfDg@~> Jc>_gr;Zhal2La0r;ZiJfDg@~> Jc>_)r;ZiCl2Lasr;ZhjfDg@~> Jc>_)r;ZiCl2Lasr;ZhjfDg@~> Jc>_)r;ZiCl2Lasr;ZhjfDg@~> K)YlF*<#p=(A@"m!9sF^!D!+@s*t~> K)YlF*<#p=(A@"m!9sF^!D!+@s*t~> K)YlF*<#p=(A@"m!9sF^!D!+@s*t~> K)Yhsr;ZhOkPkNlr;ZiTf`-I~> K)Yhsr;ZhOkPkNlr;ZiTf`-I~> K)Yhsr;ZhOkPkNlr;ZiTf`-I~> K)Yh K)Yh K)Yh KDtuL3;igWmcXTMhu*NT@+bL0~> KDtuL3;igWmcXTMhu*NT@+bL0~> KDtuL3;igWmcXTMhu*NT@+bL0~> KDtr*r;Zh:k5PJ\8c8Vhl.Q)e~> KDtr*r;Zh:k5PJ\8c8Vhl.Q)e~> KDtr*r;Zh:k5PJ\8c8Vhl.Q)e~> KDtqLr;Zi+jo5=Sr;Zi1g&HR~> KDtqLr;Zi+jo5=Sr;Zi1g&HR~> KDtqLr;Zi+jo5=Sr;Zi1g&HR~> K`;)P;uH[rjlQLBeboIJH.i4J~> K`;)P;uH[rjlQLBeboIJH.i4J~> K`;)P;uH[rjlQLBeboIJH.i4J~> K`;&5r;ZgujSo8V0)YbMn_4"n~> K`;&5r;ZgujSo8V0)YbMn_4"n~> K`;&5r;ZgujSo8V0)YbMn_4"n~> K`;%[r;Zhsj8T+Ar;Zi=gAc[~> K`;%[r;Zhsj8T+Ar;Zi=gAc[~> K`;%[r;Zhsj8T+Ar;Zi=gAc[~> K`;$hr;ZiPj8T,%r;ZhVgAc[~> K`;$hr;ZiPj8T,%r;ZhVgAc[~> K`;$hr;ZiPj8T,%r;ZhVgAc[~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> Q2_<[c`i7@9d3#9H(W.>rm^rWm*DnmC/#m@@sO]ek5OTEJ,~> Q2_<[c`i7@9d3#9H(W.>rm^rWm*DnmC/#m@@sO]ek5OTEJ,~> Q2_<[c`i7@9d3#9H(W.>rm^rWm*DnmC/#m@@sO]ek5OTEJ,~> RK!Bef;N'K!!6cMpY,WLr7@lSoDer)_tWHrJ,~> RK!Bef;N'K!!6cMpY,WLr7@lSoDer)_tWHrJ,~> RK!Bef;N'K!!6cMpY,WLr7@lSoDer)_tWHrJ,~> S,WQMWCQCW!CtPnrrV5[8+-EY8($Z&J,~> S,WQMWCQCW!CtPnrrV5[8+-EY8($Z&J,~> S,WQMWCQCW!CtPnrrV5[8+-EY8($Z&J,~> SGrTVl2UjRqV_ARmHOZPRelFOJ,~> SGrTVl2UjRqV_ARmHOZPRelFOJ,~> SGrTVl2UjRqV_ARmHOZPRelFOJ,~> SGrTVkl:a9qr.PTmHFTOK)>!9J,~> SGrTVkl:a9qr.PTmHFTOK)>!9J,~> SGrTVkl:a9qr.PTmHFTOK)>!9J,~> SGrTVqZ%!DHEbuaoDJCOe"\Dh!!&PJrrDH`!"0cmYh&%0r:o^/UFQ*?!1`KWJ,~> SGrTVqZ%!DHEbuaoDJCOe"\Dh!!&PJrrDH`!"0cmYh&%0r:o^/UFQ*?!1`KWJ,~> SGrTVqZ%!DHEbuaoDJCOe"\Dh!!&PJrrDH`!"0cmYh&%0r:o^/UFQ*?!1`KWJ,~> SGrTVr;ZnLbP(]1!V;]T!!(O.rrDHb!!7\op@nRfo9f@S!7^K;J,~> SGrTVr;ZnLbP(]1!V;]T!!(O.rrDHb!!7\op@nRfo9f@S!7^K;J,~> SGrTVr;ZnLbP(]1!V;]T!!(O.rrDHb!!7\op@nRfo9f@S!7^K;J,~> SGr`Z!$%Wpo)A^%qZ$Y1ro="]m/S,ukjn`R]DDR/B`@N$J,~> SGr`Z!$%Wpo)A^%qZ$Y1ro="]m/S,ukjn`R]DDR/B`@N$J,~> SGr`Z!$%Wpo)A^%qZ$Y1ro="]m/S,ukjn`R]DDR/B`@N$J,~> SGrZYT'l(I!2]Pm!8Z]8!q)ZJn,EBaqZ$WPnGe"~> SGrZYT'l(I!2]Pm!8Z]8!q)ZJn,EBaqZ$WPnGe"~> SGrZYT'l(I!2]Pm!8Z]8!q)ZJn,EBaqZ$WPnGe"~> L]7DK8,N>eYKm.Kp.,#\!3bnlJ,~> L]7DK8,N>eYKm.Kp.,#\!3bnlJ,~> L]7DK8,N>eYKm.Kp.,#\!3bnlJ,~> LAq7Rqu?_Hc2RdDqu?_HnGe"~> LAq7Rqu?_Hc2RdDqu?_HnGe"~> LAq7Rqu?_Hc2RdDqu?_HnGe"~> LAq8*qu?^mc2Rdqqu?^mnGe"~> LAq8*qu?^mc2Rdqqu?^mnGe"~> LAq8*qu?^mc2Rdqqu?^mnGe"~> LAq89qu?^Dc2Re+qu?^DnGe"~> LAq89qu?^Dc2Re+qu?^DnGe"~> LAq89qu?^Dc2Re+qu?^DnGe"~> LAq8?qu?^Lc2Re1qu?^LnGe"~> LAq8?qu?^Lc2Re1qu?^LnGe"~> LAq8?qu?^Lc2Re1qu?^LnGe"~> LAq83qu?_!c2Re%qu?_!nGe"~> LAq83qu?_!c2Re%qu?_!nGe"~> LAq83qu?_!c2Re%qu?_!nGe"~> LAq7jqu?_Pc2Rd\qu?_PnGe"~> LAq7jqu?_Pc2Rd\qu?_PnGe"~> LAq7jqu?_Pc2Rd\qu?_PnGe"~> LAq7)qu?`*c2Rcpqu?`*nGe"~> LAq7)qu?`*c2Rcpqu?`*nGe"~> LAq7)qu?`*c2Rcpqu?`*nGe"~> L]7A;qZ$WXcMmn-qZ$WXnGe"~> L]7A;qZ$WXcMmn-qZ$WXnGe"~> L]7A;qZ$WXcMmn-qZ$WXnGe"~> L]7@4qu?_ L]7@4qu?_ L]7@4qu?_ M#RJ%qZ$WHcMmmkqZ$WHn,In~> M#RJ%qZ$WHcMmmkqZ$WHn,In~> M#RJ%qZ$WHcMmmkqZ$WHn,In~> M>mVF7Jm,cL M>mVF7Jm,cL M>mVF7Jm,cL MZ3_SH2IXC2=8`i!W.0?!!+tEmf.e~> MZ3_SH2IXC2=8`i!W.0?!!+tEmf.e~> MZ3_SH2IXC2=8`i!W.0?!!+tEmf.e~> MZ3[HqZ$W=cMmm7qZ$W=mJh\~> MZ3[HqZ$W=cMmm7qZ$W=mJh\~> MZ3[HqZ$W=cMmm7qZ$W=mJh\~> MuNdcqZ$VgcMmmQqZ$Vgm/MS~> MuNdcqZ$VgcMmmQqZ$Vgm/MS~> MuNdcqZ$VgcMmmQqZ$Vgm/MS~> N;imsqZ$YHqTo0A`VTW9J,8O3J,~> N;imsqZ$YHqTo0A`VTW9J,8O3J,~> N;imsqZ$YHqTo0A`VTW9J,8O3J,~> NW0%)%K$2,Eqdo[!R;/P!!.-7li2J~> NW0%)%K$2,Eqdo[!R;/P!!.-7li2J~> NW0%)%K$2,Eqdo[!R;/P!!.-7li2J~> NrK.0(An.5C%TaO!Rqn_!!-g+lMlA~> NrK.0(An.5C%TaO!Rqn_!!-g+lMlA~> NrK.0(An.5C%TaO!Rqn_!!-g+lMlA~> O8f75,5_EA@.DSC!SAUo!!-Ktl2Q8~> O8f75,5_EA@.DSC!SAUo!!-Ktl2Q8~> O8f75,5_EA@.DSC!SAUo!!-Ktl2Q8~> OT,@9.f98I>49f;!S]+%!!-9lkl6/~> OT,@9.f98I>49f;!S]+%!!-9lkl6/~> OT,@9.f98I>49f;!S]+%!!-9lkl6/~> OoGI=1Ah+Q;shp2!T#U0!!-$ckPp&~> OoGI=1Ah+Q;shp2!T#U0!!-$ckPp&~> OoGI=1Ah+Q;shp2!T#U0!!-$ckPp&~> P5bR@2>dFT9Bsk'!T5j5!!,aXk5Tr~> P5bR@2>dFT9Bsk'!T5j5!!,aXk5Tr~> P5bR@2>dFT9Bsk'!T5j5!!,aXk5Tr~> PQ([C48]'Z7H`"s!TH3=!!,OOjo9i~> PQ([C48]'Z7H`"s!TH3=!!,OOjo9i~> PQ([C48]'Z7H`"s!TH3=!!,OOjo9i~> PlCdF4o>9\5ip>l!TZEA!!,@HjSs`~> PlCdF4o>9\5ip>l!TZEA!!,@HjSs`~> PlCdF4o>9\5ip>l!TZEA!!,@HjSs`~> Q2^mI6Mpfa39&9a!Tl`H!!,(=j8XW~> Q2^mI6Mpfa39&9a!Tl`H!!,(=j8XW~> Q2^mI6Mpfa39&9a!Tl`H!!,(=j8XW~> QN%!K8,N>f1>gFX!TuuN!!+k4ir=N~> QN%!K8,N>f1>gFX!TuuN!!+k4ir=N~> QN%!K8,N>f1>gFX!TuuN!!+k4ir=N~> Qi@*N9Debj0&=kR!U38T!!+_.iW"E~> Qi@*N9Debj0&=kR!U38T!!+_.iW"E~> Qi@*N9Debj0&=kR!U38T!!+_.iW"E~> R/[3Q:](1n-JHfG!UEPZ!!+G#i;\<~> R/[3Q:](1n-JHfG!UEPZ!!+G#i;\<~> R/[3Q:](1n-JHfG!UEPZ!!+G#i;\<~> RK! RK! RK! Rf5S@$*7W=7!Uj4i!!+(hhZ&*~> Rf5S@$*7W=7!Uj4i!!+(hhZ&*~> Rf5S@$*7W=7!Uj4i!!+(hhZ&*~> S,WNZ@/L!*(=CJ.!V'Rq!!*k_h>`!~> S,WNZ@/L!*(=CJ.!V'Rq!!*k_h>`!~> S,WNZ@/L!*(=CJ.!V'Rq!!*k_h>`!~> SGrW]B)DW0%F3<"!V9q$!!*PSh#Dm~> SGrW]B)DW0%F3<"!V9q$!!*PSh#Dm~> SGrW]B)DW0%F3<"!V9q$!!*PSh#Dm~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> SGrT,jT#;@jSo4tjT#;@nc++~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> JcE(VJ,~> %%EndData showpage %%Trailer end %%EOF %%EndDocument end PEND/F2 10/Times-Italic@0 SF([Evalutates to 2 * \(2 + 2\)])111.29 510.6 Q F0 .347(As you can see, you need to e)111 534.6 R -.25(va)-.25 G .347(luate the e).25 F .347(xpression in the most brack)-.15 F .346 (ets \214rst, then the ne)-.1 F .346(xt, and)-.15 F(so on, w)111 546.6 Q (orking you w)-.1 E(ay up)-.1 E -1.1(Yo)111 570.6 S 2.646(uc)1.1 G .146 (an e)-2.646 F -.25(va)-.25 G .147(luate code in a similar w).25 F(ay) -.1 E 2.647(,t)-.65 G .147 (reating each operation \(such as +-*/\) as functions, doing)-2.647 F .002(the most deeply nested function \214rst, then w)111 582.6 R .002 (orking up. Each e)-.1 F .002(xpression can be represented in this)-.15 F(tree, then to sho)111 594.6 Q 2.5(waw)-.25 G (hole program you can create a list of trees)-2.5 E F1 2.5 (2.9.2. Implementing)111 630.6 R(AST')2.5 E(s)-.37 E F0 .32 (As a prototype i will mak)111 646.2 R 2.821(eap)-.1 G .321 (rogram that can tak)-2.821 F 2.821(em)-.1 G .321(athematical e)-2.821 F .321(xpressions and e)-.15 F -.25(va)-.25 G .321(luate them,).25 F (and allo)111 658.2 Q(wing for functions \(in the form f\(x\)\).)-.25 E (It will do this via AST')5 E(s)-.55 E .718(This prototype tak)111 682.2 R .718(es 173 lines of code, it tak)-.1 F .718 (es a string as a cmd line ar)-.1 F .717(gument then con)-.18 F -.15(ve) -.4 G .717(rts it).15 F .177 (into an abstract syntax tree, and \214nally it e)111 694.2 R -.15(xe) -.15 G .178(cutes it. This is just a simple prototype and thus it is).15 F .171(small in scope. It can only do simple operators \(+-*/\) and req\ uires literal v)111 706.2 R .17(alues to be surrounded)-.25 F (by [] so it kno)111 718.2 Q(ws its not another e)-.25 E(xpression to e) -.15 E -.25(va)-.25 G(luate.).25 E 0 Cg EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-8-)300.17 48 Q(https://github)111 84 Q (.com/standenbo)-.4 E (y/school/tree/master/comp/lucas-standen-NEA/code/proto/ast)-.1 E (typedef struct ast_node ast_node;)111 120 Q(typedef enum op {)111 144 Q (ADD = 0,)131 156 Q(SUB = 1,)131 168 Q(MUL = 2,)131 180 Q(DIV = 3,)131 192 Q 2.5(}o)111 216 S(p;)-2.5 E(typedef struct ast_node {)111 240 Q (op operation;)131 252 Q(int realLeft;)131 264 Q(int realRight;)131 276 Q(ast_node *right;)131 288 Q(ast_node *left;)131 300 Q 2.5(}a)111 324 S (st_node;)-2.5 E(Abo)111 372 Q .335 -.15(ve i)-.15 H 2.535(st).15 G .035 (he code for the AST)-2.535 F 2.535(,i)-.74 G 2.535(ts)-2.535 G .035 (tores an operation \(which is just an inte)-2.535 F .035 (ger\), and it stores a real)-.15 F .676(left and real right v)111 384 R .675(alue, along side tw)-.25 F 3.175(oo)-.1 G .675 (ther nodes. The real v)-3.175 F .675(alues are inte)-.25 F .675 (gers, this w)-.15 F .675(ould be)-.1 F .943 (the 2 numbers in reference in the e)111 396 R .944 (xpression. The 2 nodes are a recursi)-.15 F 1.244 -.15(ve d)-.25 H .944 (ata structure, much).15 F(lik)111 408 Q 3.489(ep)-.1 G .988(utting an \ object of a class inside the de\214nition of that class itself. The) -3.489 F 3.488(ya)-.15 G .988(re used to store)-3.488 F -.25(va)111 420 S .08(lues that may still be e).25 F .08(xpressions, for e)-.15 F .081 (xample \(+ [1] \(+ [1] [1]\)\) the second part of this e)-.15 F(xpres-) -.15 E .533(sion w)111 432 R .533(ould be in the "right" v)-.1 F .533 (ariable. When code is e)-.25 F -.15(xe)-.15 G .533 (cuted I can check if "left", or "right" are).15 F .749(null and if the) 111 444 R 3.249(ya)-.15 G .749(re i kno)-3.249 F 3.249(wt)-.25 G .749 (hat i am at the lo)-3.249 F .749(west e)-.25 F .749 (xpression that is only literal v)-.15 F 3.249(alues. Then)-.25 F(I) 3.249 E(can e)111 456 Q -.15(xe)-.15 G(cute that node and w).15 E (ork my w)-.1 E(ay up the tree.)-.1 E(The e)111 492 Q -.15(xe)-.15 G (cution code can be seen here.).15 E(https://github)111 516 Q (.com/standenbo)-.4 E (y/school/tree/master/comp/lucas-standen-NEA/code/proto/ast)-.1 E(int e) 111 540 Q -.15(xe)-.15 G(c\(ast_node *e).15 E(xp\){)-.15 E(if \(e)131 552 Q(xp->left != NULL\))-.15 E -.15(ex)151 564 S(p->realLeft = e).15 E -.15(xe)-.15 G(c\(e).15 E(xp->left\);)-.15 E(if \(e)131 576 Q (xp->right != NULL\))-.15 E -.15(ex)151 588 S(p->realRight = e).15 E -.15(xe)-.15 G(c\(e).15 E(xp->right\);)-.15 E(if \(e)131 612 Q (xp->operation == ADD\))-.15 E(return e)151 624 Q(xp->realLeft+ e)-.15 E (xp->realRight;)-.15 E(if \(e)131 636 Q(xp->operation == SUB\))-.15 E (return e)151 648 Q(xp->realLeft - e)-.15 E(xp->realRight;)-.15 E (if \(e)131 660 Q(xp->operation == MUL\))-.15 E(return e)151 672 Q (xp->realLeft * e)-.15 E(xp->realRight;)-.15 E(if \(e)131 684 Q (xp->operation == DIV\))-.15 E(return e)151 696 Q(xp->realLeft/ e)-.15 E (xp->realRight;)-.15 E(return 0;)136 720 Q 0 Cg EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-9-)300.17 48 Q(})111 84 Q .13(This code will e) 111 108 R -.15(xe)-.15 G .13(cute the operation, unless there is a deep\ er node, if there is a deeper node, then).15 F(it e)111 120 Q -.15(xe) -.15 G (cutes it, and places the result in the right or left spot respecti).15 E -.15(ve)-.25 G(ly).15 E(Here is an e)111 144 Q (xample input and output:)-.15 E (./ast "\(+ \(- [3] [1]\) \(- [3] [1]\)\)")113.5 168 Q(4)113.5 192 Q (Note the [] used to tell the program where the literal v)111 216 Q (alues are.)-.25 E(Ov)111 240 Q .447(erall this w)-.15 F .448 (as a relati)-.1 F -.15(ve)-.25 G .448(ly successful prototype, ho).15 F (we)-.25 E -.15(ve)-.25 G 2.948(ri).15 G 2.948(ti)-2.948 G(sn')-2.948 E 2.948(tf)-.18 G .448(ully functional as a language)-2.948 F (it has \214t the design.)111 252 Q 1.014 (The rest of the code is the process of con)111 276 R -.15(ve)-.4 G 1.014(rting the string input to literal v).15 F 1.014 (alues and inserting)-.25 F(them into the AST)111 288 Q/F1 10 /Times-Bold@0 SF 2.5(2.9.3. F)111 324 R(eedback)-.25 E F0 .656(From my \ \214rst Client \(Amy C\), she said that putting the numbers inside squa\ re brack)111 339.6 R .657(ets w)-.1 F .657(as in-)-.1 F(con)111 351.6 Q -.15(ve)-.4 G .408(nient and anno).15 F .408(ying and it w)-.1 F .407 (ould be better if the numbers were separated by spaces instead)-.1 F (of separate square brack)111 363.6 Q(et surrounded literals.)-.1 E .549 (As this is a prototype I w)111 387.6 R(on')-.1 E 3.049<748c>-.18 G 3.049(xt)-3.049 G .549(his issue, ho)-3.049 F(we)-.25 E -.15(ve)-.25 G 3.049(ri).15 G 3.049(nt)-3.049 G .549 (he actual language this is a needed fea-)-3.049 F (ture that I will be implementing.)111 399.6 Q F1 2.5(2.10. Objecti)111 435.6 R -.1(ve)-.1 G(s).1 E 2.5(2.10.1. An)111 459.6 R(inter)2.5 E(pr) -.1 E(eter f)-.18 E(or the Zippy language)-.25 E 2.5(2.10.1.1. A)111 483.6 R(lisp lik)2.5 E 2.5(es)-.1 G(yntax)-2.5 E F0 (This is to ensure the language can be parsed quickly)111 499.2 Q 2.5 (,a)-.65 G(nd is easy to write.)-2.5 E F1 2.5(2.10.1.2. A)111 523.2 R (po)2.5 E(werful abstract syntax tr)-.1 E(ee)-.18 E F0 .16 (That the programmer can use to deb)111 538.8 R .159 (ug their code, and to allo)-.2 F 2.659(wf)-.25 G .159(or easy e)-2.659 F(xtensibility)-.15 E 2.659(,t)-.65 G .159(he full tree)-2.659 F .062 (should be a link)111 550.8 R .062(ed list of AST')-.1 F 2.562(se)-.55 G .063(ach on being its o)-2.562 F .063(wn e)-.25 F .063 (xpression, a function will mak)-.15 F 2.563(eal)-.1 G .063(ink be-) -2.563 F(tween 2 nodes in the link)111 562.8 Q(ed list of AST')-.1 E(s.) -.55 E F1 2.5(2.10.1.3. Immutable)111 586.8 R(by default)2.5 E F0 .277 (The core to creating a safe language is immutability)111 602.4 R 2.777 (,f)-.65 G .277(orcing this mak)-2.777 F .277 (es it easy to write safe pro-)-.1 F(grams. Ha)111 614.4 Q(ving a let k) -.2 E -.15(ey)-.1 G -.1(wo).15 G(rd to assign v).1 E (ariables immutably and a set one to assign them mutably)-.25 E F1 2.5 (2.10.1.4. Functional)111 638.4 R(language)2.5 E F0 1.366(This language\ should lean into the functional programming paradigm, taking inspirati\ on from)111 654 R(other functional languages such as lisp, and gleam.) 111 666 Q F1 2.5(2.10.1.4.1. Recursion)111 690 R F0(Zipp)111 705.6 Q 2.622(ym)-.1 G .122(ust support recursi)-2.622 F .422 -.15(ve a)-.25 H .121(lgorithms being implemented into it, this will mak).15 F 2.621(et) -.1 G .121(he AST)-2.621 F 2.621(,h)-.74 G -2.25 -.2(av e)-2.621 H (nodes linking back to parent nodes in a link)111 717.6 Q(ed list.)-.1 E 0 Cg EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-10-)297.67 48 Q/F1 10/Times-Bold@0 SF 2.5 (2.10.1.4.2. Higher)111 84 R(order functions)2.5 E F0(Zipp)111 99.6 Q 2.692(ym)-.1 G .192(ust support the usage of higher order functions, th\ is will mean the AST needs to ha)-2.692 F .493 -.15(ve a)-.2 H(n).15 E .559(unlimited depth as otherwise the limit w)111 111.6 R .559 (ould be quickly reached, it can')-.1 F 3.058(tb)-.18 G 3.058(eh)-3.058 G .558(ard-coded, it must)-3.058 F(be dynamic.)111 123.6 Q F1 2.5 (2.10.1.5. P)111 147.6 R(erf)-.2 E(ormance is k)-.25 E(ey)-.1 E F0 .583 (The interpreter must be f)111 163.2 R .584(ast and memory ef)-.1 F .584 (\214cient, the language is designed to w)-.25 F .584(ork as an alter) -.1 F(-)-.2 E(nati)111 175.2 Q .345 -.15(ve t)-.25 H 2.545(oC).15 G 2.545(,o)-2.545 G .045(ne of the f)-2.545 F .045 (astest languages of all time, the interpreter must be f)-.1 F .044 (ast, ho)-.1 F(we)-.25 E -.15(ve)-.25 G 2.544(rm).15 G(emory)-2.544 E (footprint is not as much of a requirement.)111 187.2 Q F1 2.5 (2.10.2. Standard)111 223.2 R(library f)2.5 E(or Zippy)-.25 E 2.5 (2.10.2.1. io)111 247.2 R F0(The language must ha)111 262.8 Q .3 -.15 (ve a s)-.2 H(imple to use I/O library to mak).15 E 2.5(eo)-.1 G (utputs easy)-2.5 E(.)-.65 E F1 2.5(2.10.2.2. string)111 286.8 R F0 1.168(The language should ha)111 302.4 R 1.468 -.15(ve a s)-.2 H 1.168 (ting library that pro).15 F 1.168(vides a string type, and man)-.15 F 3.668(yc)-.15 G(omple)-3.668 E 3.668(xa)-.15 G(lgo-)-3.668 E(rithms tha\ t can be applied to them \(concatenation, insertion, appending, splitti\ ng, stripping\).)111 314.4 Q F1 2.5(2.10.2.3. sorts)111 338.4 R F0 .457 (The language should ha)111 354 R .757 -.15(ve a s)-.2 H .456 (orting library that pro).15 F .456 (vides algorithms used for sorting \(lik)-.15 F 2.956(em)-.1 G(er)-2.956 E(ge)-.18 E(sort\).)111 366 Q F1 2.5(2.10.2.4. graphs)111 390 R F0 .331 (the language must ha)111 405.6 R .632 -.15(ve a g)-.2 H .332 (raph library).15 F 2.832(,t)-.65 G .332(hat allo)-2.832 F .332 (ws for easy creation and w)-.25 F .332(orking with graphs, it)-.1 F (should pro)111 417.6 Q(vide man)-.15 E 2.5(ya)-.15 G (lgorithms to help tra)-2.5 E -.15(ve)-.2 G(rse these graphs).15 E F1 2.5(2.10.3. T)111 453.6 R(ooling f)-.92 E(or the Zippy language)-.25 E 2.5(2.10.3.1. zpypkg)111 477.6 R F0(Zipp)111 493.2 Q 3.562(ym)-.1 G 1.062(ust pro)-3.562 F 1.062(vide a package manager)-.15 F 3.562(,t)-.4 G 1.061(hat allo)-3.562 F 1.061 (ws code to be shared between multiple users,)-.25 F(easily)111 505.2 Q 5(.I)-.65 G 2.5(ts)-5 G(hould sync projects via git and allo)-2.5 E 2.5 (wt)-.25 G(hem to be stored on an)-2.5 E 2.5(yg)-.15 G (it host the user lik)-2.5 E(es.)-.1 E F1 2.5(2.10.3.2. Syntax)111 529.2 R(check)2.5 E F0(Zipp)111 544.8 Q 2.774(ys)-.1 G .274(hould ha)-2.774 F .574 -.15(ve a b)-.2 H .274(uilt in syntax check)-.05 F(er)-.1 E 2.774 (,t)-.4 G .275(hat can be run independently of the interpreter)-2.774 F 2.775(,t)-.4 G(his)-2.775 E .944(means that a lot of the checking that \ interpreted languages do, can be done once by the de)111 556.8 R -.15 (ve)-.25 G(l-).15 E(oper)111 568.8 Q 3.246(,b)-.4 G .746 (efore shipping the app, as opposed to e)-3.246 F -.15(ve)-.25 G .746 (ry time the program is run, which brings do).15 F(wn)-.25 E (performance.)111 580.8 Q F1 2.5(2.10.3.3. V)111 604.8 R (im integration.)-.37 E F0(Zipp)111 620.4 Q 3.248(ys)-.1 G .748 (hould ha)-3.248 F 1.048 -.15(ve i)-.2 H(nte).15 E .748 (gration with the V)-.15 F .748 (im editor for syntax highlighting, this can be done via)-.6 F (generating an AST then colouring function calls a speci\214c colour)111 632.4 Q 2.5(,a)-.4 G(nd v)-2.5 E(ariables another)-.25 E 2.5(,e)-.4 G (tc, etc.)-2.5 E F1 2.5(2.10.4. Integration)111 656.4 R (with C, via a C API)2.5 E 2.5(2.10.4.1. C)111 680.4 R(API)2.5 E F0 -1.1 (Yo)111 696 S 2.675(us)1.1 G .175(hould be able to e)-2.675 F -.15(xe) -.15 G .175(cute a string of zipp).15 F 2.675(yc)-.1 G .176 (ode in C using a library that is link)-2.675 F .176(ed with inter)-.1 F (-)-.2 E(preter)111 708 Q 2.5(.T)-.55 G(his could allo)-2.5 E 2.5(wZ) -.25 G(ipp)-2.5 E 2.5(yt)-.1 G 2.5(ob)-2.5 G 2.5(eu)-2.5 G (sed as a con\214guration language lik)-2.5 E 2.5(eL)-.1 G(ua.)-2.5 E 0 Cg EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-11-)297.67 48 Q/F1 10/Times-Bold@0 SF 2.5 (2.11. Desirable)111 84 R(featur)2.5 E(es)-.18 E F0(If time allo)111 99.6 Q(ws I')-.25 E 2.5(dl)-.5 G(ik)-2.5 E 2.5(et)-.1 G 2.5(oa)-2.5 G (dd some of the follo)-2.5 E(wing features to \215esh out the language:) -.25 E F1 2.5(2.11.1. Raylib)111 123.6 R(support)2.5 E F0 .322 (Raylib is a po)111 139.2 R .321(werful g)-.25 F .321 (ame engine for C, ho)-.05 F(we)-.25 E -.15(ve)-.25 G 2.821(ri).15 G 2.821(th)-2.821 G .321(as been ported to most languages under the)-2.821 F .595(sun due to ho)111 151.2 R 3.095(ws)-.25 G .596 (imple it is. If I ha)-3.095 F .896 -.15(ve t)-.2 H .596 (ime, porting raylib to zipp).15 F 3.096(yw)-.1 G .596(ould mak)-3.196 F 3.096(et)-.1 G .596(he language f)-3.096 F(ar)-.1 E (more useable, as it can be use for graphics programming.)111 163.2 Q (https://www)111 187.2 Q(.raylib)-.65 E(.com/)-.4 E F1 2.5(2.11.2. LSP) 111 223.2 R F0 2.925(AL)111 238.8 S .425(SP \(language serv)-2.925 F .424(er protocall\), is used in code IDE')-.15 F 2.924(st)-.55 G 2.924 (oa)-2.924 G .424(uto complete code for you, I')-2.924 F 2.924(dl)-.5 G (ik)-2.924 E(e)-.1 E .236(one for zipp)111 250.8 R 1.536 -.65(y. A)-.1 H .236(lthough I am unsure as to ho).65 F 2.736(wt)-.25 G 2.736(ot)-2.736 G .236(ackle this. I belie)-2.736 F .536 -.15(ve a p)-.25 H .237 (rogram called treesitter).15 F(can be helpful for this.)111 262.8 Q F1 2.5(2.11.3. Netw)111 286.8 R(orking sock)-.1 E(ets)-.1 E F0 .102 (If possible I')111 302.4 R 2.602(da)-.5 G .102(lso lik)-2.602 F 2.601 (et)-.1 G 2.601(op)-2.601 G(ro)-2.601 E .101 (vide bindings for unix netw)-.15 F .101(ork sock)-.1 F .101(ets, ho)-.1 F(we)-.25 E -.15(ve)-.25 G 2.601(rt).15 G .101(his w)-2.601 F .101 (ould be v)-.1 F(ery)-.15 E(dif)111 314.4 Q .371(\214cult, as I w)-.25 F .372(ould need to allo)-.1 F 2.872(wz)-.25 G(ipp)-2.872 E 2.872(ys)-.1 G .372(tucts to be directly con)-2.872 F -.15(ve)-.4 G .372 (rted to C stucts, when e).15 F -.15(xe)-.15 G(cut-).15 E (ing ELF symbols \(P)111 326.4 Q(arts of an e)-.15 E -.15(xe)-.15 G (cuable \214le\).).15 E F1 2.5(3. Design)111 362.4 R 2.5(3.1. Language) 111 386.4 R(speci\214cation)2.5 E F0(Lik)111 402 Q 2.6(ea)-.1 G .4 -.15 (ny o)-2.6 H .1(ther programing language zipp).15 F 2.6(yn)-.1 G .1 (eeds to ha)-2.6 F .4 -.15(ve a d)-.2 H .1 (e\214ned syntax, as metioned in the ob-).15 F(jecti)111 414 Q -.15(ve) -.25 G 2.5(ss).15 G(ection of Analysis, I w)-2.5 E (ant the language to follo)-.1 E 2.5(wal)-.25 G(isp lik)-2.5 E 2.5(es) -.1 G(yntax.)-2.5 E 3.455(Ia)111 438 S .955(lso belie)-3.455 F 1.255 -.15(ve h)-.25 H .955(igher order functions should be tak).15 F .955 (en as standard and man)-.1 F 3.456(yc)-.15 G .956(ore functions will) -3.456 F(use them.)111 450 Q F1 2.5(3.1.1. Data)111 486 R(types)2.5 E 2.5(3.1.1.1. Basic)111 510 R(types)2.5 E F0(i32 - signed inte)111 525.6 Q(ger of size 32 bits)-.15 E(u32 - unsigned inte)111 549.6 Q (ger of size 32 bits)-.15 E(i64 - signed inte)111 573.6 Q (ger of size 64 bits)-.15 E(u64 - unsigned inte)111 597.6 Q (ger of size 64 bits)-.15 E(char - single ascii code)111 621.6 Q F1 2.5 (3.1.1.2. Adv)111 657.6 R(aced types)-.1 E F0 (function - a function that can be used)111 673.2 Q (struct - initilizer for an object)111 697.2 Q (obj - instace of a struct)111 721.2 Q 0 Cg EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-12-)297.67 48 Q 1.204(generic - should be a)111 84 R -.2(vo)-.2 G 1.204(ided, remo).2 F -.15(ve)-.15 G 3.704(sc).15 G 1.203(hecks for data types when inputing v)-3.704 F 1.203 (alues to functions)-.25 F(will cause man)111 96 Q 2.5(yr)-.15 G (untime errors, ho)-2.5 E(we)-.25 E -.15(ve)-.25 G 2.5(rw).15 G (hen absolutely needed it is useful)-2.5 E .007 (err - error type, can be gi)111 120 R -.15(ve)-.25 G 2.507(nt).15 G 2.507(ot)-2.507 G .007(erminate function to bring do)-2.507 F .007 (wn the program, or ha)-.25 F .308 -.15(ve i)-.2 H .008(nfo dra).15 F (wn)-.15 E(on the error)111 132 Q/F1 10/Times-Bold@0 SF 2.5 (3.1.1.3. Arrays)111 168 R F0(Arrays can be sho)111 183.6 Q 2.5(wl)-.25 G(ik)-2.5 E 2.5(es)-.1 G(o:)-2.5 E(x:type[])111 207.6 Q -.4(Wi)111 231.6 S(th x being the v).4 E(airable name, type being the type of v)-.25 E (ariable, and [] sho)-.25 E(wing its an array)-.25 E (All arrays are dynamic, represented by a link)111 255.6 Q (ed list on the back end.)-.1 E F1 2.5(3.1.1.3.1. Strings)111 279.6 R F0 (Strings, lik)111 295.2 Q 2.5(ei)-.1 G 2.5(nCa)-2.5 G (re arrays of chars)-2.5 E F1 2.5(3.1.2. Built)111 331.2 R(in functions) 2.5 E 2.5(3.1.2.1. defun)111 355.2 R F0 (\(defun a:type b:type returntype)111 370.8 Q(...)136 394.8 Q(...)136 418.8 Q(\))111 442.8 Q .398(Returns a function that tak)111 466.8 R 2.897(eAa)-.1 G .397(nd B as an ar)-2.897 F .397(gument \(\214x)-.18 F .397(ed types\), and returns a v)-.15 F .397(alue of return-)-.25 F (type.)111 478.8 Q F1 2.5(3.1.2.1.1. Err)111 502.8 R(ors)-.18 E F0 (Can systax error)111 518.4 Q(.)-.55 E F1 2.5(3.1.2.2. let)111 554.4 R F0(\(let x:type v)111 570 Q(alue\))-.25 E F1 2.5(3.1.2.2.1. Err)111 594 R(ors)-.18 E F0(Can systax error)111 609.6 Q(.)-.55 E (Creates constant x of type type to v)111 633.6 Q(alue.)-.25 E F1 2.5 (3.1.2.3. set)111 669.6 R F0(\(set x:type v)111 685.2 Q(alue\))-.25 E (Creates/recreates the v)111 709.2 Q(airable v)-.25 E(alue of x to v) -.25 E(alue.)-.25 E 0 Cg EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-13-)297.67 48 Q/F1 10/Times-Bold@0 SF 2.5 (3.1.2.3.1. Err)111 84 R(ors)-.18 E F0(Can systax error)111 99.6 Q(.) -.55 E F1 2.5(3.1.2.4. if/elif/else)111 135.6 R F0 (\(if condition function\))111 151.2 Q(\(elif condition function\))111 175.2 Q(\(else function\))111 199.2 Q(Ex)111 235.2 Q (ecutes the function pro)-.15 E(vided if the conditon is true.)-.15 E (Elif w)111 259.2 Q(orks the same, e)-.1 E -.15(xe)-.15 G (pt only if the pre).15 E(vious if statement is f)-.25 E(alse.)-.1 E (Else e)111 283.2 Q -.15(xe)-.15 G(cutes only if all pre).15 E (vious statements were f)-.25 E(alse.)-.1 E F1 2.5(3.1.2.4.1. Err)111 307.2 R(ors)-.18 E F0(Can systax error)111 322.8 Q(.)-.55 E F1 2.5 (3.1.2.5. f)111 358.8 R(or)-.25 E F0(\(for i conditon function\))111 374.4 Q (Runs the function while the condition is true, and increments i e)111 398.4 Q -.15(ve)-.25 G(ry time the function is called.).15 E F1 2.5 (3.1.2.5.1. Err)111 422.4 R(ors)-.18 E F0(Can systax error)111 438 Q(.) -.55 E F1 2.5(3.1.2.6. while)111 486 R F0(\(while condition function\)) 111 501.6 Q(Runs the function if the condition is true, k)111 525.6 Q (eeps running until it is f)-.1 E(alse.)-.1 E F1 2.5(3.1.2.6.1. Err)111 549.6 R(ors)-.18 E F0(Can systax error)111 565.2 Q(.)-.55 E F1 2.5 (3.1.2.7. symbol)111 601.2 R F0 (\(symbol a:type b:type c:type returntype name:char[] elf:char[]\))111 616.8 Q .763(Returns a function that tak)111 640.8 R .763(es ar)-.1 F .763(guments A, B, C \(of \214x)-.18 F .764 (ed types\), the name of the function, and)-.15 F (the \214le path of the elf.)111 652.8 Q F1 2.5(3.1.2.7.1. Err)111 676.8 R(ors)-.18 E F0(Can systax error)111 692.4 Q(.)-.55 E(Can thro)111 716.4 Q 2.5(wo)-.25 G(ther errors, via returning an err type)-2.5 E 0 Cg EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-14-)297.67 48 Q/F1 10/Times-Bold@0 SF 2.5 (3.1.2.8. struct)111 84 R F0(\(struct)111 99.6 Q(_a:type)136 123.6 Q (b:type)136 147.6 Q(c:type)136 171.6 Q(\))111 195.6 Q .558 (Returns a struct \(a class\) that can ha)111 219.6 R .857 -.15(ve a d) -.2 H(ef).15 E .557(ault v)-.1 F .557(alue, the def)-.25 F .557(ault v) -.1 F .557(alue can be set using an un-)-.25 F 1.136 (derscore infront of the v)111 231.6 R 1.137(ariable name. A def)-.25 F 1.137(ault v)-.1 F 1.137(airable will be returned if you use the struct) -.25 F(without speci\214ng a v)111 243.6 Q(alue.)-.25 E (Use let to asign it a name:)111 267.6 Q(\(let a:struct \(struct)111 291.6 Q(...)136 315.6 Q(...)136 339.6 Q(...)136 363.6 Q(\))136 387.6 Q (\))111 411.6 Q(Then to instatiate the stuct use the follo)111 435.6 Q (wing:)-.25 E(\(let a:obj struct\))111 459.6 Q(The struct ar)111 483.6 Q (gument needs to ha)-.18 E .3 -.15(ve b)-.2 H(een set prior).15 E(.)-.55 E 1.6 -.8(To r)111 507.6 T(ead from the struct use this:).8 E (\(if \(= a.num b)111 531.6 Q(.num\) .... \))-.4 E(Or if you ha)111 555.6 Q .3 -.15(ve s)-.2 H(et a def).15 E(ault v)-.1 E (alue you can use the follo)-.25 E(wing)-.25 E(\(if \(= a b)111 579.6 Q (.num\) .... \))-.4 E F1 2.5(3.1.2.8.1. Err)111 603.6 R(ors)-.18 E F0 (Can systax error)111 619.2 Q(.)-.55 E F1 2.5(3.1.2.9. Arithmetic)111 655.2 R(operations)2.5 E F0(Simple operations)111 670.8 Q (\(+ a b\) returns a + b)111 694.8 Q(\(- a b\) returns a - b)111 718.8 Q 0 Cg EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-15-)297.67 48 Q(\(* a b\) returns a * b)111 84 Q(\(/ a b\) returns a / b)111 108 Q/F1 10/Times-Bold@0 SF 2.5 (3.1.2.10. Comparison)111 144 R F0(All return true or f)111 159.6 Q (alse)-.1 E(\(= a b\) returns if a = b)111 183.6 Q (\(!= a b\) returns if a != b)111 207.6 Q(\(> a b\) returns if a > b)111 231.6 Q(\(< a b\) returns if a < b)111 255.6 Q (\(=> a b\) returns if a => b)111 279.6 Q(\(=< a b\) returns if a =< b) 111 303.6 Q F1 2.5(3.1.2.10.1. Err)111 327.6 R(ors)-.18 E F0 (Can systax error)111 343.2 Q(.)-.55 E F1 2.5(3.1.2.11. cast)111 379.2 R F0(\(cast a:generic type:char[]\))111 394.8 Q(returns a b)111 418.8 Q (ut cast to data type type, which is a string.)-.2 E F1 2.5 (3.1.2.11.1. Err)111 442.8 R(ors)-.18 E F0(Can systax error)111 458.4 Q (.)-.55 E(Can thro)111 482.4 Q 2.5(we)-.25 G(rrors, via err)-2.5 E 2.5 (,i)-.4 G 2.5(fv)-2.5 G(alue can')-2.75 E 2.5(tb)-.18 G 2.5(ec)-2.5 G (asted to gi)-2.5 E -.15(ve)-.25 G 2.5(nt).15 G(ype)-2.5 E F1 2.5 (3.1.2.12. typeof)111 518.4 R F0(\(typeof a:generic\))111 534 Q (returns in a string the type that v)111 558 Q(ariable A is.)-.25 E F1 2.5(3.1.2.12.1. Err)111 582 R(ors)-.18 E F0(Can systax error)111 597.6 Q (.)-.55 E F1 2.5(3.1.2.13. terminate)111 633.6 R F0 (\(terminate error:error\))111 649.2 Q (Kills the program at the current point, frees all related memory)111 673.2 Q 2.5(,p)-.65 G(rints error info stored in error)-2.5 E(.)-.55 E F1 2.5(3.1.2.13.1. Err)111 697.2 R(ors)-.18 E F0(Can systax error)111 712.8 Q(.)-.55 E 0 Cg EP %%Page: 16 16 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF(-16-)297.67 48 Q/F1 10/Times-Bold@0 SF 2.5 (3.1.2.14. r)111 84 R(etur)-.18 E(n)-.15 E F0(\(return a:type\))111 99.6 Q(Must be used in defun, returns "a" from the function, "a" must be of \ the functions return type.)111 123.6 Q F1 2.5(3.1.2.14.1. Err)111 147.6 R(ors)-.18 E F0(Can systax error)111 163.2 Q(.)-.55 E(Can thro)111 187.2 Q 2.5(we)-.25 G(rros via err)-2.5 E(.)-.55 E F1 2.5(4. T)111 223.2 R (echnical Solution)-.92 E 2.5(5. T)111 247.2 R(esting)-.92 E 2.5(6. Ev) 111 271.2 R(aluation)-.1 E 0 Cg EP %%Trailer end %%EOF