function String.new 0 push constant 3 call Memory.alloc 1 pop pointer 0 push argument 0 push constant 0 gt if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push argument 0 call Array.new 1 pop this 2 label IF_FALSE0 push argument 0 pop this 0 push constant 0 pop this 1 push pointer 0 return function String.dispose 0 push argument 0 pop pointer 0 push this 0 push constant 0 gt if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push this 2 call Array.dispose 1 pop temp 0 label IF_FALSE0 push pointer 0 call Memory.deAlloc 1 pop temp 0 push constant 0 return function String.length 0 push argument 0 pop pointer 0 push this 1 return function String.charAt 0 push argument 0 pop pointer 0 push argument 1 push constant 0 lt push argument 1 push constant 1 add push this 1 gt or if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 34 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 99 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 65 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 120 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 102 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 5 call Sys.error 1 pop temp 0 label IF_FALSE0 push argument 1 push this 2 add pop pointer 1 push that 0 return function String.setCharAt 0 push argument 0 pop pointer 0 push argument 1 push constant 0 lt push argument 1 push constant 1 add push this 1 gt or if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 37 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 67 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 65 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 120 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 102 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 5 call Sys.error 1 pop temp 0 label IF_FALSE0 push argument 1 push this 2 add push argument 2 pop temp 0 pop pointer 1 push temp 0 pop that 0 push constant 0 return function String.appendChar 0 push argument 0 pop pointer 0 push this 1 push this 0 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 38 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 112 call String.appendChar 2 push constant 112 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 67 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 99 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 109 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 120 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 108 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 5 call Sys.error 1 pop temp 0 label IF_FALSE0 push this 1 push this 2 add push argument 1 pop temp 0 pop pointer 1 push temp 0 pop that 0 push this 1 push constant 1 add pop this 1 push pointer 0 return function String.eraseLastChar 0 push argument 0 pop pointer 0 push this 1 push constant 0 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 46 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 76 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 67 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 108 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 121 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 109 call String.appendChar 2 push constant 112 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 121 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 5 call Sys.error 1 pop temp 0 label IF_FALSE0 push this 1 push constant 1 sub pop this 1 push constant 0 return function String.intValue 5 push argument 0 pop pointer 0 push constant 0 pop local 0 push constant 0 push this 2 add pop pointer 1 push that 0 push constant 45 eq if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 1 pop local 1 push constant 0 not pop local 3 goto IF_END0 label IF_FALSE0 push constant 0 pop local 1 push constant 0 pop local 3 label IF_END0 push local 1 push this 2 add pop pointer 1 push that 0 pop local 2 push local 2 push constant 48 lt push local 2 push constant 57 gt or if-goto IF_TRUE1 goto IF_FALSE1 label IF_TRUE1 push constant 3 call Sys.error 1 pop temp 0 push constant 46 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 86 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 108 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 112 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 100 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 117 call String.appendChar 2 push constant 109 call String.appendChar 2 push constant 98 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 label IF_FALSE1 push constant 0 pop local 4 label WHILE_EXP0 push local 4 not push local 1 push this 1 lt and not if-goto WHILE_END0 push local 1 push this 2 add pop pointer 1 push that 0 pop local 2 push local 2 push constant 47 gt push local 2 push constant 58 lt and if-goto IF_TRUE2 goto IF_FALSE2 label IF_TRUE2 push local 0 push constant 10 call Math.multiply 2 push local 2 push constant 48 sub add pop local 0 goto IF_END2 label IF_FALSE2 push constant 0 not pop local 4 label IF_END2 push local 1 push constant 1 add pop local 1 goto WHILE_EXP0 label WHILE_END0 push local 3 if-goto IF_TRUE3 goto IF_FALSE3 label IF_TRUE3 push local 0 neg return goto IF_END3 label IF_FALSE3 push local 0 return label IF_END3 function String.setInt 4 push argument 0 pop pointer 0 push argument 1 push constant 0 lt if-goto IF_TRUE0 goto IF_FALSE0 label IF_TRUE0 push constant 0 not pop local 3 push constant 2 pop this 1 goto IF_END0 label IF_FALSE0 push constant 0 pop local 3 push constant 1 pop this 1 label IF_END0 push argument 1 call Math.abs 1 pop local 0 push local 0 push constant 9999 gt if-goto IF_TRUE1 goto IF_FALSE1 label IF_TRUE1 push this 1 push constant 4 add pop this 1 goto IF_END1 label IF_FALSE1 push local 0 push constant 999 gt if-goto IF_TRUE2 goto IF_FALSE2 label IF_TRUE2 push this 1 push constant 3 add pop this 1 goto IF_END2 label IF_FALSE2 push local 0 push constant 99 gt if-goto IF_TRUE3 goto IF_FALSE3 label IF_TRUE3 push this 1 push constant 2 add pop this 1 goto IF_END3 label IF_FALSE3 push local 0 push constant 9 gt if-goto IF_TRUE4 goto IF_FALSE4 label IF_TRUE4 push this 1 push constant 1 add pop this 1 label IF_FALSE4 label IF_END3 label IF_END2 label IF_END1 push this 1 push this 0 gt if-goto IF_TRUE5 goto IF_FALSE5 label IF_TRUE5 push constant 45 call String.new 1 push constant 83 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 46 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 73 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 58 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 118 call String.appendChar 2 push constant 97 call String.appendChar 2 push constant 108 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 98 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 102 call String.appendChar 2 push constant 111 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 104 call String.appendChar 2 push constant 101 call String.appendChar 2 push constant 32 call String.appendChar 2 push constant 115 call String.appendChar 2 push constant 116 call String.appendChar 2 push constant 114 call String.appendChar 2 push constant 105 call String.appendChar 2 push constant 110 call String.appendChar 2 push constant 103 call String.appendChar 2 push constant 33 call String.appendChar 2 call Output.printString 1 pop temp 0 push constant 5 call Sys.error 1 pop temp 0 label IF_FALSE5 push local 0 push constant 0 eq if-goto IF_TRUE6 goto IF_FALSE6 label IF_TRUE6 push pointer 0 push constant 0 push constant 48 call String.setCharAt 3 pop temp 0 push constant 0 return label IF_FALSE6 push local 3 if-goto IF_TRUE7 goto IF_FALSE7 label IF_TRUE7 push pointer 0 push constant 0 push constant 45 call String.setCharAt 3 pop temp 0 label IF_FALSE7 push this 1 push constant 1 sub pop local 1 label WHILE_EXP0 push local 0 push constant 0 gt not if-goto WHILE_END0 push local 0 push constant 10 call Math.divide 2 pop local 2 push pointer 0 push local 1 push local 0 push local 2 push constant 10 call Math.multiply 2 sub push constant 48 add call String.setCharAt 3 pop temp 0 push local 2 pop local 0 push local 1 push constant 1 sub pop local 1 goto WHILE_EXP0 label WHILE_END0 push constant 0 return function String.newLine 0 push constant 128 return function String.backSpace 0 push constant 129 return function String.doubleQuote 0 push constant 34 return